Bluetooth – konfiguracja
Moduł bluetooth, który wchodzi w skład zestawu NA KOŁACH to model HC-06, powszechnie wykorzystywany do komunikacji z Arduino. Egzemplarz dołączony do zestawy jest odpowiednio skonfigurowany do pracy ze Snap4Arduino (ma nadaną nazwę LoFiRobot i prędkość transferu ustawioną na 56700kbps)
Moduł bluetooth HC-06 może lączyć się z:
– komputerami wyposażonymi w nadajnik bluetooth
– smartfonami i tabletami z systemem Android (praktycznie wszystkie modele, które mają nadajnik bluetooth)
Niestety nie jest możliwe połączenie modemu HC-06 z systemem iOS (iPhone, iPad), gdyż tego rodzaju komunikacja jest w tym systemie zablokowana. Aby połączyć Arduino z urządzeniem iOS, konieczne jest użycie modemu w standardzie Bluetooth 4.0 LE (Low Energy).
Połączenie modułu bluetooth z Arduino
Moduł HC-06 posiada cztery nóżki goldpin, opisane na tylnej ściance modułu, wpinamy je w płytkę prototypową i podłączmy odpowiednio do Arduino:
1. VCC – do +5V (plus zasilania)
2. GND – do GND (masa zasilania)
3. TXD (nadawanie) – do RX1 na Arduino (pin cyfrowy nr 0)
4. RXD (odbiór) – do TX1 na Arduino (pin cyfrowy nr 1)
Parowanie z komputerem/smartfonem/tabletem
Podobnie jak w przypadku każdego innego urządzenia komunikującego się w standardzie bluetooth, aby połączyć go z innym urządzeniem należ najpierw wykonać tzw. PAROWANIE urządzeń, w tym celu:
1. Podłącz moduł HC-06 do zasilania – jego wbudowana czerwona dioda zacznie migać (mniej więcej dwa razy na sekundę)
2. Na komputerze lub urządzeniu mobilnym uruchom preferencje bluetooth i wyszukaj dostępne urządzenia, na liście powino pojawić się urządzenie o nazwie LoFiRobot (ewentualnie zamiast nazwy będzie surowy adres MAC urządzenia, mniej więcej taki 00-12-ab-34-cd-5e)
3. Połącz komputer/smartfon/tablet z urzadzeniem LoFiRobot a jako kod PIN podaj 1234
4. LoFiRobot powinien pojawić się na liście sparowanych urządzeń
Procedura parowania na pierwszy rzut oka może wyglądać na odrobinę pogmatwaną ale na szczęście wykonujemy ją tylko raz.
Połączenie ze Snap4Arduino
Aby Arduino mogło połaczyć się ze Snapem przy pomocy modemu bluetooth, konieczne jest wgranie na Arduino odpowiedniej wersji skryptu Firmata (standardowo używamy StandardFirmata), w tym celu:
1. Ściągnij biblioteki: FIRMATA BLUETOOTH + NEW PING i rozpakuj. Jest to wersja firmaty odpowiednio zmodyfikowana dla modemu bluetooth oraz wykorzystywana przez nią biblioteka NewPing.
2. Po rozpakowaniu powinienneś otrzymać katalog FirmataPlusLBT oraz NewPing, przenieś je do folderu (Windows) Moje Dokumenty\Arduino\libraries\ lub (Mac OS) Dokumenty\Arduino\libraries, jeśli w katalogu Arduino nie ma katalogu libraries, musisz go najpierw utworzyć
3. Uruchom program Arduino, jeśli wgrałeś bibliotekę FirmataPlusLBT w odpowiednie miejsce, program Arduino powinien Automatycznie wyszukać jej przykłady, otwórz skrypt: Plik->Przykłady->FirmataPlusLBT->FirmataPlusLBT i załaduj go na płytkę Arduino
Jeśli poprawnie wgrałeś skrypt FirmataPlusLBT i podłączyłeś moduł bluetooth do Arduino możesz go połączyć z programem Snap4Arduino w normalny sposób.
1. Uruchom program Snap4Arduino
2. Jeśli Arduino podłączone jest do komputera przez kabel USB odłącz go, tak aby Arduino działało samodzielnie (zasilane z baterii) i możliwe było połączenie tylko przez modem bluetooth
3. W zakładce Arduino kliknij przycisk Connect Arduino, program powinien automatycznie wyszukać modem bluetooth (ewentualnie należy wybrać go z listy dostępnych urządzeń, która rozwinie się pod przyciskiem Connect Arduino)
4.Jeśli modem bluetooth jest odpowiednio sparowany z komputerem/smartfonem w momencie gdy połączenie jest nawiązane dioda na modemie HC-06 zaczyna świecić światłem ciągłym
5. Jeśli pomimo dobrego połączenia z modemem HC-06 (czerwona dioda świeci ciągle) Snap4Arduino nie chce się połączyć z Arduino, być może źle wgrany jest skrypt FirmataPlusBLT, lub modem jest błędnie podłączony do arduino, częstym błędem jest nieodpowiednie podłączenie pinów TX i RX
TXD (modemu) -> RX1 (Arduino)
RXD (modemu) -> TX1 (Arduino)
Aby wrócić do połączenia Arduino ze Snap4Arduino przez kabel USB należy na płytkę ponownie wgrać skrypt StadnardFirmata (Plik->Przykłady->Firmata->StandardFirmata)
Robot poduszkowiec
Co potrzebujesz do zbudowania robota poduszkowca:
- Komplet części drewnianych + śrubki i nakrętki do zbudowania poduszkowca
- Dwa komplety części drewnianych do skonstruowania koła + odwa ringi 90mm
- Dwa silniki serwo 360
- Płytka prototypowa + kabelki
- Arduino
- Diody LED i oporniki 1kOhm
Pliki do ściągnięcia
Części drewniane – Robot Poduszkowiec z zestawu NA KOŁACH
Koło ver.2 – części drewniane
Model SKETCHUP
Konstrukcja
1. Do modułu z Arduino i płytką prototypową przyczep po bokach klocki z obustronnymi wypustami.
2. Silniki serwo zamontuj w uchwytach i przyczep do klocków z wypustami.
3. Do spodniej części korpusu przyczep moduł z koszykiem na baterie.
4. Z dwóch płaskich klocków 6×12 otworów i trójkątnych łączników zmontuj “łyżkę” do zamontowania na froncie poduszkowca.
5. Zamontuj łyżkę na przedniej ściance i koła na silnikach serwo. Model jest skończony.
Robot na kołach
Co potrzebujesz do zbudowania podstawowego robota-pojazdu:
- Komplet części drewnianych + śrubki i nakrętki do zbudowania ramy pojazdu
- Dwa komplety części drewnianych do skonstruowania koła + odwa ringi 90mm
- Dwa silniki serwo 360
- Płytka prototypowa + kabelki
- Arduino
- Czujnik odległości – SHARP GP2Y0A41SK0F
- Przewód JST 3pin – do podłączenia czujnika odległości
- Obrotowe kółko do mebli
- Kilka kolorowych diod i oporników również się przyda
Pliki do ściągnięcia
Części drewniane – pojazd NA KOŁACH
Koło ver.2 – części drewniane
Model SKETCHUP
Konstrukcja
1. Zamontuj silniki serwo w ściankach bocznych pojazdu.
2. Połącz ścianki boczne odpowiednimi klockami z wypustami.
3. Na górze pojazdu przymocuj element z płytką prototypową i Arduino. Z przodu pojazdu zamocuj płaski klocek 6×12 otworów zklockiem “uśmiechem”
4. Od spodu pojazdu, w tylnej jego części włóż koszyk na baterie, zamocuj wsporniki i kółko obrotowe.
3. Zmontuj uchwyt do czujnika odległości
4. Od przodu pojazdu zamontuj czujnik odległości. Do silników zamontuj koła. Podstawowa konstrukcja pojazdu jest gotowa.
Elektronika
Robot pojazd sterowany jest przy pomocy czujnika odległości, dzięki któremu może wykrywać przeszkody pojawiające się na jego drodze i je omijać.
Do skonstruowania układu elektronicznego potrzebujemy:
- Arduino – dowolny model, w przypadku zestawu NA KOŁACH jest to LEONARDO
- Płytka prototypowa + kabelki
- Czujnik odległości SHARP GP2Y0A41SK0F (lub inny model ANALOGOWEGO czujnika odległości)
- Przewód JST 3pin
- Dwa silniki serwo 360
- Zasilanie – 4 baterie AA lub zasilanie przez kabel USB
UWAGA!
Zanim podłączysz serwomotory do zasilania, zapoznaj się dokładnie z działaniem płytki prototypowej i przerób wszystkie ćwiczenia z działu PODSTAWY.
Błędne podłączenie silników może skutkować ich uszkodzeniem.
Zanim podłączysz baterie do płytki prototypowej SPRAWDŹ DOKŁADNIE CZY PODŁĄCZASZ JE ZGODNIE Z POLARYZACJĄ POZOSTAŁYCH ELEMENTÓW!
Skunstruuj układ elektroniczny jak na poniższym schemacie.
1. Piny zasilające Arduino podłącz do listew zasilających płytki prototypowej (5V do czerwonej listwy, GND do niebieskiej listwy).
2. Koszyk z bateriami podłącz do listew zasilających płytki prototypowej.
3. Silniki SERWO podłącz w standardowy sposób – przewód czerwony do +5V, brązowy do GND, żółty do pinów cyfrowych Arduino nr 9 i 10 .
4. Do czujnika odległości wepnij wtyczkę JST a następnie podłącz odpowiednie przewody: czerwony do +5V, czarny do GND, żółty (sygnał pomiarowy) do pinu analogowego A0
Programowanie
Jeśli wszystkie moduły robota (Arduino, czujnik odległości i silniki) są już ze sobą odpowiednio połączone, możemy przystąpić do programowania.
Snap4Arduino
Przygotowanie:
1. Podłącz Arduino do komputera.
2. Upewnij się, że na Arduino wgrany jest skrypt STANDARD FIRMATA (zestaw na kołach wysyłamy z wgranym skryptem n Arduino)
3. Uruchom Snap4Arduino i połącz go z Arduino
Program:
1. Po kliknięciu zielonej flagi ustaw cyfrowe piny 9 i 10 jako SERVO
2.W zakładce DANE stwórz zmienną ODLEGŁOŚĆ.
3. Do bloku z zieloną flagą dodaj pętlę ZAWSZE i w jej środku umieść blok, który będzie zamieniał wartość zmiennej ODLEGŁOŚĆ na wartość odczytaną z pinu analogowego O – czyli odbieraną z czujnika odległości.
3. Uruchom program (naciśnij zieloną flagę), zwróć uwagę jak zmienia się wartość zmiennej ODLEGŁOŚĆ gdy zbliżasz rękę do czujnika. Gdy nic nie znajduje się w zasięgu czujnika wartość zmiennej powinna wynosić od 0 do ok 100, gdy zbliżysz rękę na ok. 25cm wartość zmiennej ODLEGŁOŚĆ powinna wynosić ok. 120-160, gdy zbliżysz na ok 5cm powinna wzrosnąć do ok 400-600.
ŚLEDZENIE
Możemy przystąpić do programowania ruchu. Na początku zaprogramujmy prosty mechanizm śledzenia.
Jego algorytm będzie następujący:
1. Kiedy czujnik nic nie wykrywa (ODLEGŁOŚĆ mniejsza od 100) robot stoi w miejscu
2. Gdy coś pojawia się w zasięgu wzroku czujnika (ODLEGŁOŚĆ większa od 100 i mniejsza od 300) robot stara się do tego obiektu zbliżyć (jedzie do przodu).
3. Gdy robot zbliży się do przeszkody odpowiednio blisko (ODLEGŁOŚĆ > 300) robot staje w miejscu.
W Snapie nasz program wyglądać będzie następująco:
Zwróć uwagę na środkowy krok, gdy robot powinien iść do przodu. Aby obydwa koła obracały się do przodu, silniki muszą kręcić się W PRZECIWNYCH KIERUNKACH ponieważ w konstrukcji ustawione są w lustrzanym odbiciu, dlatego silnik podłączony do pinu 9 ustawiony jest na obrót w kierunku przeciwnym do ruchu wskazówek zegara (Counter-clockwise) a silnik podłączony do pinu numer 10 obraca się w kierunku zgodnym z ruchem wskazówek zegara (Clockwise). Jeśli w Twoim wypadku takie ustawienie powoduje obracanie się kół do tyłu poprostu odwróć kierunki obrotu silników.
OMIJANIE PRZESZKODY
Algorytm prostego omijania przeszkód jest podobny do przedstawionego powyżej. Można go opisać następująco:
1. Jeśli nic nie znajduje się w polu widzenia czujnika (ODLEGŁOŚĆ < 150) jedź do przodu. 2. Kiedy zauważysz przeszkodę (150 < ODLEGŁOŚĆ < 300) skręcaj w lewo. 3. Jeśli przeszkoda jest bardzo blisko (ODLEGŁOŚĆ > 300) cofaj się.
Robot goryl
Co potrzebujesz do zbudowania robota goryla:
- Komplet części drewnianych + śrubki i nakrętki do zbudowania goryla
- Dwa silniki serwo 360
- Płytka prototypowa + kabelki
- Arduino
- Czujnik odległości – SHARP GP2Y0A41SK0F
- Przewód JST 3pin – do podłączenia czujnika odległości
Pliki do ściągnięcia
Części drewniane – Robot GORYL ver 1.0
Model SKETCHUP
Konstrukcja
1. Zamontuj silniki serwo w uchwytach i przy pomocy klocków z wypustami złóź korpus goryla.
2. Z przodu korpusu przyczep moduł z Arduino i płytką prototypową, z tyłu natomiast zamontuj koszyk na baterie przykręcony do odpowiedniego klocka.
3. Zmontuj uchwyt czujnika odległości.
4. Czujnik odległości i klocek “uśmiech” zamontuj na prostokątnym klocku 6×12 otworów a następnie przy pomocy łącznika przyczep go jako głowę ponad Arduino.
5. Zmontuj dwa ramiona goryla przyczepiając do nich klocek z orczykiem serwa.
6. Zamontuj ramiona na silnikach serwo. Od spodu korpusu przyczep dwa podłużne klocki, jako stopy, które będą stabilizować goryla podczas chodzenia. Model jest skończony.