Podcasty? Wojny robotów („kanapka”) + Maskotka

Podcasty?

Rusza Uniwersyteckie Centrum Podcastów „Na końcu świata” – nowa inicjatywa na naszym Uniwersytecie. Dostaliśmy propozycję prowadzenia takiej cyklicznej audycji. Tematyka w naszych rękach, ale z racji specjalności Fizyka gier komputerowych i robotów same narzucają się gry komputerowe, sprzęt komputerowy, sprzęt do programowania elektroniki oraz nowinki robotyczne/IT. Myślę, że w zależności od poruszanej kwestii może to być audycja 30-to minutowa (dłuższa temat do omówienia) ale także krótsza (15 min na „nowinki”). W kilka osób będzie łatwiej prowadzić takie audycje, więc zachęcam do zastanowienia się i zgłoszenia po Świętach.

Wojny robotów: „kanapka”.

Ulepszamy nasze konstrukcje, montujemy lepsze mocowania silniczków. Sporo pracy manualnej… ale projekt idzie do przodu!

W pracach nad drugą konstrukcją wykorzystaliśmy korek od wina – jest wytrzymały, świetnie się modeluje (przycina, docina) a także łączy i dzieli! Brawo Pan RŁ!

Prace trwają… ale już koniec tego etapu!

Maskotka

BB pracuje nad płytą główną do Maskotki – jest już moduł uporządkowujący przewody + integrujący moduł nRF24L. Fajnie!

Nowy moduł Pana Bartka – ten „zielony” shield 😉

Kolejne spotkanie: czwartek 15:00

Wojny robotów („kanapka”) + Maskotka

Wojny robotów: „kanapka”.

Budujemy drugie podwozie (ciągle w wersji v0.1) – chodzi o to, aby na Święta mieć dwa, a może nawet trzy egzemplarze pojazdów rozdysponowane po zainteresowanych Studentach. To powinno przyspieszyć pracę nad projektem 😉

W pracach nad drugą konstrukcją wykorzystaliśmy korek od wina – jest wytrzymały, świetnie się modeluje (przycina, docina) a także łączy i dzieli! Brawo Pan RŁ!

Drugie podwozie i niezastąpiony materiał „konstruktora amatora” – korek od wina 😉

Pan Tomasz w międzyczasie przypomniał sobie komunikację Bluetooth i wykorzystał nową apkę ze sklepu Androida – Arduino RC. Zaletą jest prostota i wystarczająca funkcjonalność!

Maskotka

BB pracuje nad płytą główną do Maskotki…

Kolejne spotkanie

Proponuję czwartek, godz. 11:00. Zapraszam!

Wojny robotów („kanapka”) + Maskotka

Wojny robotów: „kanapka”.

Budujemy podwozie v0.1.

Mieliśmy robić coś prowizorycznego, jednak do montażu kół wykorzystaliśmy przygotowane mocowanie – zaprojektowane i wydrukowane na Wydziałowej drukarce 3D Zoltrax M200. Prosty projekt w Blenderze:

Projekt „trzymaka” koła i silniczka: wykorzystujemy oryginalny orczyk z silniczka, który wtapia się w konstrukcję trzymaka. Trzy otwory 3mm, oddalone od środka o 10mm – pełna profeska 😉

Wydruk 2 sztuk to ~30min pracy drukarki. Efekt poniżej.

Koło Tamiya 70111 z „trzymakiem” – po co 3 śrubki, skoro i na 2 się trzyma? 😉

Napęd to dwa serwa pracy ciągłej – Feetech FT90R.

Serwo pracy ciągłej z zamocowanymi kołami.

Finalnie wszystko wygląda tak:

Kanapka v0.1: czyli pojazd w pełnej krasie 😉 Zasilanie (aku 9V) na polnym pokładzie. W planach kolejny pokład z programowalnymi LED-ami RGB.

Mocowanie silników do podwozia – chwilowo trtytkami. Jednak jest to NAJSŁABSZY element tej konstrukcji. Ale wydawał się wystarczający do sprawdzenia, jak działa.

Pierwsze próby autonomicznej jazdy!

Miało być szybko i minimalistycznie, jednak trzeba wrócić do mocowania silniczków – trytytki należy zmienić na „dedykowane” trzymaki do serw (ponownie projekt 3D i druk na Zoltraxie M200). Liczymy, że dzięki temu pojazd będzie jeździć prosto!

Maskotka

Pan Bartek wraca do projektu Maskotki i zamierza tam wgrać PID-a do lepszego sterowania kołami. Na razie odgrzebał projekt, połączył przewody (sfajczył jedno Arduino UNO – ale jak, tego nikt nie wie) no i projekt jeździ! Z braku swojego kontrolera wykombinował takie oto zabawnie wyglądające cudo 😉

Do sterowania podwoziem Maskotki wykorzystujemy… cztero-kołowy pojazd z JOY shieldem! Po prostu nie chciało się rozbierać/rozkręcać gotowej już konstrukcji…

Słychać ten „piękny” pisk podczas zakrętów? Oj słychać… ale jego źródło zostało już zlokalizowane! To nie silniki (jak nam się pierwotnie wydawało), a… trzecie koło! Będzie trzeba coś z tym zrobić.

Nowy semestr – plan pracy

Wojny robotów

Poprzedni semetr zakończyliśmy poznaniem niezbędnych elementów, jakie zamierzamy wykorzystać nad naszym projektem. Teraz przyszedł czas na zebranie tego w całość. Powstał taki oto plan:

  1. Konstrukcja mechaniczna.
  2. Programowanie:
    1. sterowanie pojazdem z „kabla”
    2. sterowanie bezprzewodowe (bluetooth)
    3. czujka pola magnetycznego
    4. kolorowe LEDy – sygnalizacja energii, paliwa…
  3. Różne scenariusze zabawy:
    1. „bij zabij” – każdy na każdego
    2. „zając” – jeden ucieka, inni go gonią
    3. …zobaczymy
  4. Finalizacja projektu, część i chwała, nagrody prezydenta RP i sukces finansowy 😉

Punkt pierwszy jest kluczowy i zarazem problematyczny – zamierzamy zrobić coś prowizorycznego, ze sklejki, gumki recepturki i papieru toaletowego (oraz inne rzeczy „spod ręki” – liczy się kreatywność, i na tym polega problematyczność). Przyświecać nam będzie główny cel – podwozie ma być (w miarę) stabilne i gotowe do realizacji kolejnych punktów. W przyszłości (za semestr?) studenci poznają tajniki druku 3D i stworzą piękne pojazdy, na razie będzie prowizorka.

Rzeczy „spod ręki” nie są takie ubogie – w szafie pracowni znalazł się zestaw kół sportowych o średnicy 56 mm i szerokości 25 mm.

koła Tamiya 70111

Napęd bazować będzie na dwóch serwach pracy ciągłej – Feetech FT90R. Wybór podyktowany był tym, że nie musimy montować sterownika do silników DC (mostek H) gdyż te mikro-serwa mają sterowanie wbudowane w sobie.

Serwo pracy ciągłej – podstawa napędu.

Trzeba „tylko” wykombinować połączenie silniczka z tymi kołami… Tym zajmiemy się za tydzień.

Forbot.pl — nowy konkurs z nagrodami pieniężnymi

Portal forbotl.pl ponownie organizuje konkurs, do którego można zgłaszać artykuły dotyczące szeroko pojętej elektroniki. Może ktoś z Państwa będzie zainteresowany udziałem w tej akcji? Mile widziane są teksty dotyczące m.in.: Arduino, Raspberry Pi, ESP, STM32, FPGA, Raspberry Pi Pico, MicroPython, Grafana, MQTT, TensorFlow, AI, TinyML, RISC-V, Arduino CLI, Arduino Pro, Node-RED, ESP32, LoRa, Home Assistant, Processing, Firebase (w kontekście IoT). Do wygrania są karty podarunkowe Allegro o wartości 2000 zł, 1000 zł ale nagrodzonych zostanie aż 7 osób. Więcej info na https://forbot.pl/blog/

(c) K. G. 2021

 

Podstawy: programowalne LED-y ws2812b

Wojny robotów

Pracujemy nad ostatnim elementem składowym projektu Wojny robotów – kolorowych wyświetlaczy (do przedstawiania poziomu „życia”, „paliwa” itd). Wszystko okazuje się dziecinnie proste – a to za sprawą gotowych bibliotek dla Arduino (był to właśnie pretekst do poznania instalacji bibliotek w Arduino IDE). Pracowaliśmy ze wcześniejszym materiałem z fi-bot’a – zajrzyj.

Zadanie z zajęć: kontrolować liczbę świecących LEDów potencjometrm.

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