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: