Sterowanie robotem z Arduino Uno
Twój pojazd może być sterowany mikrokontrolerem Arduino. Roboty zdalnie sterowane przez użytkowników są ciekawe, ale nie są one w stanie samodzielnie dokonywać interakcji z otoczeniem! Dzięki płytce Arduino (zobacz rysunek 5.15) Twój pojazd stanie się trochę bardziej niezależny. Do Arduino możesz podłączyć czujnik, dzięki któremu robot będzie unikał zderzenia ze ścianą.
Lista materiałów
Do zainstalowania Arduino na zbudowanym wcześniej pojeździe będziesz potrzebował następujących elementów (zobacz rysunek 5.16):
- Arduino Uno — mikrokontroler znajdziesz np. w katalogu firmy Adafruit pod numerem 50.
- Przewód USB — przedmiot o numerze 900 w katalogu firmy Adafruit.
- Płytka pozwalająca na montaż Arduino — jeżeli masz dostęp do laserowej wyrzynarki, to skorzystaj z następującego projektu: http://www.thingiverse.com/thing:19265. Gotową płytkę możesz zamówić na stronie http://wayneandlayne.com/bricktronics.
- Shield Motor firmy Adafruit — przedmiot o numerze 1438 w katalogu firmy Adafruit.
- Zestaw przewodów połączeniowych — przedmiot o numerze 1311 w katalogu firmy Adafruit.
- Bateria 9 V wraz z klipsem — przedmiot o numerze 80 w katalogu firmy Adafruit.
- Koszyk na 6 baterii AA — przedmiot o numerze 216223 w katalogu firmy Jameco. Koszyk możesz zainstalować na płytce montażowej firmy Makeblock (przedmiot numer 14400 w katalogu firmy Makeblock).
- Śruby M3 o długości 2,5 cm oraz nakrętki — możesz również zastosować nylonowe kołki o długości 13 mm (takie jak te o kodzie PRT-10461 w katalogu firmy SparkFun — nie pokazano ich na rysunku 5.16).
RYSUNEK 5.15. Mikrokontrolery Arduino nadają się świetnie do sterowania pracą robota
RYSUNEK 5.16. Komponenty niezbędne do zainstalowania Arduino na wykonanym wcześniej pojeździe
Budowa krok po kroku
Jeżeli skompletowałeś już wszystkie niezbędne komponenty, to możesz przystąpić do pracy! Wykonaj następujące czynności:
KROK 1. Przyczep Arduino do płytki montażowej, a następnie przykręć płytkę do podwozia robota (zobacz rysunek
5.17). Skorzystaj przy tym ze śrub i nakrętek M3, a także nylonowych kołków, o ile je posiadasz.
RYSUNEK 5.17. Przykręć Arduino wraz z płytką montażową do podwozia
KROK 2. Załóż płytkę rozszerzeń (shielda) na wierzch płytki Arduino. Styki znajdujące się na spodniej stronie shielda powinny znaleźć się w gniazdach znajdujących się na płytce Arduino (zobacz rysunek 5.18).
RYSUNEK 5.18. Załóż shielda na płytkę Arduino
KROK 3. Zainstaluj baterię 9 V wraz z klipsem. Baterię przyczep do podwozia za pomocą opaski zaciskowej (zobacz rysunek 5.19). Na rysunku 5.19 baterię podłączono już do płytki Arduino, ale na razie jeszcze jej nie podłączaj. Bateria dostarczy prąd niezbędny do działania Arduino.
RYSUNEK 5.19. Przyczep baterię do podwozia, ale nie podłączaj jej jeszcze do płytki Arduino
KROK 4. Koszyk na 6 baterii AA przykręć do płytki montażowej za pomocą komponentów dołączonych do płytki. Przykręć płytkę do podwozia za pomocą czterech śrub i nakrętek M3, a także plastikowych kołków (o ile je posiadasz). Podłącz przewody koszyka baterii do złącz zasilania shielda sterującego pracą silników (zobacz rysunek 5.20).
RYSUNEK 5.20. Zainstaluj koszyk z bateriami zasilającymi silniki
KROK 5. Podłącz przewody silników do portów M1 i M4 płytki sterownika silników (zobacz rysunek 5.21).
RYSUNEK 5.21. Podłącz przewody silników do właściwych złącz
Programowanie Arduino
Teraz czas zaprogramować Arduino. To chyba proste? Tak, jest to proste zadanie, o ile wykonywałeś je już wcześniej. Jeżeli nie pracowałeś nigdy z platformą Arduino, to musisz się z nią zapoznać. Oto garść podstawowych informacji na temat Arduino:
- Arduino jest otwartym mikrokontrolerem zaprojektowanym tak, aby ułatwić pracę hobbystom i osobom, które nie miały wcześniej kontaktu z mikrokontrolerami.
- Arduino można kupić wszędzie. Istnieją nawet automaty sprzedające te mikrokontrolery! Powinieneś kupić płytkę Arduino Uno R3 (znajdziesz ją w katalogu firmy Adafruit pod numerem 50).
- Arduino jest programowane za po????rednictwem kabla USB (znajdziesz go w katalogu firmy Adafruit pod numerem 900) i specjalnego oprogramowania zwanego zintegrowanym środowiskiem programistycznym Arduino.
Aby podłączyć Arduino do komputera, wykonaj następujące czynności.
1. Ze strony http://arduino.cc/ pobierz środowisko programistyczne. Po załadowaniu strony w przeglądarce kliknij napis Download, a następnie wybierz system operacyjny, z którego korzystasz. Strona ta jest bardzo przejrzysta i pobranie oprogramowania nie stanowi żadnego problemu.
2. Podłcz Arduino do komputera za pomocą przewodu USB, a następnie uruchom środowisko programistyczne.
3. Wejdź do menu Narzędzia, a następnie podmenu Płytka i wybierz z listy Arduino Uno.
4. W menu Plik wybierz Przykłady, a następnie z listy 01.Basic wybierz szkic o nazwie Blink. W oknie programu powinien pojawić się kod.
5. Kliknij ikoną strzałki skierowanej w prawo (Załaduj). Jeźeli wszystkie czynności wykonałeś poprawnie, to dioda znajdująca się na Twojej płytce Arduino powinna migać — włączać się na jedną sekundę, a później wyłączać na kolejną sekundę.
Teraz zainstalujmy bibliotekę płytki kontrolera silników. Czym jest biblioteka? Biblioteka jest zbiorem kodu, do którego mogą odwoływać się inne programy. Biblioteka płytki kontrolera silników zawiera róźne funkcje i definicje. Biblioteki umożliwiają tworzenie prostszych szkiców. Aby zainstalować bibliotekę, wykonaj następujące czynności.
1. Wejdź na stronę https://github.com/adafruit/Adafruit-Motor-Shield-library i kliknij przycisk Download ZIP. Rozpakuj pobrane archiwum. Zmień nazwę wypakowanego folderu na AFMotor. Następnie przenieś go do podkatalogu Libraries znajdującego się w katalogu, w którym zainstalowałeś środowisko programistyczne Arduino.
Więcej informacji na temat bibliotek Arduino znajdziesz na stronie http://arduino.cc/en/reference/libraries.
2. Po przeniesieniu folderu uruchom ponownie środowisko programistyczne Arduino. Teraz biblioteka AFMotor powinna być widoczna na liście bibliotek w menu SzkicImportuj bibliotekę.
3. Teraz jesteś gotowy do pracy w środowisku programistycznym Arduino. Otwórz nowy szkic i umieść w nim następujący kod (możesz go również pobrać pod adresem ftp://ftp.helion.pl/przyklady/faswro.zip):
// Poniższy kod powstać na podstawie przykładowych szkiców dołączonych do biblioteki Motor Shield firmy Adafruit.
AF_DCMotor motorleft(1);
AF_DCMotor motorright(4);
void setup() {
motorleft.setSpeed(200);
motorright.setSpeed(200);
motorleft.run(RELEASE);
motorright.run(RELEASE);
}
void loop() {
uint8_t i;
motorleft.run(FORWARD);
for (i=0; i<255; i++) {
motorleft.setSpeed(i);
delay(10);
}
motorright.run(BACKWARD);
for (i=0; i<255; i++) {
motorright.setSpeed(i);
delay(10);
}
motorleft.run(RELEASE);
motorright.run(RELEASE);
delay(1000);
motorright.run(FORWARD);
for (i=0; i<255; i++) {
motorright.setSpeed(i);
delay(10);
}
motorleft.run(BACKWARD);
for (i=0; i<255; i++) {
motorleft.setSpeed(i);
delay(10);
}
}
Zapewne zauważyłeś, że programy Arduino określamy mianem szkiców. Użytkownicy Arduino terminem tym określają kod programu. Określenie to występuje wielokrotnie w zintegrowanym środowisku programistycznym — np. miejsce, w którym przechowywane są szkice, nosi nazwę szkicownika.
Fascynujący świat robotów. Przewodnik dla konstruktorów, Autor: John Baichtal. wyd. Helion