Arduino - zanikająca dioda LED

Ten przykład demonstruje użycie funkcji analogWrite () do wygaszania diody LED. AnalogWrite wykorzystuje modulację szerokości impulsu (PWM), bardzo szybko włączając i wyłączając cyfrowy pin z różnymi stosunkami między włączaniem i wyłączaniem, aby stworzyć efekt zanikania.

Wymagane składniki

Będziesz potrzebował następujących komponentów -

  • 1 × Breadboard
  • 1 × Arduino Uno R3
  • 1 × LED
  • Rezystor 1 × 330Ω
  • 2 × sweter

Procedura

Postępuj zgodnie ze schematem obwodu i podłącz komponenty na płytce stykowej, jak pokazano na poniższym obrazku.

Note- Aby sprawdzić biegunowość diody LED, przyjrzyj się jej uważnie. Krótsza z dwóch nóżek, w kierunku płaskiej krawędzi żarówki, wskazuje biegun ujemny.

Komponenty, takie jak rezystory, muszą mieć wygięte zaciski pod kątem 90 °, aby prawidłowo dopasować gniazda płytki stykowej. Możesz także skrócić terminale.

Naszkicować

Otwórz oprogramowanie Arduino IDE na swoim komputerze. Kodowanie w języku Arduino będzie sterować twoim obwodem. Otwórz nowy plik szkicu, klikając Nowy.

Kod Arduino

/*
   Fade
   This example shows how to fade an LED on pin 9 using the analogWrite() function.

   The analogWrite() function uses PWM, so if you want to change the pin you're using, be
   sure to use another PWM capable pin. On most Arduino, the PWM pins are identified with
   a "~" sign, like ~3, ~5, ~6, ~9, ~10 and ~11.
*/

int led = 9; // the PWM pin the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
// the setup routine runs once when you press reset:

void setup() {
   // declare pin 9 to be an output:
   pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:

void loop() {
   // set the brightness of pin 9:
   analogWrite(led, brightness);
   // change the brightness for next time through the loop:
   brightness = brightness + fadeAmount;
   // reverse the direction of the fading at the ends of the fade:
   if (brightness == 0 || brightness == 255) {
      fadeAmount = -fadeAmount ;
   }
   // wait for 30 milliseconds to see the dimming effect
   delay(300);
}

Kod do uwagi

Po zadeklarowaniu pinu 9 jako pinu LED, nie ma nic do zrobienia w funkcji setup () twojego kodu. Funkcja analogWrite (), której będziesz używać w głównej pętli twojego kodu, wymaga dwóch argumentów: jednego, wskazującego funkcji, do którego pinu ma pisać, a drugiego wskazującego, jaką wartość PWM zapisać.

Aby zgasić i włączyć diodę LED, stopniowo zwiększaj wartości PWM od 0 (całkowicie wyłączone) do 255 (całkowicie włączone), a następnie z powrotem do 0, aby zakończyć cykl. W powyższym szkicu wartość PWM jest ustawiana za pomocą zmiennej zwanej jasnością. Za każdym razem w pętli zwiększa się o wartość zmiennejfadeAmount.

Jeśli jasność osiągnie skrajną wartość (0 lub 255), wartość fadeAmount jest zmieniana na wartość ujemną. Innymi słowy, jeśli fadeAmount wynosi 5, to jest ustawione na -5. Jeśli wynosi -5, to jest ustawione na 5. Przy następnym przejściu przez pętlę zmiana ta spowoduje również zmianę kierunku jasności.

analogWrite()może bardzo szybko zmienić wartość PWM, więc opóźnienie na końcu szkicu kontroluje prędkość zanikania. Spróbuj zmienić wartość opóźnienia i zobacz, jak zmienia efekt zanikania.

Wynik

Powinieneś zobaczyć, jak jasność diody LED zmienia się stopniowo.