Sygnały, czyli pogadajmy z Arduino

Podobne dokumenty
Podstawy elektroniki: praktyka

Notatka lekcja_#3_1; na podstawie W.Kapica 2017 Strona 1

Rafał Staszewski Maciej Trzebiński, Dominik Derendarz

ze względu na jego zaokrąglony kształt musimy go umieścić w innych bloczkach np. ze zmienną: lub jeśli chcemy sprawdzić jaki właśnie znak odczytujemy:

PROGRAMOWANIE PWM. Porty, które mogą być zamienione na PWM w każdym module RaT16 to port 3,4,5,6

Arduino i nowe diody RGB

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Część 1 Wstęp. tylne: wyłączone, pozycyjne, hamowania; pozostałe: wyłączone, włączone.

Spis treści. 1. Rozdział Rozdział Rozdział Rozdział Koniec spisu treści -

DWUKIERUNKOWY REGULATOR SILNIKA DC VDC 20A

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

NARZĘDZIA WYMAGANE: Aby zainstalować UNI-IR potrzebny jest woltomierz o zakresie 20 woltów (Najlepszy będzie przyrząd automatyczny)

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

INSTRUKCJA OBSŁUGI K3-3. Czytnik kart i zamek kodowy z kontrolerem dostępu i interfejsem Wiegand. Copyright Domster T. Szydłowski

Miernik poziomu cieczy MPC-1

Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m

Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m

EKSPANDER WEJŚĆ ADRESOWALNYCH int-adr_pl 05/14

WARIATOR USTAWIENIA Białystok, Plażowa 49/1, Poland,

Multimetr z testerem kablowym CT-3 Nr produktu

SERIA D STABILIZATOR PRĄDU DEDYKOWANY DO UKŁADÓW LED

DPS-3203TK-3. Zasilacz laboratoryjny 3kanałowy. Instrukcja obsługi

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

Zespół Szkół Technicznych w Skarżysku - Kamiennej. Projekt budowy Zasilacza regulowanego. Opracował: Krzysztof Gałka kl. 2Te

Laboratorium Metrologii

MoboLab roboty i tablety w Twojej szkole Obszar II. Stwórz własnego robota Scenariusze lekcji i zajęć pozalekcyjnych

Arduino jako wyłącznik z opóźnieniem

lider projektu: finansowanie:

Co się stanie, gdy połączymy szeregowo dwie żarówki?

System zdalnego sterowania

NIEZBĘDNY SPRZĘT LABORATORYJNY

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

dv-2ps INSTRUKCJA OBSŁUGI

Multimetr cyfrowy Extech EX320, CAT III 600V

Ile wynosi całkowite natężenie prądu i całkowita oporność przy połączeniu równoległym?

INSTRUKCJA PANEL STERUJĄCY MT-5

REGULATOR ŁADOWANIA 12V / 24V / 36V / 48V DC DO INSTALACJI ELEKTROWNI WIATROWEJ

WARIATOR WYPRZEDZENIA ZAPŁONU WARIATOR USTAWIENIA

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

Tester kabli Voltcraft CT-5, RJ-45, BNC, RJ-11, IEE 1394, USB Nr produktu: Wersja: 19/08 Strona 1 z 5

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Instrukcja montażu i obsługi Schodowego Czujnika Ruchu SCR-3/4

Multi tester kabli TCT Instrukcja obsługi

AX-MS6812 Instrukcja obsługi

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Wyniki (prawie)końcowe - Elektroniczne warcaby

INSTRUKCJA MONTAŻU I OBSŁUGI PRZENOŚNEGO PANELU KONTROLUJĄCEGO

CRN Profesjonalny czujnik ruchu 12V. Elementy czujnika

Badanie diod półprzewodnikowych

Instrukcja podłączenia i programowania modułu

REGULATOR NAPIĘCIA STR DOKUMENTACJA TECHNICZNA INSTRUKCJA

Spis treści. Realitynet.pl - przystępnie o komputerach

Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo

Miernik Cęgowy Extech EX730, CAT III 600 V

Instrukcja ST-226/ST-288

PX206. Switch 8 x 1A OC INSTRUKCJA OBSŁUGI

KIESZONKOWY MULTIMETR CYFROWY AX-MS811. Instrukcja obsługi

DMX Demux 16 Demux 16 OEM

INSTRUKCJA KALIBRACJI TRUETRUE

Instrukcja instalacji modułów wejść M910E M920E, modułu wejść/wyjść M921E oraz modułu wyjść M901E.

REGULOWANE ZASILACZE DC SERIA DPD

STEROWNIK LAMP LED MS-1 Konwerter sygnału 0-10V. Agropian System

Badanie współczynników lepkości cieczy przy pomocy wiskozymetru rotacyjnego Rheotest 2.1

Instrukcja obsługi. Nr produktu: Miernik Cęgowy Extech EX710, CAT III 600 V

SZYBKI START. Na jednym z pulpitów wciśnij i przytrzymaj przycisk (4) aż poczujesz wibracje,

TERMOSTAT ELEKTRONICZNY TERP INSTRUKCJA

CENTRALA ALARMOWA CA-1A

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

ve Wyświetlacz LCD

DPM961 / DPM962. Cyfrowy multimetr panelowy INSTRUKCJA OBSŁUGI. Nr produktu Strona 1 z 11

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

W1-B/C W3-B/C. Metalowy wodoodporny kontroler dostępu. Instrukcja obsługi. Copyright Domster T. Szydłowski

INSTRUKCJA OBSŁUGI MODUŁ TABLICY SYNOPTYCZNEJ - MTS42. Aktualizacja

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Przełącznik KVM USB. Przełącznik KVM USB z obsługą sygnału audio i 2 portami. Przełącznik KVM USB z obsługą sygnału audio i 4 portami

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Instrukcja montażu i obsługi Schodowego Czujnika Ruchu SCR-2

EDO-uP nowoczesny mikroprocesorowy ściemniacz oświetlenia wnętrza auta.

Laboratorium Analogowych Układów Elektronicznych Laboratorium 4

Q3 Autonomiczny czytnik kart i zamek kodowy z kontrolerem dostępu, przyciskiem dzwonka i interfejsem Wiegand

PILOT RGB 4-STREFY, radiowy RF, programowalny, seria SEMI MAGIC

Uniwersalne zdalne sterowanie magnetowidem IR Nr art

MATRIX. Zasilacz DC. Podręcznik użytkownika

Firma DAGON Leszno ul. Jackowskiego 24 tel Produkt serii DAGON Lighting

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

INSTRUKCJA OBSŁUGI U700

Ćwiczenie 1. Sprawdzanie podstawowych praw w obwodach elektrycznych przy wymuszeniu stałym

LEGENDFORD. system alarmowy

Urządzenia do bezprzerwowego zasilania UPS CES GX. 6 kva. Wersja U/CES_GX_6.0/J/v01. Praca równoległa

Pracownia pomiarów i sterowania Ćwiczenie 1 Pomiar wielkości elektrycznych z wykorzystaniem instrumentów NI ELVIS II

Instrukcja obsługi. Zamek szyfrowy ATLO-RM (wersja bez klawiatury) Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia.

BEZPRZEWODOWY DOM. bezprzewodowa kontrola urządzeń i oświetlenia

STEROWNIK TUBY LED STM-64

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

INSTRUKCJA OBSŁUGI PILOTA MAK PLUS

REGULATOR NAGRZEWNICY ELEKTRYCZNEJ STR-NE DOKUMENTACJA TECHNICZNA INSTRUKCJA

Transkrypt:

Sygnały, czyli pogadajmy z Arduino Wejścia i wyjścia cyfrowe (zero-jedynkowe) Na samym początku zasialiśmy układ baterią, ale taka bateria szybko nam się rozładowuje i trzeba kupić nową. Zamiast tego możemy brać zasilanie z portu USB komputera i wykorzystywać już tylko samą płytkę Arduino. Zasilanie z USB, a zarazem to, które będziemy brać z Arduino ma napięcie równe 5V. Plusem naszego zasilania będzie właśnie znaleziony na Arduino pin 5V. Minusem zasilania będzie GND - czyli tak zwana MASA. a) Dioda LED jako przykład wyjścia cyfrowego Przypomnijmy o czym musimy pamiętać przy podpinaniu diody do Arduino? Która noga diody jest +plusem, a która -minusem. O użyciu rezystora. Bez niego możemy spalić diodę! Jeśli chcemy, żeby dioda po prostu świeciła możemy podłączyć ją do zasilania ( +5V i GND ), jak na Rysunku 1, ale co jeśli chcemy zaprogramować sposób w jaki się świeci? Musimy podłączyć ją trochę inaczej. Rysunek 1: Dioda podpięta do Arduino tak, że zaświeci się, ale nie będziemy mogli jej programować. strona 1

Rysunek 2: Przykładowe programy sterujące diodą. Poza korzystaniem z zasilania mamy na Arduino dodatkowo tak zwane WEJŚCIA i WYJŚCIA. O WEJŚCIACH mówimy wtedy, kiedy jakaś informacja wchodzi do Arduino (przykłady podamy sobie w kolejnej części), a o WYJŚCIACH mówimy kiedy informacja wychodzi z Arduino. Np. kiedy chcemy sterować Diodą LED tak, żeby nadawała sygnał S.O.S. to z Arduino wychodzi informacja o tym, czy dioda ma się zapalić, czy ma zostać zgaszona. Wykorzystujemy do tego bloczki "Digital [13/12/11/10] on" i "Digital [13/12/11/10] off" jak na Rysunku 2. Bloczek: " Digital13 on" ustawia port na +5V. Bloczek: " Digital13 off" z kolei ustawia go na GND (czyli 0V). Żeby dioda LED reagowała na nasz program musimy ją też odpowiednio podłączyć właśnie do wybranego wyjścia - DIGITAL13, DIGITAL12, DIGITAL11 lub DIGITAL10 jak na Rysunku 2. Z diodą w ten sposób możemy zrobić tylko dwie rzeczy: włączyć, albo wyłączyć. Albo na Digital13 będzie 5V, albo 0V. Dioda się zaświeci, albo nie. Nie mamy nic innego do wyboru. Nie możemy sterować jasnością diody. Nie możemy ustawić 2,5V, albo 3V. Takie wyjścia Arduino, którymi możemy sterować tylko na dwa sposoby nazywamy cyfrowymi. strona 2

Rysunek 2: Dioda podpięta tak, że możemy zaprogramować sposób w jaki się świeci. b) Przycisk jako przykład wejścia cyfrowego W pierwszej kolejności musimy wiedzieć, które nogi przycisku są ze sobą połączone. Na zajęciach mierzyliśmy to miernikiem ustawiając go w trybie, który pikaniem informuje nas, czy coś jest połączone. Efekt testów widzimy na Rysunku 4. Rysunek 4: Które nogi przycisku są ze sobą połączone jeśli go nie naciskamy. Żółty kolor pokazuje połączenia między nogami przycisku. Przy takim ułożeniu na płytce stykowej cały rząd 1 ( kolor niebieski ) jest ze sobą połączony zarówno po lewej jak i po prawej stronie. Tak samo sytuacja wygląda w rzędzie 3 ( kolor różowy ). strona 3

Rysunek 5: Które nogi przycisku są ze sobą połączone jeśli go naciskamy. Po naciśnięciu przycisku powtórzyliśmy testy i okazało się, że wszystkie nogi się łączą. W ten sposób łączą się ze sobą również całe rzędy nr 1 i 3 płytki stykowej ( kolor różowy ). Musimy o tym pamiętać, żeby nie zrobić niechcący zwarcia! Dla utrwalenia: WEJŚCIEM nazywamy piny Arduino do których informacja wchodzi. WEJŚCIAMI będą na przykład DIGITAL2 i DIGITAL3, bo za ich pomocą informacja wchodzi do Arduino. Przetestowaliśmy sobie jak zachowują się wejścia cyfrowe DIGITAL2 i DIGITAL3 jeśli podłączymy je do +5V, albo do GND i efekt można zobaczyć na Rysunku 6. strona 4

Rysunek 6 : Przykładowe podłączenie - DIGITAL2 do +5V, a DIGITAL3 do GND. Wnioski, które mieliśmy po eksperymentach z różnymi połączeniami: Jeśli do DIGITAL2 lub DIGITAL3 podłączyliśmy +5V Scratch oznacza to jako "True", czyli "Prawda". Jeśli DIGITAL2 lub DIGITAL3 podłączymy do GND Scratch oznacza to jako "False", czyli "Fałsz". Jeśli DIGITAL2 i DIGITAL3 nie są podłączone do niczego to Scratch czasami losowo pokazuje "True", a czasami "False". Pamiętajmy o tym! Zaraz zobaczymy jakie problemy to powoduje! DIGITAL2 i DIGITAL3 czytają tylko dwie informacje: albo odczytują napięcie jako TRUE, albo jako FALSE - dlatego są wejściami CYFROWYMI. Łącząc informacje o działaniu przycisku i zachowaniu DIGITAL2 oraz DIGITAL3 podłączyliśmy układ jak na Rysunku 7, ale niestety nie działało to poprawnie. Rysunek 7: Pierwsza próba podłączenia przycisku. Po naciśnięciu przycisku pin DIGITAL2 łączy się z +5V, a Scratch pokazuje "True". Niestety kiedy przycisk nie jest wciśnięty, DIGITAL2 nie jest podłączony do niczego i Scratch pokazuje czasami "True", a czasami "False" co zaburza poprawne działanie programu. Takie połączenie nie wystarczy! strona 5

Ostatecznie pokazaliśmy sobie, że żeby przycisk poprawnie działał musimy dodatkowo użyć rezystora podłączonego do GND - jak na Rysunku 8. Rysunek 8: Poprawne podłączenie przycisku do DIGITAL2 Jak to działa? Narysujmy sobie dodatkowo linie pokazujące co się z czym łączy - patrz Rysunek 9 i Rysunek 10. Rysunek 9: Poprawne połączenie przycisku: co się z czym łączy jeśli nie naciskamy przycisku. strona 6

Jeśli nie naciskamy przycisku to DIGITAL2 jest podłączone przez rezystor do GND. W ten sposób jedyne napięcie jakie widzi DIGITAL2 to właśnie GND. Z drugiej strony przycisk jest podłączony do +5V, ale tak długo jak nie naciśniemy przycisku +5V nie łączy się z niczym, a DIGITAL2 nie widzi tego +5V, W takiej sytuacji Scratch pokazuje nam "False". Sytuacja zmienia się dopiero po naciśnięciu przycisku, co możemy zaobserwować na Rysunku 10. Rysunek 10: Poprawne podłączenie przycisku: co się z czym łączy po wciśnięciu przycisku. Teraz DIGITAL2 z jednej strony łączy się bezpośrednio z +5V i jednocześnie z drugiej strony z rezystorem. Scratch pokazuje "True". Rezystor stawia opór i dzięki temu nie robimy zwarcia. Zauważ też, że rezystor, którego używamy przy przycisku ma na sobie zielony pasek, a ten którego używaliśmy przy diodzie miał pasek czerwony. Na razie będziemy mówić, że rezystor z czerwonym paskiem jest "mały" (stawia prądowi mniejszy opór), a ten z zielonym paskiem to rezystor "duży" (stawia większy opór). Jeśli to na ten moment wydaje ci się trudne, nie przejmuj się, w praktyce ważne dla naszej pracy jest to, żebyśmy przede wszystkim potrafili podłączyć poprawnie przycisk do Arduino tak jak na Rysunku 8. Możesz z tego rysunku zawsze korzystać jak ze ściągi! strona 7

Wejścia i wyjścia analogowe a) Potencjometr, jako przykład wejścia analogowego Zanim zajęliśmy się potencjometrem wykonaliśmy serię pomiarów: a) Jaki opór ma jeden rezystor, którego używaliśmy do podłączenia diody? Rysunek 11. Pomiar oporu pojedynczego rezystora ("małego" jak nazywam go na zajęciach). Żółty ekran na Rysunku 11 to wynik pomiaru miernikiem. Grecka litera Ω oznacza tutaj "Omy", które są jednostką miary oporu, tak jak wolty są jednostką miary napięcia, a metry są jednostką miary długości. Rezystor, którego używaliśmy do podłączenia diody ma 1.00 kω (jeden kiloom), czyli 1000Ω (tysiąc omów). b) Następnie sprawdziliśmy jaki opór mają w sumie dwa takie rezystory połączone ze sobą jedną nogą. Wynik widać na Rysunku 12. Rysunek 12: Dwa rezystory 1.00 kω połączone ze sobą jedną nogą. strona 8

Takie połączenie ze sobą rezystorów nazywamy połączeniem szeregowym. Jeden rezystor miał 1.00 kω, a dwa mają 2.00 kω. Domyślasz się już jak to działa? Dla pewności sprawdźmy jeszcze połączenie trzech rezystorów ( Rysunek 13 ). Rysunek 13 : Trzy rezystory 1.00 kω połączone ze sobą. Wniosek: rezystory połączone szeregowo sumują się i stawiają razem większy opór. strona 9

c) Następnie do szeregowo podpiętych rezystorów podłączyliśmy z Arduino napięcie i zmierzyliśmy jak się zmienia napięcie pomiędzy nimi (Rysunek 14). Rysunek 14: Pomiar napięcia pomiędzy rezystorami 1.00 kω. Widzimy, że napięcie 5V podzieliło się na pół. Sprawdźmy jak sytuacja zmieni się jeśli jeden rezystor będzie miał 1.00 kω, a drugi 2.00 kω jak na Rysunku 15. Rysunek 15: Rezystory R1=2.00 kω i R2=1.00 kω połączone ze sobą szeregowo. strona 10

Wiemy już, że w sumie te rezystory dają nam 3.00 kω. Jak będzie wyglądać sytuacja z napięciem jeśli podłączymy +5V z Arduino jak na Rysunku 16? Rysunek 16: Pomiar napięcia pomiędzy rezystorami R1=2.00 kω i R2=1.00 kω. Widzisz zależność? Mała podpowiedź: 5.00V = 1, 6 7V oraz 5.00V = 3, 3 3V 3 2 * 3 Napięcie nie dzieli się już po równo, bo rezystory nie są równe. Na tym rezystorze, który jest dwa razy większy odkłada się dwa razy większe napięcie. Wniosek: Napięcie pomiędzy rezystorami połączonymi szeregowo dzieli się proporcjonalnie w od tego jak duże są te rezystory. strona 11

Taki układ nazywamy DZIELNIKIEM NAPIĘCIA, ale nie będziemy się tym na razie dokładnie zajmować - kto chce, może spróbować doczytać w internecie! Wiesz już z zajęć, że potencjometr taki jak na Rysunku 17 to w uproszczeniu dwa rezystory, którymi możemy sterować za pomocą pokrętła. Rysunek 17: Potencjometr. Skrajne nogi potencjometru podłączamy do zasilania (czyli lewa do +5V, a prawa do GND, albo odwrotnie - prawa do +5V, a lewa do GND ). Środkową nogę łączymy przewodem do wybranego wejścia analogowego na Arduino: Analog0/Analog1/Analog2/.../Analog5. Po podłączeniu środkowej nogi potencjometru do odpowiedniego wejścia Arduino możemy odczytywać wartość napięcia zamienioną na liczbę od 0 do 1023 w tabeli, która wyświetla się na ekranie w Scratchu. W programie możemy odnosić się do tej wartości używając bloczka "value of sensor [Analog0]", który zobaczyć możesz na Rysunku 18. strona 12

Rysunek 18. Odczytywanie wartości z wejścia analogowego w Scratchu4Arduino. Na zajęciach korzystaliśmy z płytki nakładanej na Arduino, takiej jak na Rysunku 19. Powiedzieliśmy sobie, że Joystick to po prostu dwa potencjometry połączone ze sobą pod kątem prostym w taki sposób, że jeśli wychylamy kontroler w bok to obracamy jednym potencjometrem i drugim jeśli wychylamy kontroler w przód lub tył. Dzięki temu możemy sterować postacią dokładnie i poruszać się np. po skosie, a nie tylko lewo/prawo/góra/dół jak ma to miejsce w przypadku klawiszy i przycisków. RYSUNEK 19. Zdjęcie czerwonej płytki. strona 13

Jednak bloczek "value of sensor [Analog0]" działa poprawnie tylko dla duszka Arduino. Jeśli zechcemy wykorzystać np. potencjometr do sterowania innym duszkiem i stworzenia gry musimy stworzyć zmienną i przekazać wartość z wejścia analogowego do zmiennej. Przykład jak to zrobić można zobaczyć na Rysunku 20. Rysunek 20. Program przekazujący wartość z wejścia Analog0 do zmiennej o nazwie Analog. Dzięki temu będziemy mogli wykorzystać bloczek zmiennej i sterować ruchem dowolnego duszka w lewo i prawo na przykład tak jak na Rysunku 21. Rysunek 21. Dwa przykłady sterowania ruchem duszka w lewo i prawo za pomocą zmiennej, do której wkładamy odczyt z WEJŚCIA ANALOGOWEGO. No właśnie. WEJŚCIE, dlatego że informacja z potencjometru wchodzi do Arduino. Analogowe, to znaczy, że informacja mówi nam więcej niż dwie rzeczy (nie tylko włącz i wyłącz, albo 5V lub 0V). Tylko jak to dokładnie działa? strona 14

Na zajęciach ustawialiśmy różne napięcia na potencjometrze i sprawdzaliśmy co pokazuje nam wejście Analog0. Wyniki testów prezentuje Tabela 1. Napięcie ustawione na środkowej nodze potencjometru: 5V (potencjometr przekręcony maksymalnie w lewo) Liczba pokazana na Analog0: 1023 3V 613 2,5V (potencjometr na środku) 512 1V 204 0V (potencjometr przekręcony maksymalnie w prawo) Tabela 1. Wyniki testów tego co pokazuje wejście analogowe w zależności od podłączonego napięcia. Wejście analogowe bierze napięcie od 0V (GND) do +5V i zamienia je na liczbę od 0 do 1023. I liczy się dla niego tylko napięcie. Nie ma znaczenia jaki czujnik podepniemy do któregoś z WEJŚĆ ANALOGOWYCH (ANALOG0/ANALOG1/ANALOG2/ANALOG3/ ). Może to być np. czujnik odległości. Rysunek 22 przedstawia dokładnie taki z jakiego korzystaliśmy na zajęciach. Czerwony przewód czujnika podpinamy do +5V, czarny do GND, a biały do wybranego WEJŚCIA ANALOGOWEGO, bo ten czujnik został zaprojektowany tak, żeby wysyłać informacje o zmierzonej odległości w formie napięcia. Dzięki temu jesteśmy w stanie odczytać tę informację na Arduino i gdybyśmy chcieli, przeliczyć na centymetry, albo wykorzystując program taki jak na Rysunku 21 i sterować duszkiem. 0 strona 15

Rysunek 22. Czujnik odległości b) Dioda RGB jako przykład zastosowania wyjścia analogowego Wiemy już, że możemy czytać dokładne napięcie wejściami analogowymi. Ale czy możemy wysyłać różne napięcia i w ten sposób sterować różnymi elementami? Oczywiście, że tak! Możemy na przykład w ten sposób sterować jasnością diody, albo prędkością obracania się silnika (ale o tym później). Żeby nie zajmować się w kółko zwykłą diodą LED poznaliśmy diodę RGB, czyli taką, która ma cztery nogi, jak na Rysunku 23. Rysunek 23. Dioda RGB. W praktyce dioda RGB to trzy osobne diody wsadzone w jedno opakowanie. W sklepie możemy znaleźć diody RGB ze wspólną anodą, i takie ze wspólną katodą. Co to znaczy? strona 16

Anoda to +, a katoda -. Zwykła dioda LED miała dłuższą nogę (+plus) i krótszą (-minus). Właśnie tę dłuższą nogę nazywamy mądrze anodą, a krótszą katodą. Więc dla przykładu dioda RGB ze wspólną katodą (czyli -minusem ) to tak jakbyśmy wzięli trzy zwykłe diody LED i połączyli ich krótsze nogi w jedną, jak na Rysunku 24. Dioda RGB ze wspólną anodą (czyli +plusem ) miałaby połączone w jedną dłuższe nogi. Rysunek 24. Uproszczona prezentacja trzech LEDów, których krótsze nogi zostały połączone tak jak w diodzie RGB ze wspólną katodą. Co jeszcze warto wiedzieć o diodach RGB: Ta wspólna katoda lub anoda będzie zawsze najdłuższą nogą diody RGB. Jeśli nie macie pewności, czy kupiliście diodę RGB ze wspólną anodą, czy katodą możecie to zawsze sprawdzić miernikiem testując na różne sposoby tak jak testowaliśmy normalną diodę, żeby sprawdzić, czy nie jest spalona. Potem po prostu ta najdłuższa noga jeśli jest anodą ( +plusem ) musi zostać podpięta do +5V, jak na Rysunku 26, a jeśli jest katodą ( -minusem ) to musi zostać podpięta do GND jak na Rysunku 25. Jeśli w diodzie RGB są 3 samodzielne diody LED to musimy do każdej podpiąć rezystor tak jak na Rysunkach 25 i 26. Diodę RGB wykorzystuje się, żeby uzyskać "dowolny kolor". Jeśli zapalimy czerwoną diodę i diodę niebieską to otrzymamy fioletowy. Mieszając kolory i jasność tych kolorów możemy w teorii uzyskać prawie dowolny kolor! strona 17

Rysunek 25. Najprostszy sposób podpięcia diody RGB ze wspólną katodą (wspólnym -minusem ) Rysunek 26. Najprostszy sposób podpięcia diody RGB ze wspólną anodą (wspólnym +plusem ) strona 18

Być może już udało ci się zauważyć, że na rysunkach 25 i 26 nie podpiąłem diody do DIGITAL13, albo DIGITAL12, tak jak do tej pory, ale do DIGITAL9, DIGITAL6 i DIGITAL5. Już tłumaczę! Jeśli zajrzymy do Scratcha4Arduino znajdziemy niebieski bloczek: "Analog [9/6/5] value: [255]" Czyli po polsku "Analog [9/6/5] wartość: [255]". Jest to bloczek, którym możemy ustawiać wartość WYJŚĆ ANALOGOWYCH, o których już wspomnieliśmy. Jak to działa? Na zajęciach podpięliśmy miernik ustawiony na mierzenie napięcia stałego do 20V i mierzyliśmy napięcie na wyjściu analogowym DIGITAL9 podpinając miernik taki jak na Rysunku 27, czyli czerwony przewód do DIGITAL9, a czarny do GND. Wyniki naszych pomiarów można zobaczyć w Tabeli 2. Rysunek 27. Mierzenie napięcia na wyjściu analogowym DIGITAL9. strona 19

Ustawienia na bloczku Analog 9 value: Wartość napięcia odczytana z miernika: 0,00V 0.98V 2,49V 5,00V Tabela 2. Wyniki pomiarów napięcia przy zmianie ustawienia bloczka "analog [9] value". Możemy zaobserwować, że podobnie jak w przypadku WEJŚĆ ANALOGOWYCH, gdzie napięcie od 0V do 5V było zamieniane na liczbą od 0 do 1023, tak przy WYJŚCIACH ANALOGOWYCH liczba od 0 do 255 zostaje zamieniona na napięcie od 0V do 5V. I możemy to wykorzystać w programie, żeby np. powoli rozjaśniać diodę i powoli ją gasić zamiast po prostu zapalać i gasić jak w przypadku WYJŚĆ CYFROWYCH. Przykład programu sterującego diodą podłączoną do WYJŚCIA ANALOGOWEGO można zobaczyć na Rysunku 28. Rysunek 28. Przykład programu ze zmienną, który stopniowo zwiększa, a potem zmniejsza napięcie na WYJŚCIU ANALOGOWYM 9. strona 20

Podsumowując temat wejść i wyjść: Wejścia to te piny Arduino, którymi informacja WCHODZI do procesora. Np. przycisk, potencjometr, albo jakiś czujnik. Wyjścia to te piny Arduino, którymi informacja WYCHODZI na zewnątrz. Dzięki temu możemy czymś sterować. Np. diodą, silnikiem, sygnałem dźwiękowym. Sygnały cyfrowe to takie, których informacja ma tylko dwie możliwości - albo coś jest włączone, albo wyłączone. Przykładem może być przycisk. Sygnały analogowe to takie, których informacja jest zapisana dokładniej, bo liczbą w jakimś szerszym zakresie. Na przykład wejście analogowe to liczba od 0 do 1023, a wyjście analogowe to liczba od 0 do 255. W obu przypadkach te liczby zamieniane są na napięcie od 0 do 5V. strona 21