poniedziałek, 8 maja 2017

Budowa i programowanie Lixbot Racer - część II

Dzisiaj opiszę jak dodać kolejne elementy do robota: serwo oraz ultradźwiękowy czujnik odległości HC-SR04 i w końcu napisać pierwszy program, który uruchomi robota Lixbot Racer.

Pierwszą czynnością jaką zrobimy, to wycentrujemy sobie położenie serwa i przykręcimy wkręt mocujący na trwale serwo.

Do sterowania serwem wykorzystujemy bibliotekę Servo, którą musimy najpierw dodać do programu Arduino.

Wymagane biblioteki przy niektórych projektach dodajemy wybierając w górnym menu programu Arduino: Szkic -> Dołącz bibliotekę -> Zarządzaj bibliotekami.


W filtrze wyszukiwania wpisujemy Servo i instalujemy wyszukaną bibliotekę Servo.


Serwo posiada 3 przewody:
- brązowy - GND - masa (-)
- czerwony - zasilanie (+)
- pomarańczowy - sygnał

Podłączamy je do pinu 5 zgodnie ze schematem jak niżej, podłączając:
- brązowy - G
- czerwony - V
- pomarańczowy - S


Teraz już możemy wgrać program, który ustawi serwo w pozycji środkowej, do pobrania tu -> Link

Po wgraniu do Arduino Uno serwo ustawi się w pozycji centralnej i możemy przykręcić wkręt mocujący trwale serwo do podstawy.


Kod programu jest z komentarzami objaśniającymi komendy.
int servoPin = 5;
- definiuje nam numer pinu podłączenia do Arduino
servo.write(90);
- ustawia serwo w zadanej pozycji, możemy wpisać wartości 0 do 180 stopni

Przykładowy program, który będzie obracał serwem w zakresie 0 do 90 do 180 z powrotem do 90 i znowu do 0 stopni, jest do pobrania tu -> Link

Widać to na poniższym filmie.


Lepszym rozwiązaniem do robot, będzie zastosowanie pętli:

for(pozycja = 0; pozycja < 180; pozycja++)


gdzie serwo będzie przesuwane o jeden stopień w zakresie od 0 do 180 stopni

W pętli loop podajemy czas w milisekundach przesuwu serwa do zadanej pozycji

delay(15);

Prędkość obrotu będzie zależeć od zdefiniowanego czasu, im czas krótszy, to serwo będzie się obracać szybciej.

Przykładowy kod programu jest do pobrania tu -> Link

Po wgraniu serwo będzie się płynnie przesuwało w zakresie od 0 do 180 stopni i z powrotem, co widać na poniższym filmie.


Teraz możemy zająć się ultradźwiękowym czujnikiem pomiaru odległości HC-SR04.

Czujnik HC-SR04 posiada, takie wejścia/wyjścia:


Czujnik HC-SR04 działa w zakresie 2 do 200 cm i wymaga zasilania 5V, działa on na zasadzie, takiej, że po podaniu sygnału wysokiego na pin Trig wysyłana jest fala dźwiękowa o częstotliwości 40 kHz, odbija się od przeszkody i jest odczytywana przez odbiornik, a odczyt przesyłany jest na pin Echo.

Więcej o czujniku HC-SR04 można poczytać na kursie Forbota -> Link

Czujnik HC-SR04 podłączamy do w następujący sposób:

Trig - pin 3
Echo - pin 4
Vcc - zasilanie +5V
GND - masa

Schemat podłączenia czujnika HC-SR04


Po podłączeniu czujnika HC-SR04 możemy wgrać prosty kod programu, który zmierzy odległość od czujnika od przeszkody, do pobrania tu -> Link

Po wgraniu do Arduino Uno, włączamy monitor portu szeregowego -> Narzędzia -> Monitor portu szeregowego i ustawiamy prędkość na 9600, jak pokazano niżej.


W monitorze portu szeregowego wyświetli się odległość w cm od czujnika HC-SR04 do przeszkody.

Ciąg dalszy nastąpi, gdy znajdę czas na kontynuowanie projektu.





5 komentarzy:

  1. kiedy kolejna część? Zrobiłem to co napisałeś w 1 i 2 części i teraz nie wiem co dalej ( mam 12 lat)

    OdpowiedzUsuń
    Odpowiedzi
    1. Ja nie mam czasu na dalsze prace nad robotem. Sa fajne kursy budowy na Forbocie.

      Usuń
  2. http://forbot.pl/blog/artykuly/roboty/kurs-budowy-robotow-1-wstep-spis-tresci-id18935

    OdpowiedzUsuń
  3. http://forbot.pl/blog/artykuly/roboty/kurs-budowy-robotow-1-wstep-spis-tresci-id18935

    OdpowiedzUsuń
  4. Świetnie napisane. Pozdrawiam serdecznie.

    OdpowiedzUsuń