Podstawy: Bluetooth + mikroserwa

Podstawy Arduino

Tym razem poznajemy coś konkretnego – moduł Bluetooth XM-15B. Umożliwi on komunikację z naszym smartfonem i sterowanie wieżtyczką (zbudowaną z 2 mikroserw, jak na poprzednich zajęciach).

Komunikacja z Bluetoothem z wykorzystaniem SoftwareSerial-a.

Poznaliśmy obiekt SoftwareSerial pomocny w komunikacji z dwoma urządzeniami działającymi przez UART, a (niestety) Arduino UNO ma tylko jeden Serial… Wykorzystaliśmy darmową apkę z AndroidStore „Bluetooth control 8 lap” która sterowała wieżyczką. Brawo Studenci!

Wieżyczka z 2x mikroserwo sterowana przez Bluetooth.

Ta apka jest dobra na początek, można poszukać czegoś lepszego w sklepie ale… dlaczego nie stworzyć własnej? To naprawdę proste – z odpowiednim środowiskiem, czyli (polecam) MIT App Inventor

MIT App Inventor – tworzenie pod Androida z bloczków/klocku jak w Scrachu!

Maskotka

Prace trwają: BB poprawia łącza i soft, KG wierci i kręci 😛 A co z tego wyszło? Skrzypi, ale jeździ jak wariat 😀

Podstawy: odczytywanie sygnałów (analogowo i cyfrowo)

Podstawy Arduino

Dalej ćwiczymy funckję analogRead() – tym razem z fajnym modułem, mianowicie czujnikiem pola magnetycznego SS49E. Podłączamy zasilanie a sygnał wychodzi z 3-ciej nóżki, jak na rysunku poniżej:

Czujka i opis nóżek (PIN-outy).

Warte podkreślenia jest, że ta czujka odróżnia dwa bieguny magnesów i dlatego jest warta zakupu. Przy tej okazji przekonaliśmy, że Arduino IDE wyposażone jest w automatyczne rysowanie wykresów dzięki Kreślarce – trzeba tylko wysyłać na port szeregowy liczby w postaci napisów (gdy chcemy dwie krzywe na wykresie – liczby muszą być podane w jednej linii, oddzielnone spacjami). Proste, a jakie użyteczne!

Skoro mamy przećwiczone analogRead() to powracamy do mniej widowiskowego digitalRead(): podłączamy moduł przycisku

Moduł przycisku tact-switch.

W kolejnym kroku podłączyliśmy moduł czujnika drgań:

Moduł czujnika drgań.

Ponownie wykorzystaliśmy Kreślarkę by rysować drgania czujnika, razem z wykresem pola magnetycznego – proste, ale cieszy 😉

Maskotka

Prace trwają: BB z PP rozkładają pojazd, programują i… stwierdzają zgon jednego z dwóch Arduino! Przyczyna? no właśnie… dochodzenie trwa…

Podstawy: odczyt analogowy – moduł JOY + wieżyczka

Podstawy Arduino

Poznajemy funckję analogRead() – podłączamy potencjometr i sprawdzamy odczyty napięcia (porównujemy ze wskazaniami multimetru). Natrafiliśmy na „pułapkę informatyka”: dzielenie całkowite! W celu odczytania wartości napięcia nie można było napisać analogRead(A0)*5/1024, zamiast tego należało rzutować typy lub wymuisić obliczenia w arytmetyce liczb rzeczywistej, przez napisanie liczby 5 jako liczba rzeczywista: analogRead(A0)*5.0/1024. Teraz już wszystko działa, więc podłączamy dwa potencjometry ale… w module popularnej gałki JOY-sticka:

Moduł gałki JOY-a (czyli dwa potencjometry).

Moduł wykorzystaliśmy do rozbudowy zabawy z mikroserwami z poprzenich zajęć – tym razem mamy do dyspozycji wieżyczkę sterowanych dwoma mikrosilniczkami.

Wieżyczka sterowana JOY-em.
Należy podkreślić, że zasilanie dwóch takich silniczków bezpośrednio z Arduino nie jest mądrym pomysłem, dlatego warto użyć zewnętrznego zasilania.

Maskotka

Prace trwają: BB z PP rozkładają pojazd i montują profesjonalne uchwyty montażowe do zasilania 😉

Wydrukowane „trzymaki” do akumulatora (oczywiście autorstwa BB).
Trzymaki w akcji 😉

Widać, że podwozie Maskotki nadaje się już do wymiany – paskudne te otwory… Wynika to z różnych koncepcji systemu kół, które wymusiły docinanie otworów „na szybko”. Kolejnym krokiem będzie przygotowanie nowej płyty…

Seeeduino XIAO

Seeeduino Xiao to płytka prototypowa bazująca na ARM Cortex M0+ 32-bit 48 MHz z 256 kB flash oraz 32 kB SRAM. Zasilana przez USB-C ale działa z napięciami 3.3V. Kompatybilna z Arduino IDE.

Płytka Seeeduino XIAO

Oficjalna strona produktu: https://wiki.seeedstudio.com/Seeeduino-XIAO/

 

Specyfikacja Seeeduino Xiao

  • Układ: SAMD21 ARM Cortex M0+ 48 MHz
  • Pamięć flash: 256 kB
  • Pamięć SRAM: 32 kB
  • GPIO: 14
    • cyfrowe I/O: 11
    • wszystkie piny z przerwaniami
    • analogowe IN: 11 (12-bit DAC)
    • analogowe OUT: 1 (A0, 12-bit ADC)
    • I2C: 1
    • SPI: 1
    • UART: 1
    • PWM: 10
  • Zasilanie: 5 V – USB C 
  • Napięcie pracy: 3,3 V
  • Przycisk reset
  • Pady zasilania: do podłączenia baterii
  • Wymiary: 23,5 x 17,5 x 3,5 mm

(dane przekopiowane ze strony bootland.com.pl oferującą w sprzedaży płykę).

(c) K. G. 2020