Jak prowadzić z dziećmi zajęcia z Arduino i robotami?

Na tej stronie prezentujemy materiał przygotowany przez Michała Kłosińskiego (trenera i współautora scenariuszy w projekcie „MoboLab”, w obszarach I i II) zawierający wskazówki i podpowiedzi na temat tego, jak uczyć dzieci programowania z wykorzystaniem robotów i zestawów Arduino.

Podpowiedzi trenera o tym, jak radzić sobie na zajęciach i co robić, gdy nie wszystko idzie po naszej myśli

Czego chcemy nauczyć dzieci?

  • Wytrwałości.
  • Współpracy.
  •  Zaradności.

Dlatego nie powinniśmy podawać dzieciom gotowych odpowiedzi na ich pytania.W ten sposób dzieci uczą się, że nie trzeba się starać, bo ktoś inny zrobi za nie całą robotę. To zwalnia je z myślenia i jest dla nich wygodne. Ostatnio w klasie gimnazjalnej, którą uczę, pewien uczeń powiedział:- Proszę Pana, może Pan da nam jakieś gotowe schematy, zmusza nas Pan do myślenia, a to boli. Odpowiedziałem: – NIE, na moich lekcjach się myśli.
Każdemu uczniowi warto przekazać (np. wydrukować na kartce) następującą informację:

Jeżeli coś „nie działa”,

  • obejrzyj jeszcze raz każdy klocek,
  • pomyśl przez 15 sekund,
  • sprawdź połączenie kabelków / połączenie robota lub Arduino,
  • sprawdź, czy szybko migają diody RX i TX, odpowiadające za połączenie z S4A,
  • poproś kolegę, aby zerknął na Twój program,
  • podnieś rękę i czekaj na nauczyciela – nie krzycz, on Cię widzi i podejdzie, i będzie Ci wdzięczny za to, że grzecznie poczekałeś.

Jeżeli nauczyciel widzi błąd i wie, co należy poprawić, warto:

  • poprosić ucznia, aby przeczytał na głos, jaką funkcję ma każdy klocek i co robi,
  • zadać pytania pomocnicze, tak aby uczeń sam wpadł na właściwe rozwiązanie.
  • jeżeli uczeń nie ma pomysłu na rozwiązanie, można palcem pokazać okrąg w pobliżu błędu i powiedzieć, że w tej okolicy coś jest do poprawienia.

Przykładowe pytania i zwroty, których używam komunikując się z uczniami:

  • Przeczytaj po kolei – a co robi ten klocek?
  • Skoro nietoperz lata w prawo i lewo, a miał latać do góry i w dół – czy to jest oś X czy Y?
  • Założę się pamiętasz.
  • Potrafisz, wystarczy, że pomyślisz przez chwilę.

Wielokrotnie usłyszycie głosy świadczące o tym, że uczeń/uczennica samodzielnie znaleźli rowiązanie, np.: „aaaa” „zrobiłem” „udało się”. Wówczas dobrze jest podejść do dziecka i próbować wzmacniać jego przekonania:

  • Wow, widzę że rozwiązałeś ten problem/ zagadkę/ zadanie – gratuluję!
  • Widzisz: jak chcesz, to potrafisz.

Można zadać pytania:

  • kto wam podpowiedział?
  • kto to wymyślił? – tak aby dziecko samo powiedziało JA /MY.

Wtedy możemy je wspierać dobrym zdaniem: „brawo, jestem z Ciebie dumna / super / widzisz, potrafisz rozwiązać najtrudniejsze zadanie, gratuluję Ci”.

Gdy mam chwię czasu, zadaje dziecku jeszcze takie pytanie: „Jak się czujesz?” lub „Jak się czułeś/czułaś, gdy mówiłeś/mówiłaś ‘Aaaa’ w momencie znalezienia rozwiązania?” Odpowiedzi są różne, np. „dobrze”. Moja odpowiedź jest na przykład taka taka: „Widzisz, na tym właśnie polega nauka, na satysfakcji z rozwiązywania zagadek, i w taki sposób człowiek uczy się przez całe życie nowych rzeczy, prawda?” Zawsze kończę pytaniem, tak aby uczeń zgodził się ze mną i powiedział „tak”. Robię to po to, by uczeń zakceptował w swojej głowie to, że sam może rozwiązać problem, że potrafi to zrobić.

Co zrobić, gdy słyszymy: „Proszę Pani, mi nie działa!”

  • Zatrzymujemy pracę wszystkich dzieci i na tablicy robimy „krok po kroku” razem.
  • Przykład z jednej ze szkół: nauczycielka powiedziała na wstępie: „ja też tego nie umiem i będę razem z wami się uczyć, więc będziemy współpracować i pomagać sobie nawzajem, aby znaleźć dobre rozwiązania”.
  • Możemy też powiedzieć: „zobacz, jak zrobił to kolega, któremu program zadziałał.

Dochodzenie razem do wniosku lub obserwowanie i analizowanie kodu jest korzystne.Jeśli możecie, zróbcie ćwiczenie „przesiadka”, które polega na tym, że wszyscy przesiadamy się o jedno stanowisko komputerowe i obserwujemy, jaką metodą zrobili zadanie inni uczniowie.

Zajęcia z robotami mBot

  • Dobrym pomysłem może być oklejenie robota naklejką z jego numerem (gdy podłączymy się do Bluetooth, zobaczymy numer robota i możemy uniknać pomyłki).
  • Można też zakleić taśmą bezbarwną porty w robocie. Robot ma 4 porty: tam trafiają czarne kable od czujników. 2 wejścia są wolne i istnieje ryzyko, że jakieś dziecko włoży tam na siłę kabel USB b do podłączania robota do komputera, w efekcie czego może dojść do zwarcia.
  • Dzieci wybierają nie ten port „com” przy podłączaniu robota. Główny błąd to nieprawidłowe połączenie. Uczymy: „włącz i wyłącz”.
  • Pokazujemy, dlaczego program mBlock się zawiesza – przede wszystkim dlatego, że młodzi programiści każą robotowi jechać jednocześnie w  przeciwnych kierunkach.

Ważne! NIE TRZEBA ROBIĆ SCENARIUSZY PO KOLEI, ANI ROBIĆ ICH WSZYSTKICH. Róbcie te, które rozumiecie, umiecie bądź chcecie. Jeżeli już zrobicie wszystkie scenariusze wykorzystujące Scratcha, MOŻECIE (nie musicie), przejść do C++ na Arduino IDE. Możecie też pokazać dzieciom, aby próbowały same. Można powiedzieć, że to jest zadanie dodatkowe, w którym sami zdobywacie informacje, w jaki sposób podłączyć np. termometr czy klawiaturę membranową. To może nauczyć dzieci poszukiwania informacji w sieci.

To nie są zajęcia typu „masz tu wszystko i zrób po kolei”, tylko zachęcamy dzieci do samodzielnego szukania rozwiązania i do myślenia. Nie dajemy gotowych odpowiedzi. Zadajemy pytania.

Z czego skorzystać, a co zostawić na później?

Oto lista elementów, które sigeruję zostawić w pudełku, a resztę schować na później, aż podstawy zostaną opanowane:

  • Płytka Arduino
  • Płytka stykowa
  • Dioda LED
  • Dioda RGB
  • czujnik odległości HC-SR04
  • Czujnik impendancyjny
  • Serwomechanizm
  • Przekaźnik
  • Buzzer – głośnik
  • Czujnik nachylenia/kulowy
  • Joystick
  • Potencjometr
  • Rezystory między 1k-10k (resztę można schować)
  • Kabelki
  • Serwo
  • Przyciski

Seria prostszych przykładów, które sugeruję zrobić przed trudniejszymi scenariuszami

Ważne: w nauce programowania istnieje wiele sposobów na rozwiązanie tego samego zagadnienia (tu podaję kilka przykładowych).

Zadania w nauce programowania Arduino i robota mBot:

  • Kwadrat: zrób kwadrat na klawisz k i zatrzymaj się w miejscu, gdzie startowałeś,
  • Deltoid,
  • Kwadrat: w każdym wierzchołku zapalić diodę,
  • Kwadrat: na każdym wierzchołku obrócić robota o 360 stopni,
  • Zapalanie diody na pinie 13,
  • Podpiąć iody (4 różne kolory podpięte do pinów 13, 12, 11, 10),
  • Zapalić 1 diodę na 1 sekundę (gdy wciśniemy 1 zapali się dioda podpięta pod pin 10 i po 1 sekundzie zgaśnie),
  • Zapalić wszystkie podpięte diody po kolei przez 1 sekundę (gdy wciśniemy 2),
  • Zapalić wszystkie podpięte diody po kolei przez 1 sekundę, aby migały (gdy wciśniemy 3),
  • Zapalić naprzemiennie 2 diody tak, aby działały jak syrena w straży pożarnej (zapalają się i gasną),

  • Zgasić wszystkie diody, kiedy naciśniemy klawisz 0,
  • Zapalić wszystkie diody, kiedy naciśniemy klawisz 9.

  • Dioda z wykorzystaniem (puzzla-bloczku-klocka) analog (diodę podpinamy do pinu 5).
  • Uczniu, gdy naciśniemy klawisz 5, za pomocą zmiennych zapal stopniowo diodę.
  • Uczniu, gdy naciśniemy klawisz 6, za pomocą zmiennych zgaś stopniowo diodę.
  • Uczniu, gdy naciśniemy klawisz 7, za pomocą zmiennych zapal i zgaś stopniowo diodę.
  • Uczniu, gdy naciśniemy klawisz 8, za pomocą zmiennych zapal i zgaś stopniowo diodę i niech migają tak już zawsze.

  • Dioda RGB – to samo, tylko już („challenge”, czyli wyzwanie!): zrobić sygnalizację świetlną i (zagadka!): jak zrobić żółty kolor? Niech uczniowie sami wymyślą sposób, można zadać im pytanie: „podpowiedź: a jak otrzymać kolor żółty, gdy malujemy farbami i żółty nam się skończył?).
  • Podpinamy diodę RGB najdłuższą nóżką do GND, a pozostałe do pinów analogowych (5, 6, 9, 10 – wybierz dowolne 3 z tych) po to, abyśmy mogli nimi sterować za pomocą analogu.

Uruchomiłem program Gimp (lub inny dowolny program graficzny) i wybrałem kolor żółty. Program podpowiedział wartości: R (czyli red – czerwony): 234, G (czyli green – zielony): 255 i B (czyli blue – niebieski): 0. Takie wartości ustawiłbym na klockach analog.

Na przykładzie wciskam „Z”, żeby zapalił się żółty, „G” – zielony, „R” – czerwony, „B” – niebieski. Czasami diody są już troszkę  i trzeba ustawić je na oko dopasowując do tego, co widzicie.

Na przykładzie:

  • czerwona dioda trafia do pinu 5,
  • zielona dioda trafia do pinu 6,
  • niebieska dioda trafia do pinu 9.

Zadanie:

  • Z: żółty
  • G: zielony
  • R: czerwony
  • B: niebieski
  • T: tęcza wszystkie kolory

Sygnalizacja świetlna na klawisz S z diodą RGB (zielone -2 sekundy – żółte -1 sekunda – czerwona 3 sekundy).

Modyfikacje sygnalizacji świetlnej

Możemy dołączyć buzzer czyli głośnik (na tym przykładzie dłuższa nóżka trafia pod pin 13, a krótsza nóżka trafia do GND), który daje dźwięk, gdy światło jest czerwone (co znaczy: „nie jedź”).

Możemy zaprogramować buzzer (na przykładzie trafia pod pin 13), tak aby dźwięk  zmieniał się podobnie, jak na przejściu dla pieszych, czyli zmieniał swoją częstotliwość, np. 1/3 sekundy razy 3 na zielonym, a na czerwonym ciągły dźwięk przez 1 sekundę.

Możemy dołączyć buzzer czyli głośnik (na przykładzie trafia pod pin 13) oraz przycisk dla pieszych (przycisk 1: nóżka pod 5V, czyli napięcie/ nóżka po skosie do A0, aby odbierać, czy układ jest zamknięty i płynie napięcie 5V, czy układ jest otwarty).

Zadanie polega na tym, że sygnalizacja działa jak wyżej oraz gdy wciśniemy przycisk po ok. 3 sekundzie, zapali się, będzie mrugać na zielono 5 razy i powróci do sygnalizacji.

Przycisk zapalający diodę (dioda podpięta pod PIN 13, a przycisk do A0).

2 przyciski: przycisk 1 zapala diodę, a przycisk 2 ją gasi (dioda do PIN 13, przycisk1 do A0, przycisk2 do A3).

Gdy przycisk jest naciśnięty, dioda się pali, gdy zwolnimy przycisk, dioda gaśnie. (dioda: PIN 13, przycisk do A0).

To samo rozwiązanie na 3 różne sposoby:

Dioda RGB: stopniowe zmienianie kolorów

Zadanie polega na zrobieniu płynnego przejścia między kolorami (każdy po kolei w diodzie RGB).

Na przykładzie:

  • czerwona dioda trafia do pinu 5,
  • zielona dioda  trafia do pinu 6,
  • niebieska dioda trafia do pinu 9.

…lub podobna konfiguracja, tak aby wszystkie kolory zmieniały się jednocześnie:

Losowe kolory tęczy na diodzie RGB:

Buzzer – pianino na klawiszach

Podpinamy buzzer dłuższą nóżką do pinów ze sterowaniem analogowym, np. 5, 6 lub 9 (na tym przykładzie wybrałem 6, krótsza nóżka trafia do GND – uziemienia). Użyjemy bloczka „Analog”, abyśmy mogli zmieniać napięcie na wejściu do buzzera i sterować częstotliwością dźwięku.

W tym miejscu przypominam, że piny analogowe oznaczamy symbolami A0, A1, A2, A3, A4, A5, i służą one do odbierania informacji ze świata zewnętrznego do Arduino (np. z czujników). Tutaj nie będziemy używali pinów analogowych, bo głośnik to informacja wychodząca z Arduino. Dlatego używać będziemy bloczków analogowych w programie, które pozwalają nam ustawić wartość na pinach 5, 6, 9.

Bloczki „Analog” pozwalają nam sterować napięciem od 0 do 5 volt: robimy to za pomocą bloczka i używamy do tego proporcji 0 to 0 Volt, 255 to 5 Volt; analogicznie: każda wartość pośrodku będzie proporcjonalna. np. ok 125  da ok 2,5V na pinie.

Powtarzam to, abyście mieli świadomość, że to dwa różne zagadnienia.

Zadanie dla uczniów: zrobić pianinko z klawiszy na klawiaturze.

Klawisze zxcvbnm: tak aby było wygodnie grać,

Spacja: wycisz wszystko.

Nie znam się na muzyce, dlatego wybrałem wartości losowo ale wiem, że są osoby które czują muzykę bardziej i odpowienio dopasowywują wartości. Np. w ten sposób można zagrać „Wlazł kotek na płotek”, „Panie Janie, Panie Janie” itp.

W tym przypadku klawisze grają bez końca, ponieważ zaprogramowaliśmy wysłanie konkretnego napięcia na Arduino i nie zmieniliśmy go.

Dlatego następne zadanie to:

  • Uczniu, spraw, aby dźwięk znikał po 0.3 sekundy.

A teraz dodajmy do tego diody: po naciśnięciu każdego klawisza podczas grania dźwięku niech zapala się dioda. Diodę podpiąłem pod PIN 10: dłuższa nóżka, krótszą pod GND – uziemienie.

To samo zadanie możemy zrobić z diodą RGB, aby po każdym naciśnięciu klawisza zapalała się dioda RGB w innym kolorze (czyli inną kombinację napięcia na pinach).

Na przykładzie (najdłuższa nóżka trafia do GND do uziemienia):

  • czerwona dioda trafia do pinu 5,
  • zielona dioda trafia do pinu 10 (wybrałem losowo, że 10 będzie podpięta do pinu digital i będzie miała tylko wartości- pali się lub jest zgaszona, dlatego że w S4A mamy ograniczoną ilość pinów do sterowania za pomocą Analogu),
  • niebieska dioda trafia do pinu  9.

Zadanie na czujnik przechylenia
(to ta mała cienka czarna beczka z kulką w środku z dwiema równej długości nóżkami)

  • Spraw, aby dioda zapalała się, gdy czujnik jest w prostej pozycji, i gasła, gdy jest przechylony (dioda: PIN 10).

Budujemy np. taki układ:

  • Na jedną nóżkę czujnika kulowego (bo w środku jest metalowa kulka) puszczamy napięcie 5V, czyli podpinamy do weścia na Arduino z 5V, a z drugiej nóżki odczytujemy informację, czy napięcie przepływa przez czujnik czy blokuje (w zależności od pozycji czujnika i kuli w środku, czy dotyka blaszek i przewodzi przez siebie napięcie jednocześnie zamykając układ, czy jest w innej pozycji oddalona od blaszek i nie przewodzi i wtedy mamy układ otwarty), więc 2 nóżkę podpinamy do A0.
  • Teraz na tablicy możemy obserwować zmiany w Value of sensor Analog 0, bo napięcie wchodzi do A0.
  • Jeżeli A0 jest równe 1023, to znaczy, że do A0 dociera 5V.
  • I teraz, w jeżeli uzależniamy już dowolne wyjście, czyli akcję, jaką chcemy. Ja zostawiłem zapalanie i gaszenie diody podpiętej pod pin 10. Ale może to być coś dowolnego np. sterownie głośniekiem czy duszkiem w grze.

Potencjometr jest też łatwy i przyjemny, jak przygotujecie sobie coś do sterowania, bo potencjometr to po prostu gałka do kręcenia, taka jak w radio do zmiany stacji lub w pralce do ustawiania programu.

W waszych zestawach to ok 7mm niebieski element (są ich 3 sztuki) z trzema nóżkami i białym pokrętłem na górze. Aby kręcić pokrętłem, warto użyć dodatkowego sprzętu, jak wykałaczka lub zapałka, czegoś co można włożyć w biały otwór, by obracać pokrętłem.

Zadanie:

  • Zrób sterowanego przez potencjometr, latającego i machającego skrzydłami nietoperza, który porusza się w prawo i lewo, w zależności od tego, w którą stronę kręcisz potencjometrem.

Co odpowiada za zmianę kostiumu? Zakładka „Kostiumy”.Nie dodajemy nowych duszków, tylko zmieniamy kostiumy w obecnym duszku, ponieważ jeden duszek może mieć dużo kostiumów i możemy je dowolnie zmieniać  bloczkiem „następny kostium”.

Ile minimalnie będziemy mieli kostiumów, aby uzyskać efekt ruchu i mini animacji?Ddwa, więc importujemy nowy kostium.

Jakiego zwierzaka chcemy zaobserwować w ruchu?Nietoperza, dlatego importujemy z biblioteki kostiumy z nietoperzami i usuwamy kostium „costume1” Arduino.

Jak teraz sprawić, abyśmy mieli wrażenie, że co 1 sekundę zmienia się kostium na następny?

A teraz, jak sprawić, aby nietoperz poruszał się tak, jak każe mu potencjometr?

Podpinamy te 3 nóżki w taki sposób, że:•

  • środkowa do A0 (wejście analogowe, bo informacja wchodzi do Arduino),•
  • prawa do 5V (napięcie),•
  • lewa do GND (w drugą stronę też będzie ok).

Teraz zaobserwujemy, że jak kręcimy białym pokrętłem, to wartości w tabeli się zmieniają. Na moim przykładzie od 330 do prawie 600 (środek jest na ok. 460).

A więc, jeżeli możemy sterować wartościami, to jak uzależnić poruszanie się nietoperza po osi X?

Zadanie: inne możliwości potencjometru 
(podpięty tak jak wyżej)

  • Sterowanie jasnością diody za pomocą potencjometru (dioda: PIN 5 dłuższa | krótsza GND,

  • Sterowanie potencjometrem serwem (serwo ma standard wyjść, czyli zachowane kolory kabli we wszystkich produktach).
  • Więc 3 wejścia, czerwony podpinamy do napięcia 5V, ciemny bordowy podpinamy do uziemienia czyli GND, oraz pomarańczowy podpinamy do pinu, którym będziemy sterowali sygnał (kąt ustawienia serwa) podpinamy do PIN 8.

Zadanie z serwo:

  • Podłącz serwo oraz 3 diody (PIN: 11 12 13) i ustaw orczyk (biała końcówka- wskaźnik kąta na serwie) tak, aby ustawiał się w kierunku zapalonej diody.
  • Kiedy naciśniemy klawisz 1, ma zapalić się dioda 1, a serwo ma ustawić się w jej kierunku.
  • Kiedy naciśniemy klawisz 2, ma zapalić się dioda 2 dioda, a serwo ma ustawić się w jej kierunku itd.

Zadanie podobne do poprzedniego, ale celem jest, aby diody zapalały się losowo (co sekundę inna dioda) oraz aby serwo ustawiało się na odpowiednią diodę.

Joystick

Podłączenie

Joystick   —→ Arduino

5V – 5V

GND – GND

X – A0

Y – A1

SW (switch czyli przycisk) – A2

Zadanie:

  • Podepnij joystick tak, aby sterować papugą, która macha skrzydłami co sekundę (dodajemy kostiumy w zakładce, a nie dodajemy nowego duszka).
  • Papuga ma latać w kierunku „góra – dół” i „prawo – lewo”.
  • Gdy naciśiemy joystick, papuga znosi jajko, które spada na dół.
  • Optymalnie: zrób tak, aby można było jajka układać jedno na drugim.

Najpierw ustawiamy papugę tak, aby zmieniała kostium co sekundę, wtedy mamy wrażenie animacji (tak jak to zrobiliśmy z nietoperzem).

Następnie ustawiamy warunki „joystick” – pobieramy je z tabelki za pomocą bloczka:

i wkładamy do warunków:

teraz wygląda to tak:

Ustawiamy odpowiednią wartość Analog 0 lub A1 A2 A3, w zależności od tego, gdzie podłączyliśym kabelek X od joystick.

W moim przypadku, jak wcisnę joystick do góry, moja wartość w tabelce Analog 0 pojawia się 1023.

Dlatego uzależniam go w warunku:

i teraz dodajemy klocek  warunkowy „jeżeli”. Jeśli zdanie (warunek) będzie prawdziwe, to wykonają się klocki, które są w środku. Ja chcę, aby moja papuga poruszała się w górę, dlatego zmieniam jej wartość na osi Y:

I w taki sposób ustawiam wszystkie kierunki góra-dół i prawo-lewo dla Analog 0 oraz na Analog 1.

Następnie dodajemy pętlę „zawsze” i flagę, i papuga się przemieszcza tak, jak ją zaprogramowaliśmy. Jeżeli macie inne kierunki lub wartości, musicie dostosować je do siebie, a nie bezmyślnie przepisać.

Teraz dodajemy zmienną „jajo” oraz nowego duszka (graficznego, a nie Arduino).Wychodzimy z założenia, że jeśli nacisnę przycisk joystkick SW(swich) – tu podłączyłem go do Analog 2 – pojawia się wartość = 0.

Dlatego użyję „jeżeli przycisk będzie nacisnięty”, to ustawiam jajo na 1, w przeciwnym przypadku (jeśli nie jest naciśniety), to jajo = 0.

Umieszczam ten warunek pod pozostałe, tak aby były cały czas w zawsze sprawdzane.

A to w nowym duszku graficznym – jajku daję taki skrypt:

(Pomijamy informację na środku „There’s no connection”). Arduino zgubiło mi połączenie, ale postanowiłem, że nie będę robił wszystkiego od nowa i dodałem nowe połączenie. Informacja niestety została i znikłaby, gdybym uruchomił program jeszcze raz.

Czujnik odległości HC-SR04

Czujnik ma 4 nóżki, czyli 4 połączenia.

Czujnik – Arduino

Vcc – zasilanie – 5V

Trig – 3

Echo – A5

GND – GND

Po podłączeniu, podobnie jak w poprzednim przykładzie, ustalam przedziały.

Zadanie dla uczniów:

  • Zbudować czujnik parkowania który zmienia kostiumy w zależności od odległości.

Modyfikacja 1 (wyjście to buzzer i zmiana częstotliwoście w zależności od odległości)

  • w przedziale 2-10 cm ciągły dzwięk
  • w przedziale 10-20 cm dźwięk co 0,2 sekundy
  • w przedziale 20-30 cm dźwięk co 0,2 sekundy
  • powyżej 30 cm oraz od 0-2 cisza (najmniejszą poprawną wartością jaką może fizycznie pokazać czujnik to 2).

W tym przykładzie podałem rożne ustawenia buzzera. Proszę pamięteać, że każdy może go dostosować do swoich potrzeb.

Modyfikacja 2

Takie same założenia, tylko oparte na częstotliwości świecenia 1 diody.

Modyfikacja 3

Takie same założenia, tylko łączą  częstotliwości świecenia 1 diody oraz buzzer.

Modyfikacja 4

Zadanie: na ekranie pojawia się samochód oraz sygnalizator świetlny, w zależności od odległości zminiają się kolory świateł.

  • Jeśli światło jest zielone, samochód przejeżdza i jedzie dalej.
  • Jeśli światło jest żółte, samochód zwalnia.
  • Jeśli światło jest czerwone, samochód zatrzymuje się i czeka, np. 3 sekundy na zielone, i przejeżdża.

Modyfikacja 5

Sterowanie duszkiem w grze

Na przykładzie ustawiłem tak, że jeżeli trzymam rękę blisko czujnika, duszek unosi się do góry, na osi Y, jeżeli dalej niż 15 cm, to duszek zmienia swoją pozycję na osi Y.

Inne duszki mogą latać po ekranie i zadaniem gracza jest je omijać.Tak jak poniżej stworzyłem małe duszki, które pojawiają się po lewej stronie na wartości X = -200 a wartość Y za każdym razem losują.

Jeżeli wasz duszek skacze po Y i nie porusza się w prawo, prawdopodobniespełnia warunek (dotyka krawędzi) i losuje kolejny Y. W takim przypadku zmniejszcie duszka, by nie dotykał lewej krawędzi sceny. Wtedy będzie poruszać się w prawo.

Dodatkowe wskazówki

Nie wszystkie przedmioty z pudełka będą przydatne na zajęciach związanych z Scratch 4 Arduino. Część z nich można wykorzystać tylko do zadań w Arduino IDE. A więc resztę rzeczy sugeruję schować na później, aż znajdą się uczniowie ,którzy będą chcieli więcej wiedzy i zaczną się uczyć C++.

Jedna ze szkół postanowiła, że na zajęcia będzie dawać dzieciom tylko to, co akurat zamierzają przerobić, aby zmniejszyć ryzyko pogubionego sprzętu oraz odłożyła elementy do których trzeba użyć C++.

Proszę też nie panikować, że czegoś nie macie w waszym pudełku, niektóre moduły mogą się różnić kolorem (np. potencjometry w waszych zestawach są niebieskie, a na zdjęciu jest czarny.) lub modelem. Każdy z przedmiotów w pudełku powienien mieć jakiś numer seryjny lub nazwę i po w pisaniu w wyszukiwarkę znajdziecie więcej informacji na jego temat.