Modulacja szerokości impulsu w Arduino

Modulacja szerokości impulsu w Arduino
Modulacja szerokości impulsu znana również jako PWM jest techniką, która obejmuje zmianę szerokości impulsu wygenerowanego sygnału w wyniku czego zmienia się cykl pracy sygnału. To zmienne wejście może być używane w wielu aplikacjach, takich jak kontrolowanie jasności diod LED, kontrolowanie prędkości silników i gdzie wyjście analogowe jest wymagane przy użyciu źródeł cyfrowych.

Modulacja szerokości impulsu za pomocą Arduino

Modulację szerokości impulsu można wykonać w Arduino za pomocą anogwrite () funkcjonować. Sama funkcja anogwrite () generuje sygnał fali kwadratowej, który można zmieniać od funkcji.

anogwrite () funkcja używa dwóch argumentów, jeden to szpilka co określi numer portu, przy którym generuje modulowany sygnał, a drugi wartość To określa wartość cyklu pracy modulowanego sygnału.Aby użyć funkcji analogwrite w programowaniu Arduino, należy przestrzegać następującej składni

Analogwrite (liczba pinów, wartość cyklu pracy);

Numer PIN jest typu danych całkowitych, podczas gdy wartość cyklu pracy ma formularz od zera do 255.Szerokość impulsu jest częścią impulsu, w której jego wartość jest wysoka. Podobnie, czas trwania cyklu impulsu to czas trwania jego wysokich i niskich wartości. Ponadto odsetek stosunku czasu trwania szerokości impulsu do czasu trwania cyklu nazywany jest cyklem pracy. Istnieją różne cykle pracy w celu dalszego zrozumienia tematu. Wykresy wykreślone mają czas na osi poziomej, podczas gdy napięcie znajduje się na osi pionowej. To są odsetki tego, ile czasu napięcie było wysokie. Cykl pracy to czas, dla którego napięcie było wysokie.

Przykład

Kod modulacji szerokości impulsu podano poniżej.

int Ledpin = 6; // Arduino Uno PWM: 3, 5, 6, 9, 10
Int jasność = 0;
int fadeValue = 5;
void setup ()
pinmode (LEDPIN, wyjście);

void Loop ()
Analogwrite (Ledpin, jasność);
jasność = jasność + fadeValue;
if (jasność = 255)
fadeValue = -fadeValue;

opóźnienie (10);

Po pierwsze Ledpin Zmienna jest zadeklarowana, przy czym światło LED jest podłączone, a następnie do przechowywania wartości analogwrite zmienna jasność jest zadeklarowane. Wartość będzie jeździć w zakresie od 0 do 255. Aby kontrolować wyblakłe wiązanie LED zmienna nazywana FadeValue Jest używane.

Wchodząc do sekcji konfiguracji Numer PIN przypisany do diody LED jest zadeklarowany, aw sekcji pętli sygnał modulacji szerokości impulsu jest generowany za pomocą funkcji AnalogWrite (). Jasność diody LED jest kontrolowana ze zmianą szerokości impulsu. Pin i jasność LED są traktowane jako argumenty funkcji analogwrite. Następnie dodaje się jasność i zmienną wartości zanikania. Aby zwiększyć jasność o pięć razy w każdym czasie, gdy pętla działa, dlatego wartość Fadevalue otrzymuje wartość 5.

Warunek IF jest używany do uruchamiania kodu tylko wtedy, gdy jasność jest mniejsza niż równa zero lub większa niż równa 255.

Więc na początku wartość jasności wynosi zero, a FadeValue wynosi 5. Tak więc w pierwszym stwierdzeniu kwota blaknięcia jest dodawana do jasności, a teraz jasność ma wartość pięciu. Następnie do stwierdzenia IF Warunek jest fałszywy, ponieważ jasność jest nie mniejsza niż zero lub jasność jest większa niż 255. Tak więc pętla będzie działać, dopóki wartość jasności osiągnie 255. Więc jeśli warunek IF jest prawdziwy, do kwoty zanikania jest dodawana wartość ujemnego pięciu 5.

Więc teraz przy każdej iteracji wartość spadnie o 5, aż osiągnie zero, a dioda LED wyłączy się.

Wniosek

Istnieje szeroki zakres projektów, które można wykonać za pomocą Arduino. Używanie Arduino nieco ułatwia pracę nad projektami. W tym artykule omówiono modulację szerokości impulsów (PWM), a jeden z jej zastosowań opisano, aby podać więcej szczegółów modulacji szerokości impulsu (PWM) do określonych zadań w programowaniu Arduino w programowaniu Arduino.