Huśtawka!

Już wiemy, do czego zmierzamy w tym semestrze – będziemy stabilizować huśtawkę! Projekt bardzo ciekawy i w zasięgu ręki każdego początkującego hobbysty. O co chodzi? Na huśtawce poruszać się będzie kulka (różowa na rysunku poniżej), która zmieniając swoje położenie przechyli huśtawkę w inne położenie. Ale jest też silniczek (zielony), którym będzie sterować Arduino UNO (pomarańczowe) tak, by kulka nie wypadła z huśtawki i pozostawała w środku (położeniu równowagi).

Układ: huśtawka (niebieska), kulka(różowa), silniczek (zielony), Arduino UNO (pomarańczowy).

Aby to wszystko zrealizować potrzebujemy:

  • zrobić konstrukcję huśtawki (sklejka? profile Maker Beam?)
  • musimy określać położenie kulki na huśtawce – wykorzystamy poznany tydzień temu czujnik odległości HC-SR04
  • przechylanie huśtawki: mikroserwo powinno wystarczyć, ale jeśli okaże się za słabe – to mamy też serwa.

Huśtawka z pleksi rury.

Pan Stanisław tak się zaangażował w projekt, że zakupił już element konstrukcyjny huśtawki – rurę (ładna! długa: 50cm, ale gruba, bo ścianki 3mm, no i droga…). Pomysł fajny, ale czy czujnik odległości na końcu takiej rury będzie dobrze wskazywać pomiary odległości? W końcu emituje on dźwięki, które będą „buszować” w zamkniętej rurze i kolejne pomiary mogą być bezsensowne. Dlatego trzeba było to sprawdzić.

Testowanie czujnika w zamkniętej rurze – działa!

Na nasze szczęście okazało się, że (o dziwo!) czujnik działa poprawnie! Sprawdziliśmy to z wykorzystaniem metrówek.

Silniczek – a dokładniej mikro serwo.

Proponuję wykorzystać mikro serwo do poruszania ramieniem huśtawki. Jest to silnik sterowany sygnałem PWM, który możemy ustawić w określonej pozycji: od 0 (zera) do 180 stopni. Do obracającego się orczyka przyczepimy element łączący go z ramieniem huśtawki.

Podłączenie: czarny przewód to GND, czerwony to zasilanie (5V), a pomarańczowy – sterowanie. Obrazek z https://www.makerguides.com/servo-arduino-tutorial/ (polecam zajrzeć).

W tym konkretnym przypadku możemy podłączyć zasilanie serwa bezpośrednio do płytki Arduino UNO, bo pojedyncze serwo pożera jedynie ~200mA prądu (nie możemy przekraczać 500mA, bo uszkodzimy Arduino lub podłączonego z nim kompa – a tego nie chcemy).

Programowanie polega na użyciu biblioteki Servo.h i znajdującego się w niej obiektu Servo. Tworzymy zmienną (u nas silnik) i przypisujemy jej sterowanie do pinu 9 – metoda attach(). Następnie ustawiamy ramię silnika na określoną pozycję – tutaj 5, 90 i 175 stopni – za pomocą metody write(). Celowo pomijam skrajne wartości 0 i 180 stopni, bo to nadwyręża serwa.

#include <Servo.h>
Servo silnik;

void setup() {
  silnik.attach(9);
}

void loop() {
    silnik.write(5);
    delay(2000);
  
    silnik.write(90);
    delay(2000);

    silnik.write(175);
    delay(2000);
}

Zwracam także uwagę, że po ustawieniu serwa na konkretną wartość należy dać mu czas na realizację tego polecenia – serwa działają powoli! Nasze MG90S obraca się o 60 stopni w 0,1 sekundy – dlatego 2s opóźnienie przed kolejnym ustawieniem to rozsądna wartość.

Budowa konstrukcji.

I tu zaczynają się schody… Trzeba się trochę pobrudzić 😉 Może sklejka lub podobny, miękki materiał – łatwy do obróbki bez zaawansowanego osprzętu? A może wspomniane profile Maker Beam?

Tymczasowe dwie kolumny z osią pomiędzy, do której przyczepiona jest połowa trzymaka do rury.

Jeszcze zobaczymy co zrobimy, ale najpierw trzeba przemyśleć połączenie silniczka z ramieniem huśtawki. Są różne koncepcje. Poniżej wynik prac przy tablicy….

Burza mózgów – schematy połączenia silnika z ramieniem huśtawki.

Trzymak do rury.

Aby złapać rurę (huśtawkę) i przytwierdzić ją do stabilnej konstrukcji – trzeba mieć odpowiedni uchwyt. Pewnie można poszukać w jakimś popularnym sklepie z materiałami budowlanymi, ale postanowiłem lekko pomóc i zaprojektowałem na szybko taki uchwyt – poniżej zdjęcie jego połówki, bo właśnie dwie takie części tworzą całość. Uchwyt ma sporo nadmiarowych „uniwersalnych” otworów – tak na przyszłość, aby nie tylko pełnił funkcję trzymania rury i obracania jej, ale i mechanizmu połączenia z silniczkiem… Powinno się przydać.

3D model trzymaka – uchwytu (jedna połowa, druga identyczna zamyka całość).
Wydrukowany trzymak w testach – na drewnianej prowadnicy/wierzy.

Jak widać sporo się działo… a to dopiero początek tego projektu 😉

(c) K.G. 2021

Posted in FiBot and tagged , , , , .