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:


ś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: