poniedziałek, 26 listopada 2018

Czujnik temperatury NTC 100k - B3950

Czujnik temperatury NTC 100k - B3950 jest termistorem, czyli opornikiem o zmiennej rezystancji, której wartość uzależniona jest od temperatury. Prezentowany tutaj termistor należy do typu NTC (Negative Temperature Coefficient), który charakteryzuje spadek rezystancji wraz ze wzrostem temperatury. NTC to najpowszechniej wykorzystywany typ termistorów.
Ponieważ termistor jest opornikiem o zmiennej rezystancji, musimy zmierzyć rezystancję abyśmy mogli obliczyć temperaturę. Niestety Arduino nie jest w stanie zmierzyć rezystancji bezpośrednio - potrafi jedynie zmierzyć napięcie. Należy więc skorzystać z dzielnika napięcia aby zmierzyć napięcie między termistorem a znanym opornikiem, który trzeba włączyć do układu. Opornik powinien mieć wartość zbliżoną do termistora, podłączę zatem do układu opornik 100kΩ i skorzystam ze wzoru na obliczenie napięcia: 
Vout = Vin * (R2 / (R1 + R2)) 
gdzie:

  • Vout - napięcie między termistorem a znanym opornikiem,
  • Vin - to VCC, w moim przypadku: 5V,
  • R1 - wartość znanego opornika (tu: 100kΩ)
  • R2 - oporność termistora

Po przekształceniu tego wzoru mogę obliczyć wartość rezystancji termistora: 
R2 = R1 * ((Vin / Vout) - 1)
Oczywiście oczekiwaną wartością nie jest rezystancja tylko temperatura i aby ją wyliczyć należy skorzystać z równań bazujących na zależności rezystancji termistora od temperatury,

Przykład 1
Po podłączeniu czujnika B3950 do arduino wraz z dzielnikiem napięcia w postaci opornika 100kΩ, kieruję odczytaną wartość temperatury na monitor portu szeregowego.


Elementy układu:
  • 1 x płytka stykowa,
  • 1 x Arduino Uno lub Pro Mini,
  • 1 x czujnik temperatury B3950,
  • 1 x opornik 100kΩ,
  • 4 x przewody połączeniowe.
Sketch Arduino:



Przykład 2
Zbudowany uprzednio układ modyfikuję poprzez dołączenie do niego wyświetlacza ciekłokrystalicznego, który będzie wyświetlać temperaturę odczytaną z termistora. Wyświetlacz wymaga podłączenia zewnętrznego rezystora o typowej wartości 220Ω, który zapewni odpowiednią jasność podświetlenia (rezystor o mniejszej wartości zapewni jaśniejsze podświetlenie wyświetlacza). Dodatkowo do układu podłączam potencjometr 10kΩ, wykorzystywany do regulacji ostrości wyświetlanego obrazu.


Elementy układu:
  • 1 x płytka stykowa,
  • 1 x Arduino Uno lub Pro Mini,
  • 1 x czujnik temperatury B3950,
  • 1 x opornik 100kΩ
  • 1 x Wyświetlacz LCD 2 x 16 znaków 
  • 1 x opornik 220kΩ
  • 1 x potencjometr 10kΩ
  • 17 x przewody połączeniowe.




Sketch Arduino:

czwartek, 22 listopada 2018

Czujnik płomienia


Testowany tutaj czujnik płomienia (ognia) zbudowany został również w oparciu o układ Stąd zarówno jego podłączenie jak i sketch są bardzo podobne jak dla czujnika dźwięku (hałasu). Ten moduł posiada jednak wyłącznie złącze cyfrowe. Czułość sensora można regulować korzystając z wbudowanego potencjometra.

Przykład 1
Podłączam zasilanie modułu do Arduino (GND oraz VCC) a złącze cyfrowe do pinu D7. Do mikrokontrolera wgrywam sketch, który po zbliżeniu płomienia do czujnika podczerwieni zapali wbudowaną diodę LED na mikrokontrolerze i wyśle na port szeregowy komunikat "Ogień, ogień, ogień". Kiedy płomień zniknie z obszaru działania czujnika dioda zgaśnie a na monitorze portu szeregowego odczytamy komunikat "Brak ognia".


Elementy układu:


  • 1 x płytka stykowa (opcjonalnie),
  • 1 x Arduino Uno lub Pro Mini,
  • 1 x czujnik ognia (płomienia)
  • 3 x przewody połączeniowe.


  • Sketch Arduino:



    Przykład 2
    Na płytce prototypowej umieszczam moduł czujnika płomienia i podłączam go do zasilania (GND i VCC). Złącze cyfrowe modułu D0 łączę z pinem D4 mikrokontrolera. Dodatkowo na płytce umieszczam buzzer z generatorem i podpinam go pod pin D8.
    Wgrywam sketch Arduino, które w przypadku zbliżenia płomienia do czujnika uruchamia sygnał dźwiękowy, zapala wbudowaną diodę LED i wysyła na port szeregowy komunikat o wykrytym ogniu. Jeśli płomień zniknie, sygnał dźwiękowy jest wyłączany, podobnie lampka LED a na UART wysyłany jest komunikat o braku zagrożenia.



    Elementy układu:


  • 1 x płytka stykowa (opcjonalnie),
  • 1 x Arduino Uno lub Pro Mini,
  • 1 x czujnik ognia (płomienia)
  • 1 x buzzer z generatorem
  • 5 x przewody połączeniowe.

  • Sketch Arduino:


    Pliki do pobrania: Tutaj.


    Więcej informacji:

    piątek, 16 listopada 2018

    Czujnik dźwięku KY-038

    Poniżej opiszę jak podłączyć do Arduino czujnik hałasu, zbudowany w oparciu o układ LM393 moduł KY-038.

    Uwaga - pierwszą czynnością związaną z wykorzystaniem modułu KY-038 jest jego skalibrowanie. W tym celu, po podłączeniu modułu do zasilania, należy wyregulować czułość wbudowanego mikrofonu przy pomocy potencjometru znajdującego się na module. Obracanie potencjometru w prawo powoduje wzrost czułości mikrofonu a obracanie w lewo powoduje jej zmniejszenie. W celu prawidłowego ustawienia czułości modułu KY- 038 należy przekręcić potencjometr w prawo, aż do zapalenia diody znajdującej się na module po lewej stronie a następnie powoli przekręcać w lewo aby odnaleźć granicę gaśnięcia diody. Prawidłowo wyregulowany moduł ma wygaszoną diodę detekcji hałasu a ustawienie potencjometru jest tuż poniżej poziomu jej zapalenia.



    Podłączenie modułu do Arduino:
    • A0 - złącze podłącza się do jednego z analogowych pinów Arduino.
    • G - podłącza się do masy
    • + - podłącza się do pinu 5V Arduino
    • D0 - podłącza się do jednego z pinów cyfrowych Arduino

    Przykład 1
    Podłączam zasilanie modułu do Arduino (GND oraz 5V) a złącze cyfrowe do pinu D3. Do mikrokontrolera wgrywam sketch, który po wykryciu hałasu (pstryknięcie) w zależności od stanu poprzedniego zapali lub zgasi wbudowaną diodę Arduino.

    Elementy układu:

  • 1 x płytka stykowa (opcjonalnie),
  • 1 x Arduino Uno lub Pro Mini,
  • 1 x Czujnik dźwięku KY-038
  • 3 x przewody połączeniowe.

  • Sketch Arduino:



    Przykład 2

    Wykonane uprzednio podłączenie modułu do Arduino uzupełniam łącząc także złącze analogowe z pinem A0 w Arduino. Następnie wgrywam sketch i uruchamiam monitor portu szeregowego aby obserwować, zależny od poziomu hałasu, poziom napięcia na pinie analogowym A0 oraz informacje o stanie (wysoki lub niski) pinu cyfrowego D3.

    Elementy układu:

  • 1 x płytka stykowa (opcjonalnie),
  • 1 x Arduino Uno lub Pro Mini,
  • 1 x Czujnik dźwięku KY-038.
  • 4 x przewody połączeniowe.

  • Sketch Arduino:




    Pliki do pobrania: Tutaj.


    Więcej informacji:

    niedziela, 11 listopada 2018

    Analogowy joystick z przyciskiem



    Podłączenie analogowego joysticka do Arduino wymaga wykorzystania pięciu pinów:

    • GND - masa joysticka do masy Arduino;
    • +5V   - plus joysticka do pinu 5V;
    • VRx  - oś X do dowolnego pinu analogowego;
    • VRy  - oś Y do dowolnego pinu analogowego;
    • SW   - przycisk joysticka do dowolnego pinu Arduino.
    Ponieważ joystick jest urządzeniem małej mocy nie należy podłączać go bezpośrednio do silników czy LED, gdyż może to doprowadzić do jego uszkodzenia!

    Przykład 1
    Podłączam czujnik do Arduino wykorzystując piny zasilania oraz pin cyfrowy D13 do podłączenia przycisku joysticka (złącze SW)oraz piny analogowe A0 i A1 do podłączenia złączy osi x i y. Po wgraniu sketcha na Arduino wyniki mogę obejrzeć na monitorze portu szeregowego. Warto też zobaczyć jak prezentują się one na wbudowanej w Arduino IDE kreślarce.




    Elementy układu:


  • 1 x płytka stykowa (opcjonalnie)
  • 1 x Arduino Uno lub Pro Mini
  • 1 x joystick analogowy z przyciskiem
  • 5 x przewody połączeniowe


  • Sketch Arduino:




    Przykład 2
    Modyfikuję sketch Arduino wyznaczając współrzędne oznaczające położenie neutralne joysticka oraz zakres tolerancji wynikający z braku stabilnego odczytu w tym położeniu (niewielkie odchylenia mieszczące się w tym zakresie będą ignorowane przez oprogramowanie). Dodatkowo zmniejszam czułość wskazań odczytu.

    Sketch Arduino:






    Pliki do pobrania: Tutaj.


    Więcej informacji:

    niedziela, 28 października 2018

    Zdalne sterowanie - podczerwień


    Tym razem opiszę w jaki sposób zapewnić zdalne sterowanie układów elektronicznych bazujących na Arduino przy pomocy pilota na podczerwień.
    Zabawę rozpoczynam od podłączenia do Arduino odbiornika IR - w moim przypadku jest to czujnik TSOP2236 działający na częstotliwości 36kHz przy napięciu zasilania od 4,5 do 5,5V czyli dokładnie takim jakie możemy odebrać z Arduino. Prawidłowe podłączenie czujnika przedstawiam poniżej:



    Przykład 1.

    Podłączam czujnik do Arduino (między pin 5V Arduino a nóżkę 5V czujnika należy wpiąć rezystor 100Ω ograniczający prąd) i kieruję na niego diodę nadawczą pilota (może to być np. pilot od telewizora). Efekty działania  układu w postaci kodów wciśniętych klawiszy (dla każdego pilota będą inne) mogę obserwować na monitorze portu szeregowego Arduino IDE.

    Elementy układu:

    • 1 x płytka stykowa
    • 1 x Arduino Uno lub Pro Mini
    • 1 x odbiornik IR TSOP2236
    • 1 x opornik 100Ω
    • 5 x przewody połączeniowe
    Sketch Arduino:




    Przykład 2.
    Zachowuję poprzednio wykorzystany układ połączeń i modyfikuję sketch - tak aby naciśnięcie dowolnego klawisza pilota zwracało zamiast jego kodu jego etykietę. W klauzuli swich - case uwzględniłem także kod, który sygnalizował zbyt długie przyciśnięcie któregokolwiek z klawiszy oraz (na wypadek zmiany pilota) generowanie niezamapowanych kodów klawiszy.

    Elementy układu:

    • 1 x płytka stykowa
    • 1 x Arduino Uno lub Pro Mini
    • 1 x odbiornik IR TSOP2236
    • 1 x opornik 100Ω
    • 5 x przewody połączeniowe


    Sketch Arduino:




    Przykład 3.
    Do poprzednio wykorzystywanego układu podłączam czerwoną diodę LED wraz z opornikiem 330 którą będę sterował pilotem na podczerwień. Przyciśnięcie klawisza "OK" na moim pilocie spowoduje zapalenie lub wyłączenie diody natomiast przyciski "Up" i "Down" będą odpowiedzialne za stopniowe rozjaśnianie i przygaszanie diody.

    Elementy układu:

    • 1 x płytka stykowa
    • 1 x Arduino Uno lub Pro Mini
    • 1 x odbiornik IR TSOP2236
    • 1 x opornik 100Ω
    • 1 x czerwona dioda świecąca
    • 1 x opornik 330Ω
    • 7 x przewody połączeniowe
    Sketch Arduino:



    Pliki do pobrania: Tutaj.


    Dowiedz się więcej:


    sobota, 27 października 2018

    Konewka

    Opiszę tutaj budowę elektronicznej konewki - mojego pierwszego projektu, w którym
    postanowiłem skorzystać z innej niż Arduino Uno R3 płytki z mikrokontrolerem ATmega.
    I pierwszego, w którym zrezygnowałem z płytki stykowej i zacząłem lutować.

    Układ korzystając z podłączonego czujnika sprawdza poziom wilgotności w doniczce i jeśli jest on niewystarczający uruchamia na trzy sekundę pompę, która podlewa roślinkę. Jeśli roślinka nie wymaga podlewania konewka przy pomocy sygnalizacji dźwiękowej informuje o przeprowadzonej inspekcji wilgotności i zasypia na kolejne 24 godziny. Dodatkowo układ wyposażony został w przycisk resetu czasu podlewania, który pozwala na zmianę pory uruchamiania cyklu nawadniania i ręczne uruchomienie pompy.




    Dlaczego nie Uno? Powody są dwa i oba oczywiste:

    • duże rozmiary płytki
    • wysoka cena Arduino Uno R3 (nawet jeśli tylko klona) 

    Po rozpatrzeniu możliwych wariantów zdecydowałem zbudować mój projekt z wykorzystaniem Arduino Pro Mini, które jest względnie tanie, małe i zgodne z Arduino Uno R3.
    Do załadowania program do Arduino Pro Mini wykorzystałem konwerter PL2303TA z wyjściem USB - UART/RS232. W tym celu podłączyłem wyprowadzenia konwertera do złącza programowania Arduino Pro Mini:

    • czerwone - VCC;
    • czarne - GND;
    • zielone - RXI;
    • białe - TX0.
    Aby ładowanie programu mogło zakończyć się sukcesem, po skompilowaniu programu i wyświetleniu przez Arduino IDE komunikatu o rozpoczęciu wgrywania należy wcisnąć na chwilę przycisk Reset na płytce Arduino Pro Mini.


    Elementy układu:

    • 1 x Arduino Pro Mini 5V/16MHz
    • 1 x płytka prototypowa 5 x 7
    • 1 x mini pompa do wody 3V/5V DC, 3W
    • 1 x czujnik wilgotności gleby FC-28
    • 1 x stabilizator napięcia LM7805CV
    • 2 x kondensatory ceramiczne 100nF
    • 1 x tranzystor MOSFET IRL540N
    • 1 x opornik 10kΩ
    • 1 x tact switch
    • 1 x buzzer bez generatora
    • 2 x złącze ARK dwupinowe
    • 1 z złącze szpilkowe dwupinowe


    Realizacja:

    Stabilizacja napięcia. Podstawowym problemem w przypadku projektu wykorzystującego pompę (a konkretnie silnik, który ją napędza), jest zabezpieczenie Arduino przed skutkami wysokiego poboru prądu i wahaniami napięcia wynikającego z załączania i wyłączania silnika. Co prawda Arduino posiada wbudowany stabilizator napięcia jednak jego możliwości są ograniczone i bezpieczniej jest wykorzystać zewnętrzny stabilizator. Ja zdecydowałem się na układ LM7805CV, który zapewnia stabilizację napięcia dostarczanego do Arduino na poziomie 5V przy maksymalnym prądzie 1,5A. Napięcie zasilania powinno zawierać się w zakresie od 7 do 25V. Dla zabezpieczenia przed ewentualnymi zakłóceniami, między masą a złączami Vin oraz Vout stabilizatora umieszcza się kondensatory ceramiczne 100nF.

    Sterowanie pompą. Pompa wykorzystywana w projekcie wymaga większego prądu niż ten, który jest w stanie dostarczyć Arduino (czyli maksymalnie 40mA na pin). Podłączona zostanie więc bezpośrednio do zewnętrznego źródła zasilania a sterowanie jego załączaniem i wyłączaniem będzie realizowane przez Arduino z MOSFETEM IRL540N w roli przełącznika. W tym celu Bramkę tranzystora łączę z Arduino (do niej kierowany będzie sygnał sterujący z pinu 8 mikrokontrolera), Dren łączę z masą pompy a Źródło z masą mikrokontrolera. Między Bramkę a Źródło wpinam rezystor sprzęgający, co zapewni występowanie na Bramce stanu niskiego zawsze, kiedy Arduino nie wysyła na nią stanu wysokiego. Masy źródła zasilania pompy i Arduino muszą być ze sobą połączone. Kiedy Arduino poda stan wysoki na Bramkę, tranzystor zaczyna przewodzić prąd zasilający pompę (jej plus podłączony jest bezpośrednio pod źródło zasilania).
    Podłączenie czujnika wilgotności. Czujnik wilgotności gleby FC-28 posiada cztery złącza:

    • GND łączę z masą układu;
    • VCC podłączam do pinu 11 Arduino;
    • złącze analogowe A0 podłączam do pinu A0 mikrokontrolera;
    • wyjście cyfrowe D0 pozostawiam niepodłączone (sterowanie wilgotnością chcę regulować z mikrokontrolera w zależności od odczytanego poziomu sygnału analogowego a nie cyfrowo poprzez regulację potencjometru wbudowanego w czujnik).

    Komentarza wymaga podłączenie zasilania czujnika (VCC) do pinu 11 zamiast do pinu 5V Arduino. Dzięki takiemu podejściu napięcie na czujniku nie jest utrzymywane przez cały czas a podawane tylko zgodnie z cyklem monitorowania wilgotności (który został ustawiony na 24 godziny). Nie tylko pozwala to na zaoszczędzenie energii ale również opóźnia proces starzenia się czujnika.

    Wyposażenie opcjonalne. Dla zapewnienia większej kontroli nad systemem nawadniającym dodałem jeszcze tact switch (podłączony do pinu 10 Arduino), którego wciśnięcie powoduje reset zegara cyklu monitorowania i uruchomienie pierwszego podlewania. Długość cyklu ustawiona na 24 godziny i czasu podlewania ustawionego na 3 sekundy nie ulega zmianie - te dwie zmienne wydają mi się optymalnie dobrane do potrzeb życiowych roślinki. Po wypełnieniu się cyklu Arduino podaje napięcie na czujnik, dokonuje pomiaru wilgotności i w razie potrzeby uruchamia pompę podlewającą roślinkę. Jeżeli wilgotność jest wystarczająco wysoka i nie ma potrzeby podlewania uruchamiany jest buzzer (podłączony do portu 9), który sygnalizuje że nawadnianie tym razem jest zbędne. Buzzer wykorzystany jest także do sygnalizacji skorzystania z tact switcha.

    Całość zlutowałem na płytce prototypowej 5x7cm zamontowanej w estetycznym półprzezroczystym pojemniku (pierwotnie przeznaczonym do celów spożywczych). Do płytki przylutowałem jeszcze dwa dwupinowe złącza ARK (jedno do podłączenia pompy a drugie do połączenia płytki z gniazdem do obudowy) oraz złącze szpilkowe do połączenia z zamontowanym na obudowie tact switchem. Arduino Pro Mini zostało podłączone z płytką za pośrednictwem wtyków kołkowych (to one a nie mikrokontroler są do niej przylutowane) co umożliwia w razie potrzeby łatwy demontaż.

    Sketch Arduino:



    Pliki do pobrania: Tutaj.

    wtorek, 7 sierpnia 2018

    Robot na dwukołowym podwoziu

    Roboty opisane poniżej zbudowane zostały na dwukołowym/dwusilnikowym podwoziu ZK-02 200mm. z zestawu zawierającego podwozie, dwa silniki i pasujące do całości koła. Przykłady nie odnoszą się do części mechanicznej robota i zawierają wyłącznie opis połączeń wraz ze sketchem Arduino.

    Przykład 1

    Robot odtwarza zaprogramowane ruchy:
    • jazda do przodu (rozpędzanie do maksimum i zwalnianie do zera);
    • manewrowanie z niską prędkością:
      • do przodu;
      • w lewo;
      • do tyłu;
      • w prawo.



    Elementy układu:
    • 1 x płytka Arduino Uno 
    • 1 x moduł L298N dwukanałowego sterownika do silników DC i krokowych
    • 2 x silnik DC 6V (z kołem 65mm i przekładnią 1:48)
    • 1 x akumulator LiPol 11,1V
    • 14 x przewody połączeniowe

    Sketch Arduino:




    Przykład 2

    Robot zostaje wyposażony w czujnik odległości HC-SR04, który pozwala mu reagować na pojawiające się przeszkody. Robot jedzie z dużą prędkością, dopóki w pobliżu nie pojawi się przeszkoda - wtedy najpierw zwalnia a potem zatrzymuje się, wycofuje i skręca, by ponownie rozpocząć jazdę. Na załączonym filmie widać, że zachowanie robota zależy nie tylko od połączeń i oprogramowania - na śliskim podłożu robot może zachowywać się nieprzewidywalnie...


    Elementy układu:
    • 1 x płytka Arduino Uno 
    • 1 x moduł L298N dwukanałowego sterownika do silników DC i krokowych
    • 2 x silnik DC 6V (z kołem 65mm i przekładnią 1:48)
    • 1 x czujnik odległości HC-SR04
    • 1 x akumulator LiPol 11,1V
    • 18 x przewody połączeniowe

    Sketch Arduino:


    Pliki do pobrania: Tutaj


    Dowiedz się więcej:


    piątek, 8 czerwca 2018

    Tact switch

    Poniższe przykłady pokazują jak podłączyć do Arduino wyłącznik tact switch i uzależnić od niego działanie układu.

    Przykład 1

    Przycisk tact switch zostanie tutaj wykorzystany do generowania liczb pseudolosowych. Każde wciśnięcie przycisku podłączonego do Arduino spowoduje wylosowanie kolejnej liczby z zakresu od 1 do 6.




    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x wyłącznik tact switch 
    • 2 x przewody połączeniowe 
    Sketch Arduino:



    Przykład 2

    Przycisk tact switch imituje czujnik w ramie okna. Kiedy okno jest zamknięte (wciśnięty jest przycisk), świeci się dioda w kolorze zielonym. Kiedy przycisk jest zwolniony (okno zostało otwarte), zapala się dioda w kolorze czerwonym a w terminalu pojawia się komunikat: "Uwaga! Okno jest otwarte!".





    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 2 x dioda LED 
    • 2 x opornik 330Ω 
    • 1 x wyłącznik Tact switch 
    • 5 x przewody połączeniowe 
    Sketch Arduino:



    Przykład 3

    Wykorzystanie przycisku tact switch do włączania i wyłączania diody. Wciśnięcie przycisku spowoduje włączenie diody na około 10 sekund.



    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x dioda LED 
    • 1 x opornik 330Ω 
    • 1 x wyłącznik Tact switch 
    • 4 x przewody połączeniowe 
    Sketch Arduino:



    Przykład 4

    Przycisk tact switch jako przełącznik symulujący działanie świateł drogowych. Po wciśnięciu przycisku program zapala kolejną diodę (i gasi pozostałe) w sekwencji: Zielona -> Żółta -> Czerwona -> Czerwona i Żółta.

    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 3 x dioda LED 
    • 3 x opornik 330Ω 
    • 1 x wyłącznik Tact switch 
    • 6 x przewody połączeniowe 
    Sketch Arduino:

     

    Przykład 5

    Do Arduino należy podłączyć dwa wyłączniki tact switch, dwie diody (zieloną i czerwoną) i towarzyszące im dwa oporniki 330Ω a następnie wgrać oprogramowanie. Każde wciśnięcie przycisku podłączonego pierwszego lub drugiego spowoduje zapalenie zielonej diody LED, natomiast równoczesne wciśnięcie obu przycisków spowoduje dodatkowo zapalenie diody czerwonej. W tym przykładzie warto zwrócić uwagę na zapis kodu i łączenie w nim warunków przy pomocy operatorów "i" oraz "lub" (w kodzie reprezentowanych przez "&&" oraz "||")





    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 2 x dioda LED (tylko w wariancie 2) 
    • 2 x opornik 330Ω (tylko w wariancie 2) 
    • 2 x wyłącznik tact switch (tylko w wariancie 2) 
    • 7 x przewody połączeniowe (tylko w wariancie 2) 
    Sketch Arduino:




    Pliki do pobrania: Tutaj.


    Dowiedz się więcej:

    Diody świecące LED

    Jednym z podstawowych elementów współczesnych układów elektronicznych są diody świecące (LED).

    Przykład

    Układ składający się z diody z niezbędnym opornikiem, który w wyniku uruchomienia programu spowoduje miganie dwiema diodami - wbudowaną oraz zewnętrzną. Czas świecenia i czas wyłączenia a także liczba mrugnięć diod zdefiniowane są w funkcjach użytkownika.

    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x dioda LED 
    • 1 x opornik 330Ω 
    • 2 x przewody połączeniowe 
    Sketch Arduino:



    Pliki do pobrania: Tutaj.


    Dowiedz się więcej:

    wtorek, 5 czerwca 2018

    Czujnik rozwarcia (kontaktron)

    Przykład

    Wykorzystanie kontaktronu do sygnalizacji przerwania obwodu (otwarcia drzwi lub okna, które zabezpiecza). Układ dodatkowo wyposażony został w diodę RGB i buzzer do sygnalizacji stanu alarmu.

    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x kontaktron 
    • 1 x buzzer bez generatora 
    • 1 razy dioda RGB ze wspólną katodą 
    • 3 x opornik 1kΩ 
    • 9 x przewody połączeniowe 
    Sketch Arduino:




    Pliki do pobrania: Tutaj.


    Dowiedz się więcej:


    piątek, 1 czerwca 2018

    Cyfrowy czujnik temperatury i wilgotności DHT-11

    Przykład

    Cyfrowy czujnik temperatury i wilgotności DHT-11 posiada cztery wyprowadzenia z czego jedno jest niewykorzystywane. Pozostałe to Vcc, Data i GND. Złącze Vcc podłącza się do pinu 5V w Arduino, złącze GND do masy a złącze Data do dowolnego pinu Arduino mogącego pracować w trybie wejścia. Między złącze Data a dodatnią szynę zasilania niezbędne jest włączenie opornika 4,7kΩ.
    Do komunikacji z czujnikiem można wykorzystać gotową bibliotekę, przy pomocy której można dokonywać pomiarów wilgotności (w %RH - wilgotności względnej) i temperatury (w stopniach Celsjusza). Czujnik wymaga stosunkowo dużo czasu do zarejestrowania zmiany temperatury i wilgotności, dlatego bardzo użyteczna jest funkcja dht.getMinimumSamplingPeriod(), która ustala minimalny czas oczekiwania na gotowość czujnika do wykonania kolejnego pomiaru. Inna funkcja: dht.getStatusString(), pozwala określić czy pomiar przebiegł prawidłowo - dzięki niej można pominąć odczyty błędne.


    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x cyfrowy czujnik temperatury i wilgotności DHT-11 
    • 1 x opornik 4,7kΩ 
    • 5 x przewody połączeniowe 
    Sketch Arduino:




    Pliki do pobrania: Tutaj.


    Dowiedz się więcej:

    czwartek, 31 maja 2018

    Cyfrowy czujnik temperatury DS18B20

    DS18B20 jest czujnikiem cyfrowym. Jego podłączenie wymaga podłączenia złącza Vdd do pinu 5V w Arduino, złącza GND do masy i złącza DQ do dowolnego pinu Arduino mogącego pracować w trybie wejścia. Między złącze DQ a dodatnią szynę zasilania niezbędne jest włączenie opornika 4,7kΩ. Komunikacja z czujnikiem odbywa się za pomocą interfejsu OneWire i do tego celu wykorzystane będą gotowe biblioteki dołączone do sketcha.

    Przykład 1

    Czujnika podłączony zostaje do pinu A5 Arduino. Po wgraniu dedykowanego oprogramowania na Monitorze UART można odczytać temperaturę.

    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x czujnik cyfrowy temperatury DS18B20 
    • 1 x opornik 4,7kΩ 
    • 4 x przewody połączeniowe 
    Sketch Arduino:

    Przykład 2

    Do pinu A5 Arduino podłączone zostają dwa czujniki - drugi i kolejne czujniki nie wymagają osobnego pinu. (a na płytce stykowej - jeżeli zostaną wpięte w te same wiersze - nie będą wymagać także dodatkowych przewodów). Po wgraniu dedykowanego oprogramowania na Monitorze UART można odczytać temperaturę.
    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 2 x czujniki cyfrowe temperatury DS18B20 
    • 1 x opornik 4,7kΩ 
    • 4 (lub 7) x przewody połączeniowe 
    Sketch Arduino:


    Przykład 3

    W tym przykładzie wymagane jest ustalenie unikalnych adresów czujników cyfrowych w które wyposażył je producent. Aby to uczynić należy uruchomić plik przykładu dostępny w Arduino IDE: Plik → Przykłady → OneWire → DS18x20. W pliku tym, przed uruchomieniem, należy jeszcze zmienić wiersz OneWire  ds(10); na OneWire  ds(A5); aby po uruchomieniu programu załadowanego na płytkę z własnymi czujnikami podłączonymi do portu A5 zobaczyć adresy tych czujników:

    Następnie można już napisać program, który odwołuje się do konkretnego czujnika posługując się jego unikalnym adresem.

    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 2 x czujniki cyfrowe temperatury DS18B20 
    • 1 x opornik 4,7kΩ 
    • 4 (lub 7) x przewody połączeniowe 
    Sketch Arduino:

    Przykład 4

    Do pinu A5 Arduino podłączone zostają dwa czujniki a dodatkowo dołączona zostaje linijka LED w roli wskaźnika temperatury wskazanej przez czujnik..

    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 2 x czujniki cyfrowe temperatury DS18B20 
    • 1 x opornik 4,7kΩ 
    • 1 x linijka LED WS2812 
    • 2 x opornik 1kΩ 
    • 1 x kondensator 1000uF 
    • 9 x przewody połączeniowe 
    Sketch Arduino:



    Pliki do pobrania: Tutaj.

    Dowiedz się więcej: