HC SR04 jest zasilanym napięciem 5V ultradźwiękowym czujnikiem odległości, który działa w zakresie od 2 do 200 cm. Czujnik mierzy odległość i przekształca wynik pomiaru na sygnał wyjściowy, którego długość jest wprost proporcjonalna do zmierzonej odległości. Podczas dokonywania pomiarów pobiera on około 15mA prądu.
R1FvZvPaQypT7
Na zdjęciu czujnik odległości HC SR04. Ma postać niebieskiej płytki z dwoma okrągłymi formami. W środkowej części płytki znajdują się 4 bolce oraz tabliczka z zapisem 4.000
Czujnik odległości HC SR04
Źródło: tylko do użytku edukacyjnego.
Czujnik HC SR04 wyposażony jest w cztery piny. Dwa z nich (Vcc oraz GND) służą do zasilania czujnika, natomiast dwa pozostałe to piny sygnałowe. Pin Trig to wejście wyzwalające pomiar, a pin Echo to wyprowadzenie sygnału wyjściowego – wyniku pomiaru.
Aby rozpocząć pomiar odległości, należy na wejście wyzwalające (Trig) podać stan wysoki (trwający co najmniej 10 mikrosekund). Czujnik rozpocznie pomiar, którego wynik odczytamy z pinu wyjściowego (Echo).
Budowa układu mierzącego odległość
Co nam będzie potrzebne:
płytka stykowa
płytka Arduino Uno
ultradźwiękowy czujnik odległości HC‑SR04
przewody połączeniowe męsko–męskie
kabel USB typu A‑B do podłączenia do komputera.
Zbuduj układ przedstawiony na schemacie ideowym.
RjHUraJrdvfgO
Ilustracja przedstawia schemat elektryczny połączeń pomiędzy arduino uno a czujnikiem odległości. Pin 5V arduino podłączono do węzła o nazwie +5V, do którego podłączono także pin 1 czujnika (Vcc). Pin GND1 podłączono do wspólnego uziemienia, do którego podłączono także pin 4 (GND) czujnika. Piny D8 i D9 podłączono do węzłów Echo i Trig, do których według nazw podłączono piny czujnika (3 i 2).
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Jeśli układ jest gotowy, przejdźmy do napisania programu.
W pierwszej kolejności zdefiniujmy piny.
Linia 1. kratka define trig 9.
Linia 2. kratka define echo 8.
#define trig 9
#define echo 8
W pętli setup() ustanawiamy połączenie z monitorem portu szeregowego oraz definiujemy piny. Pin Trig definiujemy jako wyjście, a pin Echo – jako wejście.
Linia 1. Serial kropka begin otwórz nawias okrągły 9600 zamknij nawias okrągły średnik.
Linia 2. pinMode otwórz nawias okrągły trig przecinek OUTPUT zamknij nawias okrągły średnik.
Linia 3. pinMode otwórz nawias okrągły echo przecinek INPUT zamknij nawias okrągły średnik.
W pętli loop() tworzymy zmienną typu long o nazwie okres. Dalej następuje sekwencja uruchamiająca pomiar. Pierwszy krok to ustawienie na pinie połączonym z wejściem wyzwalającym czujnika (Trig) sygnału niskiego - wystarczą 2 mikrosekundy. Następnie ustawiamy stan wysoki na 10 mikrosekund. Czujnik wykonuje pomiar i zwraca wyniki na pinie Echo. Czas trwania sygnału na pinie Echo przypisujemy do zmiennej czas, a następnie wyświetlamy go w monitorze portu szeregowego.
Linia 1. long okres średnik.
Linia 3. digitalWrite otwórz nawias okrągły trig przecinek LOW zamknij nawias okrągły średnik.
Linia 4. delayMicroseconds otwórz nawias okrągły 2 zamknij nawias okrągły średnik.
Linia 5. digitalWrite otwórz nawias okrągły trig przecinek HIGH zamknij nawias okrągły średnik.
Linia 6. delayMicroseconds otwórz nawias okrągły 10 zamknij nawias okrągły średnik.
Linia 7. digitalWrite otwórz nawias okrągły trig przecinek LOW zamknij nawias okrągły średnik.
Linia 9. okres znak równości pulseIn otwórz nawias okrągły echo przecinek HIGH zamknij nawias okrągły średnik.
Linia 10. Serial kropka println otwórz nawias okrągły czas zamknij nawias okrągły średnik.
Linia 12. delay otwórz nawias okrągły 500 zamknij nawias okrągły średnik.
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. Obszar roboczy jest pusty.
Dodaj do głównego okna symulatora płytkę stykową.
R1ZQIC2uEmILm
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono płytkę stykową.
Do płytki dodaj moduł HS‑SR04.
Rx22Xz8ZT1xBF
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono płytkę stykową, a na niej czujnik odległości.
Do okna symulacji dodaj moduł Arduino Uno.
R6q5D0t1KyOX7
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz obok płytkę stykową, a na niej czujnik odległości.
Pin VCC czujnika HC‑SR04 podepnij do pinu 5V Arduino.
R1b8v0BS7oScV
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz obok płytkę stykową, a na niej czujnik odległości. Pin 5V arduino podłączono do pinu Vcc czujnika.
Pin Trig czujnika podepnij pod pin D9.
R8FzgyvZ0Srry
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz obok płytkę stykową, a na niej czujnik odległości. Pin 5V arduino podłączono do pinu Vcc czujnika. Pin 9 arduino podłączono do pinu Trig czujnika.
Pin Echo podepnij pod pin D8.
ReFnkyvzPrJFM
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz obok płytkę stykową, a na niej czujnik odległości. Pin 5V arduino podłączono do pinu Vcc czujnika. Pin 9 arduino podłączono do pinu Trig czujnika. Pin 8 arduino podłączono do pinu Echo czujnika.
Pin GND czujnika podepnij pod pin GND Arduino.
R1URXi2UfOPnU
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz obok płytkę stykową, a na niej czujnik odległości. Pin 5V arduino podłączono do pinu Vcc czujnika. Pin 9 arduino podłączono do pinu Trig czujnika. Pin 8 arduino podłączono do pinu Echo czujnika. Pin GND arduino podłączono do pinu GND czujnika.
Przejdźmy teraz do pisania kodu. W tym celu klikamy na przycisk Kod, z listy rozwijanej wybieramy Tekst, potwierdzamy chęć zmiany widoku i czyścimy zawartość.
Przepisz kod, dopasuj widok okna, kliknij na belkę Konsola szeregowa i uruchom symulację.
RwUCy10w4LaeS
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz obok płytkę stykową, a na niej czujnik odległości. Pin 5V arduino podłączono do pinu Vcc czujnika. Pin 9 arduino podłączono do pinu Trig czujnika. Pin 8 arduino podłączono do pinu Echo czujnika. Pin GND arduino podłączono do pinu GND czujnika. Po prawej stronie otwarto edytor kodu: #define trig 9 #define echo 8 void setup() { Serial.begin (9600); pinMode (trig, OUTPUT); pinMode (echo, INPUT); } void loop() { long okres; digitalWrite (trig, LOW); delayMicroseconds (2); digitalWrite (trig, HIGH); delayMicroseconds (10); digitalWrite (trig, LOW); okres = pulseIn (echo, HIGH); Serial.println (okres); delay (500); }
Uruchom film, by zobaczyć działanie programu w symulatorze kodu Autodesk Tinkercad.
R16PcCTCfZRmZ
Film nawiązujący do treści materiału. Przedstawia działanie opisanej uprzednio symulacji polegającej na mierzeniu odległości w środowisku Tinkercad.
Film nawiązujący do treści materiału. Przedstawia działanie opisanej uprzednio symulacji polegającej na mierzeniu odległości w środowisku Tinkercad.
Film nawiązujący do treści materiału. Przedstawia działanie opisanej uprzednio symulacji polegającej na mierzeniu odległości w środowisku Tinkercad.
Efektem działania programu są wyświetlane na ekranie liczby odpowiadające długości sygnału wyjściowego generowanego przez czujnik i odczytywanego z pinu Echo. Łatwo zauważyć, że im bliżej czujnika znajduje się przeszkoda, tym liczby są mniejsze. Jednak by stały się one bardziej zrozumiałe, konieczne jest ich przekształcenie – tak by wyrażone były w bardziej przyjaznych jednostkach. Aby uzyskać odległość od przeszkody wyrażoną w centymetrach, czas trwania sygnału należy podzielić przez 58.
Układ mierzący odległość w centymetrach
Jak już powiedzieliśmy, aby wynik pomiaru odległości był podawany w centymetrach, czas musimy podzielić przez liczbę 58. Zmodyfikujmy zatem nasz kod i sprawdźmy wyniki.
Do pętli loop() dodajemy nową zmienną odleglosc. Dodajemy też linię kodu, w której do zmiennej odleglosc przypisywana jest wartość czasu podzielona przez 58.
Linia 1. kratka define trig 9.
Linia 2. kratka define echo 8.
Linia 4. void setup otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. Serial kropka begin otwórz nawias okrągły 9600 zamknij nawias okrągły średnik.
Linia 6. pinMode otwórz nawias okrągły trig przecinek OUTPUT zamknij nawias okrągły średnik.
Linia 7. pinMode otwórz nawias okrągły echo przecinek INPUT zamknij nawias okrągły średnik.
Linia 8. zamknij nawias klamrowy.
Linia 10. void loop otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. long okres średnik.
Linia 12. long odleglosc średnik.
Linia 14. digitalWrite otwórz nawias okrągły trig przecinek LOW zamknij nawias okrągły średnik.
Linia 15. delayMicroseconds otwórz nawias okrągły 2 zamknij nawias okrągły średnik.
Linia 16. digitalWrite otwórz nawias okrągły trig przecinek HIGH zamknij nawias okrągły średnik.
Linia 17. delayMicroseconds otwórz nawias okrągły 10 zamknij nawias okrągły średnik.
Linia 18. digitalWrite otwórz nawias okrągły trig przecinek LOW zamknij nawias okrągły średnik.
Linia 20. okres znak równości pulseIn otwórz nawias okrągły echo przecinek HIGH zamknij nawias okrągły średnik.
Linia 21. odleglosc znak równości okres prawy ukośnik 58 średnik.
Linia 23. Serial kropka print otwórz nawias okrągły odleglosc zamknij nawias okrągły średnik.
Linia 24. Serial kropka println otwórz nawias okrągły cudzysłów cm cudzysłów zamknij nawias okrągły średnik.
Linia 26. delay otwórz nawias okrągły 500 zamknij nawias okrągły średnik.
Linia 27. zamknij nawias klamrowy.
Do tej symulacji nie musimy modyfikować połączenia. Musimy natomiast zmodyfikować kod.
Uruchom film, by zobaczyć działanie programu w symulatorze kodu Autodesk Tinkercad.
RlVjuWFvRczn7
Film nawiązujący do treści materiału. Przedstawia działanie opisanej uprzednio symulacji polegającej konstrukcji układu mierzącego odległości w centymetrach w środowisku Tinkercad.
Film nawiązujący do treści materiału. Przedstawia działanie opisanej uprzednio symulacji polegającej konstrukcji układu mierzącego odległości w centymetrach w środowisku Tinkercad.
Film nawiązujący do treści materiału. Przedstawia działanie opisanej uprzednio symulacji polegającej konstrukcji układu mierzącego odległości w centymetrach w środowisku Tinkercad.
Układ scalony L293D
Aby do Arduino podłączyć silniki, konieczne jest zastosowanie dodatkowych pośredniczących elementów sterujących. Elementy takie możemy zbudować samodzielnie (jest to układ złożony z kilku tranzystorów). Możemy również wykorzystać do tego celu scalone mostki Hmostek Hmostki H.
To drugie rozwiązanie ma dodatkową zaletę. Dzięki mostkom H możemy bowiem bezpiecznie sterować silnikami, których praca wymaga zasilania prądem 12V i 1A.
Ważne!
Linie sygnałowe Arduino mogą pracować maksymalnie z prądem 5V i 20mA.
Układ scalony L293D zawiera dwa mostki H. Dzięki temu możemy go wykorzystać do sterowania dwoma silnikami.
Układ L293D ma 16 wyprowadzeń. Są one oznaczone następująco:
RKD9tAJHyBqFx
Ilustracja przedstawia układ scalony L293D. Posiada on 16 pinów, a na górze specjalne wyżłobienie w postaci półkola. Piny numerowane są od lewego górnego rogu przeciwnie do wskazówek zegara: 1 - Enable 1, 2 2 - Input 1 3 - Output 1 4 - GND 5 - GND 6 - Ouput 2 7 - Input 2 8 - VCC 2 9 - Enable 3, 4 10 - Input 3 11 - Output 3 12 - GND 13 - GND 14 - Output 4 15 - Input 4 16 - VCC 1
Piny zasilania:
4, 5, 12, 13 - łączymy razem do masy (GND)
16 - zasilanie Vcc części logicznej (5V)
8 - zasilanie Vc silników (do 36V)
Piny sterujące silnikami:
2, 7 - wejścia określające kierunek obrotów pierwszego silnika
10, 15 - wejścia określające kierunek obrotów drugiego silnika
1 - wejście ENABLE określające prędkość pierwszego silnika
9 - wejście ENABLE określające prędkość drugiego silnika
Piny silników:
3, 6 - wyjścia do pierwszego silnika
11, 14 - wyjścia do drugiego silnika
W celu zatrzymania silników lub zmiany kierunku jazdy najlepiej zbudować tablicę prawdytablica prawdytablicę prawdy.
R1PEpldNq8vYJ
Ilustracja przedstawia tabelę z rozpisanymi stanami pinów: Nagłówek: Enable, In 1, In 2, Silnik. Rząd po rzędzie: PWM, 1, 0, Lewo. PWM, 0, 1, Prawo. PWM, 0, 0, Stop. PWM, 1, 1, Stop.
Symulacja silnika
Zbudowany układ może być zasilony jednym lub dwoma napięciami (VCC 1, VCC 2). Pierwszy wariant oznacza, że zarówno silniki, jak i cała logika układu będą zasilane z tego samego źródła. Takie połączenie nie jest dobrą praktyką i nie jest zalecane, gdy chcemy zasilać silniki.
My jednak na potrzeby naszej symulacji silnika zastosujemy ten właśnie wariant podłączenia zasilania, czyli z jednym wspólnym zasilaniem pinów VCC 1 oraz VCC 2.
Co nam będzie potrzebne:
dwie diody LED w różnych kolorach
jeden rezystor 1 kΩomega
płytka stykowa
płytka Arduino Uno
układ L293D
przewody połączeniowe męsko‑męskie
dwa przyciski tact switch 6x6 mm
kabel USB typu A‑B do podłączenia do komputera.
Zbuduj układ na płytce stykowej według poniższego schematu ideowego.
R1FFCVrzXSpkI
Ilustracja przedstawia schemat elektryczny połączeń arduino z układem L293D. Pin GND arduino podłączono do wspólnego uziemienia, tak samo jak piny 4, 5, 12 i 13 układu. Pin 5V arduino podłączono do węzła o nazwie +5V, do którego podłączono piny Enable 3, 4, VCC 1 oraz VCC 2. Pin D2 podłączono do przycisków kolejno Lewo, potem Prawo, a kończy połączenie w pinie D3 arduino. Pin D4 podłączono do pinu 2 układu, natomiast pin D5 do 7 układu. Z pinu 3 poprzez rezystor 1 kilo-om podłączono układ 2 LED podłączonych anodą do katody, tak więc podłączone następnie jest do pinu 6 układu.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Jeśli układ jest gotowy, przejdźmy do napisania prostej symulacji silnika. Za pomocą przycisków SW1 i SW2 będziemy symulować kierunek obrotu silnika.
Na początek zdefiniujemy piny.
Linia 1. kratka define KierunekLewo 2.
Linia 2. kratka define KierunekPrawo 3.
Linia 3. kratka define DiodaLewo 4.
Linia 4. kratka define DiodaPrawo 5.
W pętli loop() ustawiamy proste warunki. Jeśli wciśniemy przycisk SW1 (kierunek w LEWO), program ma zaświeć diodę, która symuluje obrót silnika w lewo (w prezentowanym przypadku jest to dioda niebieska). Jeśli wciśniemy przycisk SW2 (kierunek w PRAWO), program ma zaświecić diodę, która symuluje obrót silnika w kierunku prawym (w prezentowanym przypadku jest to dioda czerwona).
Ustawmy czas świecenia danej diody na 3 sekundy, po czym ją zgasimy.
Linia 1. if otwórz nawias okrągły digitalRead otwórz nawias okrągły KierunekPrawo zamknij nawias okrągły znak równości znak równości LOW zamknij nawias okrągły otwórz nawias klamrowy.
Linia 2. digitalWrite otwórz nawias okrągły DiodaLewo przecinek LOW zamknij nawias okrągły średnik.
Linia 3. digitalWrite otwórz nawias okrągły DiodaPrawo przecinek HIGH zamknij nawias okrągły średnik.
Linia 4. delay otwórz nawias okrągły 3000 zamknij nawias okrągły średnik.
Linia 5. digitalWrite otwórz nawias okrągły DiodaPrawo przecinek LOW zamknij nawias okrągły średnik.
Linia 6. zamknij nawias klamrowy else if otwórz nawias okrągły digitalRead otwórz nawias okrągły KierunekLewo zamknij nawias okrągły znak równości znak równości LOW zamknij nawias okrągły otwórz nawias klamrowy.
Linia 7. digitalWrite otwórz nawias okrągły DiodaLewo przecinek HIGH zamknij nawias okrągły średnik.
Linia 8. digitalWrite otwórz nawias okrągły DiodaPrawo przecinek LOW zamknij nawias okrągły średnik.
Linia 9. delay otwórz nawias okrągły 3000 zamknij nawias okrągły średnik.
Linia 10. digitalWrite otwórz nawias okrągły DiodaLewo przecinek LOW zamknij nawias okrągły średnik.
Linia 11. zamknij nawias klamrowy.
Wgraj kod do Arduino Uno i uruchom symulację silnika.
Zróbmy symulację silnika, za pomocą środowiska Tinkercad.
Z listy Komponenty wybierz Wszystko, znajdź i dodaj do okna symulacji płytkę stykową.
R1LJ4cGvOVtI8
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono płytkę stykową.
Do płytki dodaj układ L293D.
RI0WQzoDx1Dos
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono płytkę stykową. Po środku płytki umieszczono układ L293D.
Dodaj teraz dwie diody w różnych kolorach.
R6RSlstfSCCGW
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną.
Do jednej z nóżek diody dodaj rezystor o wartości 1 kΩomega.
R108uMC3udZA7
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om.
Dodaj teraz dwa przyciski do płytki.
R3CnAUowPgQLW
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om. Po prawej stronie płytki umieszczono 2 przyciski.
Do okna symulacji dodaj moduł Arduino Uno.
R1W1Uw1HfnJ0l
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om. Po prawej stronie płytki umieszczono 2 przyciski.
Do ujemnej szyny płytki podepnij: pin GND Arduino, pin 4 układu L293D, pin 5 układu L293D, pin 12 układu L293D, pin 13 układu L293D oraz po jednym pinie każdego z przycisków.
R1JaNZDbSZDNF
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13).
Do dodatniej szyny płytki podepnij: pin 5V Arduino, pin 1 układu L293D, pin 8 układu L293D, pin 16 układu L293D.
RrYOkSraroYkK
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13). Pin 5V podłączono do dodatniej szyny płytki, tam też podłączono 1, 8 i 16 pin układu.
Podepnij katodę pierwszej diody z anodą drugiej diody. Następnie podepnij anodę pierwszej diody z katodą drugiej diody.
Rh8bqp6xFEPRX
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om, 2 kablami podłączono anody do katod obydwu LED. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13). Pin 5V podłączono do dodatniej szyny płytki, tam też podłączono 1, 8 i 16 pin układu.
Wolną nóżkę rezystora podepnij pod pin 3 układu L293D.
R1OprUlUyQRQm
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om, 2 kablami podłączono anody do katod obydwu LED. Rezystor podłączono do pinu 3 układu. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13). Pin 5V podłączono do dodatniej szyny płytki, tam też podłączono 1, 8 i 16 pin układu.
Połączenie diod w którym nie ma rezystora podepnij pod pin 6 układu L293D.
R94LM7OmzEer8
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om, 2 kablami podłączono anody do katod obydwu LED. Rezystor podłączono do pinu 3 układu. Do pinu 6 podłączono pozostałe połączenie LED. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13). Pin 5V podłączono do dodatniej szyny płytki, tam też podłączono 1, 8 i 16 pin układu.
Pin 2 układu L293D podepnij z pinem D4 Arduino.
RD9j6nSW8v3XA
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om, 2 kablami podłączono anody do katod obydwu LED. Rezystor podłączono do pinu 3 układu. Do pinu 6 podłączono pozostałe połączenie LED. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13). Pin 5V podłączono do dodatniej szyny płytki, tam też podłączono 1, 8 i 16 pin układu. Pin D4 podłączono do pinu 2 układu.
Pin 7 układu L293D podepnij z pinem D5 Arduino.
R18fWE8cErDkF
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om, 2 kablami podłączono anody do katod obydwu LED. Rezystor podłączono do pinu 3 układu. Do pinu 6 podłączono pozostałe połączenie LED. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13). Pin 5V podłączono do dodatniej szyny płytki, tam też podłączono 1, 8 i 16 pin układu. Pin D4 podłączono do pinu 2 układu. Pin D5 podłączono do pinu 7 układu.
Wolny pin pierwszego przycisku podepniemy pod pin D3 Arduino.
ROWYLoDRct7AT
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om, 2 kablami podłączono anody do katod obydwu LED. Rezystor podłączono do pinu 3 układu. Do pinu 6 podłączono pozostałe połączenie LED. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13). Pin 5V podłączono do dodatniej szyny płytki, tam też podłączono 1, 8 i 16 pin układu. Pin D4 podłączono do pinu 2 układu. Pin D5 podłączono do pinu 7 układu. Prawy górny pin pierwszego przycisku podłączono do pinu D3 arduino.
Wolny pin drugiego przycisku podepniemy pod pin D2 Arduino.
R1N0JkwIoQeCp
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om, 2 kablami podłączono anody do katod obydwu LED. Rezystor podłączono do pinu 3 układu. Do pinu 6 podłączono pozostałe połączenie LED. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13). Pin 5V podłączono do dodatniej szyny płytki, tam też podłączono 1, 8 i 16 pin układu. Pin D4 podłączono do pinu 2 układu. Pin D5 podłączono do pinu 7 układu. Prawy górny pin pierwszego przycisku podłączono do pinu D3 arduino. Prawy górny pin drugiego przycisku podłączono do pinu D2 arduino.
Przejdźmy teraz do pisania kodu. W tym celu klikamy na przycisk Kod, z listy rozwijanej wybieramy Tekst, potwierdzamy chęć zmiany widoku i czyścimy zawartość.
Przepisz kod, dopasuj widok okna i uruchom symulację.
Rt6K0yswdAQOG
Zdjęcie ekranu przedstawia okno przeglądarki z otwartą stroną Tinkercad. W obszarze roboczym umieszczono arduino uno oraz płytkę stykową. Po środku płytki umieszczono układ L293D. Po prawej stronie układu ułożono 2 diody - niebieską i czerwoną, do jednej nóżki diody czerwonej podłączono rezystor 1 kilo-om, 2 kablami podłączono anody do katod obydwu LED. Rezystor podłączono do pinu 3 układu. Do pinu 6 podłączono pozostałe połączenie LED. Po prawej stronie płytki umieszczono 2 przyciski. Pin GND arduino podłączono do ujemnej szyny płytki stykowej, do niej podłączono także lewy dolny pin obydwu przycisków, tak jak środkowe piny układu (4, 5, 12 i 13). Pin 5V podłączono do dodatniej szyny płytki, tam też podłączono 1, 8 i 16 pin układu. Pin D4 podłączono do pinu 2 układu. Pin D5 podłączono do pinu 7 układu. Prawy górny pin pierwszego przycisku podłączono do pinu D3 arduino. Prawy górny pin drugiego przycisku podłączono do pinu D2 arduino. Po prawej stronie otwarto edytor kodu: #define KierunekLewo 2 #define KierunekPrawo 3 #define DiodaLewo 4 #define DiodaPrawo 5 void setup() { pinMode (KierunekLewo, INPUT_PULLUP); pinMode (KierunekPrawo, INPUT_PULLUP); pinMode (DiodaLewo, OUTPUT); pinMode (DiodaPrawo, OUTPUT); } void loop() { if (digitalRead (KierunekPrawo) == LOW) { digitalWrite (DiodaLewo, LOW); digitalWrite (DiodaPrawo, HIGH); delay (3000); digitalWrite (DiodaPrawo, LOW); } else if (digitalRead (KierunekLewo) == LOW) { digitalWrite (DiodaLewo, HIGH); digitalWrite (DiodaPrawo, LOW); delay (3000); digitalWrite (DiodaLewo, LOW); } }
Uruchom film, aby zobaczyć działanie programu w symulatorze kodu Autodesk Tinkercad.
RcS8QzVzjnEN6
Film nawiązujący do treści materiału. Przedstawia symulację działania silnika w środowisku Tinkercad.
Film nawiązujący do treści materiału. Przedstawia symulację działania silnika w środowisku Tinkercad.
Film nawiązujący do treści materiału. Przedstawia symulację działania silnika w środowisku Tinkercad.
Słownik
light‑follower
light‑follower
robot podążający za światłem
delayMicroseconds ();
delayMicroseconds ();
funkcja odliczająca czas w mikrosekundach (µs)
mostek H
mostek H
często stosowany w robotyce układ elektryczny umożliwiający sterowanie kierunkiem działania silników prądu stałego (DC)
tablica prawdy
tablica prawdy
tabela kombinacji zero‑jedynkowych przedstawiająca wyniki operacji logicznych danego układu dla każdej z możliwych kombinacji stanów logicznych na jego wejściu