
Dzisiaj wykorzystanie fizycznej diody led. W poprzednim wpisie użyłem gotowego programu i wykorzystałem diodę led wbudowaną w Arduino. Dioda ta, jak wiemy, jest podpięta pod pin 13 płytki. Oprócz samej diody (wykorzystuję 5mm diodę czerwoną) będzie potrzebny także rezystor - Arduino pracuje na 5V dioda (czerwona) do pracy wymaga 2.0v-2.3V . Sama dioda posiada dwa wyprowadzenia (diody RGB posiadają 4). Dłuższa nóżka to anoda (plus) krótsza to katoda (-).Jak rozpoznać, która jest która, gdy przy okazji innego projektu nóżki zostały przycięte na jednakową długość? Na obudowie dioda ma ścięcie z jednej strony - nóżka przy ścięciu to katoda (-).
Diody różnią się także nieco parametrami pracy w zależności od koloru. W przykładzie używam czerwonej (rozmiar 5mm), której parametry pracy według producenta to:
- Prąd if 20mA
- Napięcie Vf 2.0V - 2.3V
Arduino pracuje na napięciu 5V (zasilanie i logika) Bezpośrednie podpięcie skończyło by się uszkodzeniem diody, dlatego musimy ograniczyć zarówno prąd jak i napięcie. Ze specyfikacji wiemy, że natężenie wymagane do działania wynosi 20mA a napięcie przewodzenia powinno być w zakresie od 2.0V do 2.3V.
Wzór do obliczeń:

gdzie :
U - napięcie zasilania (5V z Arduino)
Ud - napięcie przewodzenia diody (od 2.0V do 2.3V)
Ro - wartość rezystora (wybierzemy 220omów)
I - uzyskane natężenie
(5V - 2.0V)/220omów = 0.0136A = 13.6mA
Wynik poniżej optymalnej pracy diody, ale po podpięciu układ działa poprawnie a dioda świeci. Mimo to poszukamy rezystancji, która będzie optymalna dla wybranej diody - do tego wystarczy przekształcenie powyższego wzoru:

Dla uzyskania 15mA (5V - 2.0V)/0.015A = 200omów
Dla uzyskania 20mA (5V - 2.0V)/0.02A = 150omów
Czyli wartość optymalna rezystora dla diody czerwonej to 150omów. Zazwyczaj nie stosuje się wartości najbliższej optymalnej pracy dla danej diody zwłaszcza że obecnie świecą jasno już przy 10mA, dlatego stosowanie rezystora o większej rezystancji jest poprawne. Jeżeli więc nie mamy pod ręka akurat konkretnego rezystora (lub rezystor o wyliczonej wartości nie istnieje :) ) możemy zastosować dowolny o wyższej wartości np: 330omów czy nawet 680omów. Niższe parametry niż wymagane nie uszkodzą diody
Schemat połączenia dla jednej diody (do działania wystarczy wgrać szkic Blink)
Oraz dla wielu diod

/*Wiele diod led - wł/wy czasowe*/
void setup() {
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
delay(2000);
}
void loop() {
digitalWrite(6,HIGH);
delay(500);
digitalWrite(6,LOW);
delay(500);
digitalWrite(7,HIGH);
delay(500);
digitalWrite(7,LOW);
delay(500);
digitalWrite(9,HIGH);
delay(500);
digitalWrite(9,LOW);
delay(500);
digitalWrite(10,HIGH);
delay(500);
digitalWrite(10,LOW);
delay(500);
digitalWrite(11,HIGH);
delay(500);
digitalWrite(11,LOW);
delay(500);
digitalWrite(12,HIGH);
delay(500);
digitalWrite(12,LOW);
delay(500);
}
Powyższy kod jest łatwiejszy do zrozumienia dla początkujących natomiast poniżej jest kod dla osób znających podstawy programowania. Diody należy podpiąć w piny od 3 - 9.
void setup() {
for(int i=3; i < 10; i++)
{
pinMode(i,OUTPUT);
digitalWrite(i, LOW);
}
delay(2000);
}
void loop() {
for(int i=3; i < 10; i++)
{
digitalWrite(i, HIGH);
delay(2000);
digitalWrite(i, LOW);
delay(2000);
}
}
Brak komentarzy:
Prześlij komentarz