#1 Projekt Arduino – Zapalanie i gaszenie diody led

By | 26 kwietnia 2016

Naukę warto zaczynać od najprostszych przykładów, stąd ten projekt. Pozytywne jest to, że do jego zrealizowania wystarczy samo Arduino Uno lub inne zgodne z Arduino, które posiada kilka diodę, którą możemy sterować, choć polecam dokupić kilka elementów, dzięki którym poznasz działanie wyjść cyfrowych.

Program sterujący diodą na płycie Arduino Uno

[csharp]int pin = 13; // (1)

void setup() // (2)
{
pinMode(pin, OUTPUT); // (3)
}

void loop() // (4)
{
digitalWrite(pin, LOW); // (5)
delay(1000); // (6)
digitalWrite(pin, HIGH); // (7)
delay(1000);
}[/csharp]

Wyjaśnienie działania kodu
(1) tworzę zmienną w której ustawiam numer portu, którym chce sterować. W tym wypadku jest to port numer 13, czyli dioda na płycie Arduino Uno.

(2) tutaj znajduje się funkcja w której będziemy ustawiać parametry, np. portów. Ta funkcja jest wykonywana tylko raz przy starcie programu.

(3) za pomocą tej funkcji określamy, że 13 port będzie obsługiwał operacje wyjścia, czyli będziemy mogli na nim ustawić albo stan wysoki (binarnie jedynka), albo stan niski (binarnie zero). Te stany są określane przez stan napięcia na tym porcie, jeżeli mamy na porcie napięcie 0V to mamy stan niski, jeżeli napięcie wynosi 5V jest to stan wysoki.

(4) loop jest funkcją, która wykonuje się cały czas, działa dokładnie jak while(true), operacje tam zdefiniowane są wykonywane jedna po drugiej

(5) dzięki funkcji digitalWrite możmy zdefiniować jaki stan będzie na wyjściu. Jeżeli ustawimy stan na LOW to żarówka nie zaświeci się, bo to oznacza, że na porcie pojawi się zerowe napięcie.

(6) funkcja delay obecna jest w wielu językach programowania i działa w nich niemalże tak samo, czyli zatrzymuje wykonywanie programu na określoną liczbę milisekund (1000 ms = 1 s).

(7) analogicznie jak w punkcie (5) określamy stan na porcie. Gdy ustawiamy stan na HIGH, na porcie pojawia się 5V, czyli napięcie zdolne do zasilenia diody.

Wgrywanie programu

Działanie programu

Sterowanie świeceniem diody podłączonej do wyjścia cyfrowego
To już jest trochę trudniejsze zadanie, ponieważ wymaga lutowania elementów lub zakupienia płytki prototypowej dzięki której można to znacznie łatwiej połączyć, oraz diody (ja korzystam z takiej diody) i rezystora (w moim przypadku 220Ω).

Podstawy teoretyczne
Stan wysoki na wyjściu cyfrowym w Arduino Uno to 5V, czyli zdecydowanie za dużo na to, żeby podłączyć diody, które używam (Napięcie pracy: 1.8-2.5V). Dlatego należy pomiędzy źródłem zasilania (wyjście cyfrowe) a diodą umieścić rezystor (opornik), który obniży napięcie do odpowiedniej wartości. Według tego kalkulatora potrzebuję rezystora 220Ω, który zostanie przylutowany do jednej z nóżek czerwonej diody. Wartości, które ustawiłem w kalkulatorze odczytałem ze specyfikacji diody:

kalkulator rezystancji

 

dioda zlutowana z rezystorem

dioda zlutowana z rezystorem

Dioda podłączona do Arduino

Dioda podłączona do Arduino

Program sterujący diodą przez wyjście cyfrowe
Jedyną różnica w programie w porównaniu do poprzedniego jest zmiana portu z 13 na 2 (1). Cała reszta pozostaje bez zmian. Dlaczego 2 port? Ponieważ jak się przyjrzycie na zdjęciu do tego portu podłączyłem jedną z nóżek diody.

[csharp]int pin = 2; // (1)

void setup()
{
pinMode(pin, OUTPUT);
}

void loop()
{
digitalWrite(pin, LOW);
delay(1000);
digitalWrite(pin, HIGH);
delay(1000);
}[/csharp]

UWAGA
Jeżeli dioda po podłączeniu do odpowiedniego portu nie świeci się, to znaczy, że została podłączona złą nóżką do napięcia. Przez diodę napięcie może podążać tylko w jedną stronę, dlatego należy na to bardzo uważać.

Działanie programu

PS.
Nie jestem elektronikiem, ani elektrykiem, więc wykonane połączenia między diodą a rezystorem w moim wykonaniu są okropne, ale wierzę że mi wybaczycie 🙂

One thought on “#1 Projekt Arduino – Zapalanie i gaszenie diody led

  1. Pingback: Co to jest Arduino i jak rozpocząć przygodę z mikrokontrolerami? - Poradnik informatyka

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *