#7 Instrukcje sterujące: pętla while

Instrukcje zapisane w pętli while wykonują się dopóki spełniony jest warunek (tzn. warunek jest różny od zera). Jej konstrukcję możemy zapisać w następujący sposób:

while(warunek){  /*instrukcja lub blok instrukcji do wykonania w pętli*/ }

Pętla będzie wykonywać się w nieskończoność, jeśli jako warunek wpiszemy liczbę 1.

Napiszemy program, w którym co 1 sekundę miga dioda LED (połączona do nóżki PD0, a z drugiej strony do masy), po wciśnięciu łącznika dioda wyłączy się (łącznik połączony z nóżką PB0 i masą):

#define F_CPU 1000000UL

#include <avr/io.h>

#include <util/delay.h>

int main(){

DDRB &=~0x01;

DDRD |=0x01;

PORTB |=0x01;

while(PINB & 0x01)

{PORTD |=0x01;

_delay_ms(1000);

PORTD &=~0x01;

_delay_ms(1000);}}

Warunek pętli while to  (logiczne 0 lub 1) odczytane przez rejestr PINB z portu B. Jako, że interesuje mnie jedynie ostatni bit odpowiadający nóżce PB0 operacja iloczynu bitowego pozwoli mi wyzerować ewentualne logiczne 1, które może pojawić się na innych bitach. W ten sposób uzależnię działanie pętli jedynie od stanu logicznego na nóżce PB0.

#11 Jak dobrać rezystor do diody?

Krok 1: dowiedz się czegoś o diodzie

  • wszystkie informacje o diodzie znajdziesz w jej nocie katalogowej (jak korzystać z noty, jakich informacji w niej szukać dowiesz się klikając tutaj)
  • parametry diody zależą od jej koloru, w tabeli poniżej znajdziesz najbardziej charakterystyczne wartości dla diod w różnych kolorach:

  • jeśli zależy Ci na poznaniu dokładnych parametrów tej konkretnej diody, której chcesz użyć, możesz je po prostu samodzielnie zmierzyć (dokładne objaśnienie zamieszczę w jednym z kolejnych filmów, a link do niego znajdziesz tutaj)

Krok 2: dowiedz się czegoś o źródle zasilania

  • napięcie źródła zasilania najlepiej jest zmierzyć za pomocą multimetru:

Krok 3: oblicz rezystancję rezystora

Teraz wystarczy połączenie ze sobą wszystkich podzespołów. Pamiętaj, że w przypadku elementów połączonych szeregowo nie ma znaczenia czy rezystor umieścisz za czy przed diodą!

Po podłączeniu podzespołów warto sprawdzić czy prąd jaki przepływa przez diodę nie jest przekroczone (pamiętaj, że zbyt wysoki prąd negatywnie wpływa na żywotność diody!)

Na koniec jeszcze kilka ważnych uwag:

#1 jeśli nie zależy Ci na intensywności świecenia diody możesz użyć rezystora o nieco większej rezystancji niż ten, który obliczyłeś. Dzięki temu przez diodę będzie przepływał nieco mniejszy prąd, co wydłuży czas jej życia.

#2 przy doborze rezystora należy uwzględnić w swoich wyliczeniach jakie maksymalnie napięcie zasilania może znaleźć się w obwodzie, np. jeśli chcesz podłączyć diodę do instalacji elektrycznej samochodu, musisz pamiętać, że napięcie instalacji w aucie:

  • które stoi, z wyłączonym silnikiem, waha się w granicach od 12,5V do 13V;
  • z włączonym silnikiem może sięgać 14,4V (takie napięcie uwzględnij w swoich obliczeniach!);

#3 przy doborze rezystora do diody warto pamiętać, że gdy dioda się nagrzeje, zmienią się jej parametry i prąd, który będzie przez nią przepływał będzie nieco większy od tego, który założyłeś. Z tego powodu warto sobie założyć, już na etapie obliczeń, że przez diodę ma przepływać nieco mniejszy prąd (np. zamiast 20mA możesz przyjąć w obliczeniach 18mA). Dzięki temu, nawet gdy dioda się nagrzeje, prąd który będzie przez nią przepływał nie będzie za wysoki;

#4 diody LED mocy (tzw. power LED) dają silniejsze światło, ale też bardziej się nagrzewają; w ich przypadku nie wystarczy zwykły rezystor, zamiast niego trzeba dobrać specjalny układ stabilizacji prądu (będzie o tym mowa w którymś z przyszłych odcinków)