LOFI Blocks – połączenie z Arduino UNO

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
  • Silnik M2

  • ENABLE2 – D5
  • INPUT3 – D7
  • OUTPUT3 – DC motor 2-1
  • GND – GND
  • GND – GND
  • OUTPUT4 – DC motor 2-2
  • INPUT4 – D8
  • Vss – 5V

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.