Jeśli wykorzystujesz klasyczne Arduino w edukacji w szkole lub na róźnego rodzaju warsztatach, być może zaważyłeś, że dla początkujących uczniów nauka elektronicznych połączeń na płytce prototypowej i programowania przy pomocy kodu w języku C, szczególnie na początku nauki może być zdecydowanie zbyt przytłaczająca.
Tak właściwie to powyższy problem jest jedną z przyczyn powstania LOFI Robota 😉 . Nasz pierwszy zestaw opierał się na klasycznej płytce Arduino Leonardo i połączeniach w wykorzystaniem płytki prototypowej i plątaniny kolorowych kabelków. Z biegiem czasu udało nam się pozbyć płytki prototypowej ale cały czas trzymamy się Arduino w lekko zmodyfikowanej formie i przede wszystkim pracujemy mocno nad oprogramowaniem, tak aby nauka konstruowania robotów dla początkujących wynalazców była możliwie przyjazna. Od roku korzystamy z własnej aplikacji do nauki programowania robotów – LOFI Blocks, która świetnie sprawdza się w pracy z naszym sterownikiem LOFI Brain.
Ponieważ jednak LOFI Brain jest w pełni kompatybilny z klasycznym Arduino, nie ma żadnego problemu aby również standardowe Arduino UNO lub Leonardo, które są powszechnie wykorzystywane w edukacji, połączyć z naszymi aplikacjami i w ten sposób uprościć pierwszy etap edukacji, zamieniając pisanie komend w języku C w składanie kolorowych bloczków z podstawowymi komendami.
Podstawowe zalety LOFI Blocks do nauki podstaw programowania Arduino
- Prosty wizualny interfejs do programowania, przyjazny dla początkujących użytkowników i dzieci – nie piszemy kodu nie robimy błędów składniowych
- Dostępna wersja online, nie wymaga instalacji, łatwa konfiguracja
- Dostępna wersja na urządzenia mobilne – Android i iOS
- Wbudowana obsługa najpopularniejszych peryferiów – serwomotorów, silników DC, czujnika odległości HC-SR0
Poniższa lista filmów video pokazuje podstawy połączenia i obsługi płytki Arduino UNO w aplikacji LOFI Blocks.
Połączenie z aplikacją
Aby połączyć dowolną płytkę kompatybilną z Arduino z aplikacją LOFI Blocks należy w pierwszej kolejności wgrać na mikrokontroler odpowiednią wersję skryptu do komunikacji z aplikacjami LOFI Robot. Na chwilę obecną przygotowaliśmy skrypt dla dwóch najpopularniejszych modeli Arduino:
Do komunikacji z LOFI Blocks w wersji online konieczna jest też instalacja wtyczki do przeglądarki CHROME
Odczytywanie wejść analogowych
Podstawowa wersja LOFI Blocks jest w stanie odczytać sygnały z czterech wejść analogowych płytki Arduino. Standardowym wejściom Arduino odpowiadają odpowiednie oznaczenia INPUT.
- INPUT1 – wejście analogowe A0
- INPUT2 – wejście analogowe A1
- INPUT3 – wejście analogowe A2
- INPUT4 – wejście analogowe A3
Wejścia analogowe odczytujemy przy pomocy bloku ODCZYTAJ WEJŚCIE …
Sterowanie silnikami DC
Aplikacja LOFI Blocks umożliwia kontrolę dwóch silników na prąd stały, jeśli w odpowiedni sposób podłączymy do płytki sterownik silników L293D, który jest najprostszym i najpopularniejszym układem wykorzystywanym do steroewania silnikami przy pomocy Arduino.
Sterownik silników jest nam potrzebny z dwóch powodów:
- Wyjścia cyfrowe Arduino mają małą wydajność prądową – wystarczy ona do zasilenia jednej diody LED ale w przypadku silnika, który potrzebuje dużo więcej mocy, ilość energii, którą możemy pobrać z pinu cyfrowego jest zdecydowanie zbyt mała dlatego silnik musi być podłączony do osobnego układu, który jest mu w stanie zapewnić odpowiednie zasilanie
- Aby silnik mógł się kręcić do przodu i do tyłu, konieczne jest zmienianie polaryzacji prądu, który przez niego przepływa (zamiana “plusa” z “minusem”), nie jesteśmy tego w stanie zrobić przy pomocy prostego podłączenia silnika do Arduino. Tę funkcję gwarantuje nam tzw. MOSTEK H jest to specyficzna konfiguracja kilku tranzystorów, która pozwala na zmianę kierunku przepływu prądu w obwodzie elektrycznych – proponowany przez nas układ L293D działa właśnie w ten sposób
Opis wyprowadzeń układu L293D.
-
Silnik M1
- ENABLE1 – D3
- INPUT1 – D4
- OUTPUT1 – DC motor 1-1
- GND – GND
- GND – GND
- OUTPUT2 – DC motor 1-2
- INPUT2 – D2
- Vs – 5V
- ENABLE2 – D5
- INPUT3 – D7
- OUTPUT3 – DC motor 2-1
- GND – GND
- GND – GND
- OUTPUT4 – DC motor 2-2
- INPUT4 – D8
- Vss – 5V
Silnik M2
Schemat podłączenia układu L293D i silników do Arduino
Do sterowania silnikami DC można wykorzystać oczywiście, różnego rodzaju inne układy elektroniczne, często dostępne również w postaci gotowych płytek-modułów ułatwiających połączenie z Arduino. Ich wykorzystanie będzie jednak wymagało modyfikacji kodu do komunikacji z Aplikacją, który znajduje się na płytce Arduino.
Połączenie bezprzewodowe przez bluetooth
Do połączenia bezprzewodowego z Arduino wykorzystujemy najpopularniejszy moduł bluetooth HC-06 lub HC-05 ale równie dobrze można go zastąpić dowolnym modułem bluetooth 2.0 kompatybilnym z Arduino, który umożliwia komunikację przez prot szeregowy.
Istotną kwestią jest dostosowanie prędkości komunikacji modułu bluetooth, do tej która wybrana jest w kodzie wgranym na płytkę Arduino.
Fabryczna prędkość modułów HC-06 to 9600 bodów, podczas gdy w kodzie na Arduino ustawiona jest prędkość 57600 bodów. Możemy zmienić konfigurację modułu bluetooth przy pomocy komend AT lub ustawić prędkość komunikacji w Arduino na 9600 bodów. Należy jednak pamiętać, że wtyczka do przeglądarki CHROME komunikuje się z Arduino z prędkością 57600 bodów.