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:


środa, 30 maja 2018

Analogowy czujnik temperatury LM35

LM35 jest czujnikiem analogowym. Jego podłączenie jest bardzo proste. Złącze Vcc podłącza się do zasilania Arduino, GND do masy a Vout do pinu analogowego wejścia. Wzrost napięcia na złączu Vout przekazywany na wejście Arduino oznacza wzrost temperatury. W celu prawidłowego obliczenia temperatury należy sygnał ADC przeliczyć na napięcie (pomnożyć go przez pięć) a wynik podzielić przez zakres pracy przetwornika (1023). Uzyskaną wartość należy jeszcze pomnożyć przez 100 (ponieważ 1 stopień to 10mV).

Przykład 1

Czujnik 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 analogowy temperatury 
  • 3 x przewody połączeniowe 
Sketch Arduino:



Przykład 2

Czujnik podłączony zostaje do pinu A5 Arduino. Po wgraniu dedykowanego oprogramowania na Monitorze UART można odczytać temperaturę. Program zapamiętuje także (i wysyła na UART) wartości minimalną i maksymalną odczytanych temperatur.


  


Elementy układu:
  • 1 x płytka stykowa 
  • 1 x płytka Arduino Uno 
  • 1 x czujnik analogowy temperatury LM35 
  • 3 x przewody połączeniowe 
Sketch Arduino:




Przykład 3

Do Arduino podłączamy dwa czujniki LM35 (do pinów A4 i A5). Oprogramowanie dokonuje odczytu temperatury na obu czujnikach i wylicza różnicę między nimi. Wynik można obejrzeć na monitorze UART.


   



Elementy układu:
  • 1 x płytka stykowa 
  • 1 x płytka Arduino Uno 
  • 2 x czujniki analogowe temperatury LM35 
  • 8 x przewody połączeniowe 
Sketch Arduino:



Pliki do pobrania: Tutaj.


Dowiedz się więcej:

sobota, 26 maja 2018

Wyświetlacz 7-segmentowy LDD040AUE-101A


Wyświetlacz LDD040AUE-101A ma 16 wyprowadzeń ponumerowanych jak na rysunku poniżej. Każde wyprowadzenie odpowiada za pracę jednego z siedmiu oznaczonych literami alfabetu segmentów (kropka jest niepodłączona i nieobsługiwana). Wyprowadzenia 1 do 4 oraz 13 do 16 odpowiadają za pracę pierwszej cyfry a wyprowadzenia 5 do 8 oraz 9 do 12 za pracę cyfry drugiej. Wyprowadzenia 4 i 5 stanowią wspólne katody dla siedmiu segmentów (diod) - odpowiednio pierwszej i drugiej cyfry. UWAGA: Na schematach Fritzing w tym poście umieszczone są wyświetlacze z dziesięcioma wyjściami (nie znalazłem takich z ośmioma) - ostatnią, pustą parę należy zignorować podczas czytania schematu i łączenia układu.


Przykład 1

Do Arduino podłączamy tylko pierwszą cyfrę wyświetlacza LDD040AUE-101A. Połączenie każdego z segmentów z Arduino zabezpiecza się opornikami 1kΩ. W wyniku uruchomienia dołączonego kodu zapalają się po kolei wszystkie segmenty wyświetlacza po czym, w pętli, rozpoczyna się wyświetlanie cyfr od 0 do 9 i na koniec pojawia się symbol błędu (zapalone segmenty ADG).




Elementy układu:
  • 1 x płytka stykowa 
  • 1 x płytka Arduino Uno 
  • 1 x podwójny wyświetlacz 7-segmentowy ze wspólną katodą 
  • 7 x opornik 1kΩ 
  • 9 x przewody połączeniowe 
Sketch Arduino:




Przykład 2

Do Arduino podłączamy obie cyfry wyświetlacza LDD040AUE-101A. Świecenie drugiej cyfry nie zajmuje kolejnych portów Arduino - dzieje się tak dzięki temu, że odpowiednie segmenty obu cyfr mostkuje się ze sobą, co sprawia, że każde zapalenie np. segmentu A cyfry 1 spowoduje także zapalenie segmentu A cyfry 2. Ceną tej metody jest jednak to, że obie cyfry będą pokazywały te same wartości. Do Arduino ładujemy ten sam sketch, który został użyty w przykładzie 1.



Elementy układu:
  • 1 x płytka stykowa 
  • 1 x płytka Arduino Uno 
  • 1 x podwójny wyświetlacz 7-segmentowy ze wspólną katodą 
  • 7 x opornik 1kΩ 
  • 17 x przewody połączeniowe 
Sketch Arduino:





Przykład 3

Podłączenie wyświetlacza LDD040AUE-101A umożliwi teraz odrębne wyświetlanie różnych wartości cyfry 1 i 2 wyświetlacza za pomocą tylko dwóch dodatkowych portów Arduino. Połączenia te prowadzone będą przez tranzystory BC547 i oporniki 10kΩ:
  • kolektory obu oporników łączy się z katodami wyświetlacza (kolektor pierwszego tranzystora z wyprowadzeniem 4 wyświetlacza a kolektor drugiego tranzystora z wyprowadzeniem 5);
  • emitery obu tranzystorów łączy się z masą;
  • bazę tranzystora pierwszego łączy się poprzez opornik z pinem 10 Arduino a bazę drugiego, także przez opornik z pinem 9.
Także połączenia z masą prowadzone są już wyłącznie poprzez tranzystory. Wyświetlanie różnych wartości dla zmostkowanych cyfr wyświetlacza realizowane jest dzięki multipleksowaniu (bardzo szybkim przełączaniu wartości na obu wyświetlaczach) i wykorzystaniu zjawiska bezwładności ludzkiego oka (można to dokładnie zobaczyć zmieniając wartość parametru waitTime w kodzie).








Elementy układu:
  • 1 x płytka stykowa 
  • 1 x płytka Arduino Uno 
  • 1 x podwójny wyświetlacz 7-segmentowy ze wspólną katodą 
  • 7 x opornik 1kΩ 
  • 2 x opornik 10kΩ 
  • 2 x tranzystor BC547 
  • 21 x przewody połączeniowe 
Sketch Arduino:




Przykład 4

Wyświetlacz LDD040AUE-101A podłącza się w sposób opisany w przykładzie 3, jednak do wyświetlania wartości wykorzystuje gotową bibliotekę SevSeg Library.

Elementy układu:
  • 1 x płytka stykowa 
  • 1 x płytka Arduino Uno 
  • 1 x podwójny wyświetlacz 7-segmentowy ze wspólną katodą 
  • 7 x opornik 1kΩ 
  • 2 x opornik 10kΩ 
  • 2 x tranzystor BC547 
  • 21 x przewody połączeniowe 
Sketch Arduino:




Przykład 5

Wyświetlacz LDD040AUE-101A podłącza się w sposób opisany w przykładzie 3 i dodatkowo do układu dodaje się potencjometr. Po wgraniu dedykowanego kodu wyświetlacz będzie pokazywał odczytane napięcie.






Elementy układu:

  • 1 x płytka stykowa 
  • 1 x płytka Arduino Uno 
  • 1 x podwójny wyświetlacz 7-segmentowy ze wspólną katodą 
  • 7 x opornik 1kΩ 
  • 2 x opornik 10kΩ 
  • 2 x tranzystor BC547 
  • 24 x przewody połączeniowe 
Sketch Arduino:





Pliki do pobrania: Tutaj.


Dowiedz się więcej:

    sobota, 12 maja 2018

    Centralka alarmowa

    Opisane poniżej zastosowanie to Arduino jako serce centralki alarmowej, klawiatura numeryczna do uzbrajania alarmu i jego dezaktywacji, czujnik ruchu do śledzenia ruchu w obserwowanym obszarze, kontaktron do sygnalizacji otwarcia drzwi, buzzer bez generatora do dźwiękowej sygnalizacji sytuacji alarmowej, linnijka LED do wizualnej sygnalizacji sytuacji alarmowej a w przykładzie 2 także tact switch do resetowania centralki. Całość uzupełnia niezbędne oprogramowanie, które  działa w oparciu o cztery działające niezależnie od siebie ale uruchamiane w określonej kolejności stany działania:
    • czuwanie
      W tej fazie centralka czeka na wciśnięcie klawisza "A", który stanowi dla niej sygnał do uzbrojenia alarmu i przejścia do stanu monitorowania.
    • monitorowanie
      W fazie monitorowania możliwe są dwa przypadki: 1) wykrycie ruchu, przez czujnik PIR, które spowoduje natychmiastowe przejście do fazy sygnalizacji alarmu lub 2) wykrycie otwarcia drzwi, które spowoduje przejście do fazy rozbrajania, aby dać właścicielowi (jeśli to on otworzył drzwi) na wprowadzenie kodu dezaktywującego alarm.
    • rozbrajanie
      W fazie rozbrajania, w ciągu pięciu sekund użytkownik może wprowadzić kod rozbrajający alarm. Kod jest czterocyfrowy i ma wartość "1234". W przypadku wprowadzenia błędnego kodu lub przekroczenia zadeklarowanego czasu na wprowadzenie go nastąpi przejście do fazy sygnalizacji alarmu.
    • sygnalizację alarmu.
      W fazie sygnalizacji alarmu uruchamia się sygnalizacja świetlna i dźwiękowa.

    Przykład 1

    Centralka działająca w oparciu o czujniki PIR i kontaktron.



       

    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x klawiatura matrycowa 
    • 1 x kontaktron 
    • 1 x czujnik PIR HC-SR501 
    • 1 x buzzer bez generatora 
    • 1 x linijka LED WS2812 
    • 2 x opornik 1kΩ 
    • 1 x kondensator 1000uF 
    • 22 x przewody połączeniowe 
    Sketch Arduino:




    Przykład 2

    Centralka działająca w oparciu o czujniki PIR i kontaktron wzbogacona o przycisk tact switch, który resetuje centralkę (wykorzystanie przerwania) oraz o dodatkowe efekty dźwiękowe.




       

    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x klawiatura matrycowa 
    • 1 x kontaktron 
    • 1 x czujnik PIR HC-SR501 
    • 1 x buzzer bez generatora 
    • 1 x tact switch 
    • 1 x linijka LED WS2812 
    • 2 x opornik 1kΩ 
    • 1 x kondensator 1000uF 
    • 24 x przewody połączeniowe 
    Sketch Arduino:




    Pliki do pobrania: Tutaj.


    Dowiedz się więcej:

    niedziela, 6 maja 2018

    Klawiatura matrycowa

    Przykład

    Podłączenie do Arduino klawiatury matrycowej wymaga skorzystania z ośmiu przewodów połączeniowych i zajęcia ośmiu pinów. Poniżej przykład wprowadzania do Arduino poleceń przy pomocy klawiatury matrycowej i odczytywania informacji na Monitorze szeregowym Arduino IDE.



    Elementy układu:
    • 1 x płytka Arduino Uno 
    • 1 x klawiatura matrycowa 
    • 8 x przewody połączeniowe 
    Sketch Arduino:




    Pliki do pobrania: Tutaj.


    Dowiedz się więcej:

    czwartek, 3 maja 2018

    Czujnik ruchu PIR - HC-SR501

    Przykład 1

    Alarm wyzwalany przez czujnik PIR HC-SR501. Sygnalizacja stanu alarmu przy pomocy diody RGB i buzzera bez generatora.

       

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




    Przykład 2

    Alarm wyzwalany przez czujnik PIR HC-SR501 z wykorzystaniem przerwania. Przerwanie zlicza liczbę wykrytych ruchów i w zależności od tej liczby uruchamia alarm:
    • do trzech przerwań, dioda zapala się na zielono
    • powyżej trzech do sześciu przerwań, włącza się kolor niebieski
    • powyżej sześciu przerwań, dioda świeci się na czerwono i uruchamia się alarm dźwiękowy.
    Sygnalizacja stanu alarmu przy pomocy diody RGB i buzzera bez generatora.

       


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




    Pliki do pobrania: Tutaj.



    Dowiedz się więcej:


    środa, 2 maja 2018

    Wykorzystanie Tranzystora MOSFET IRL540N

    Przykłady zamieszczone poniżej pokazują jak podłączyć i sterować z Arduino urządzeniami zasilanymi napięciem wyższym niż dostępne na płytce, korzystając z tranzystora MOSFET IRL540N.

    Przykład 1

    Podłączenie tranzystora MOSFET IRL540N w celu sprawdzenia jakie napięcie wynikowe pojawi się między drenem tranzystora a wyjściem Vin na Arduino.


    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x tranzystor MOSFET IRL540N 
    • 1 x opornik 10kΩ 
    • 5 x przewody połączeniowe 
    • 1 x zasilacz 12V do Arduino 
    Sketch Arduino:



    Przykład 2

    Podłączenie tranzystora MOSFET IRL540N w celu sterowania zasilanego napięciem 12V buzzera bez generatora.


       


    Elementy układu:
    • 1 x płytka stykowa 
    • 1 x płytka Arduino Uno 
    • 1 x tranzystor MOSFET IRL540N 
    • 1 x buzzer bez generatora 
    • 2 x opornik 10kΩ 
    • 5 x przewody połączeniowe 
    • 1 x zasilacz 12V do Arduino 
    Sketch Arduino:




    Pliki do pobrania: Tutaj.


    Dowiedz się więcej: