Support http://amicus.ba with small donation

Na slici ispod je Arduino Uno na čijih šest izlaza je spojeno šest LED dioda a na jedan ulaz spojena tipka (button).

Button služi za slanje signala Arduinu za pokretanje sekvencijalnog uključivanja a zatim i isključivanja svih šest LED dioda.

6 dioda u nizu sa dugmetom

Pritiskom na dugme Arduino uključuje šest LED dioda u nizu a zatim ih isključuje.
Nakon uključivanja svih šest LED dioda, automatski se pokreće njihovo isključivanje, istim redoslijedom kako su uključivane.
Ispod je kôd sketch-a koji vrši uključivanje i isključivanje šeset LED dioda nakon pritiska na dugme (kopirajte kompletan kôd ispod u Arduino IDE prozor i upload-ujte ga na Arduino) :

/*
 * UKLJUČIVANJE/ISKLJUČIVANJE 6 LED DIODA U NIZU
 * PRITISKOM NA TIPKU
 *
 * Autor: Samir Gutić
 * URL: http://amicus.ba
 * Datum: 28. I 2017.
 */
 
int ledPin13 = 13;      // LED spojena na digitalni pin 13
int ledPin12 = 12;      // LED spojena na digitalni pin 12
int ledPin11 = 11;      // LED spojena na digitalni pin 11
int ledPin9 = 9;        // LED spojena na digitalni pin 09
int ledPin8 = 8;        // LED spojena na digitalni pin 08
int ledPin7 = 7;        // LED spojena na digitalni pin 07
int intOdgoda=500;      // Vremenska odgoda

const int intPinDugmeta = 6;      // Broj pin-a dugmeta
int intStanjeDugmeta = 0;         // Varijabla za citanje statusa dugmeta

void setup()
{
  pinMode(ledPin13, OUTPUT);      // Konfiguriše digitalni izlaz kao OUTPUT
  pinMode(ledPin12, OUTPUT);      // Konfiguriše digitalni izlaz kao OUTPUT
  pinMode(ledPin11, OUTPUT);      // Konfiguriše digitalni izlaz kao OUTPUT
  pinMode(ledPin9, OUTPUT);       // Konfiguriše digitalni izlaz kao OUTPUT
  pinMode(ledPin8, OUTPUT);       // Konfiguriše digitalni izlaz kao OUTPUT
  pinMode(ledPin7, OUTPUT);       // Konfiguriše digitalni izlaz kao OUTPUT
  pinMode(intPinDugmeta, INPUT);  // Konfigurise pin dugmeta kao INPUT
}

void loop()
{
  // Citanje stanja dugmeta
  intStanjeDugmeta = digitalRead(intPinDugmeta);

    if (intStanjeDugmeta == HIGH) {
      digitalWrite(ledPin7, HIGH);   // Uključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin8, HIGH);   // Uključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin9, HIGH);   // Uključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin11, HIGH);  // Uključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin12, HIGH);  // Uključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin13, HIGH);  // Uključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      
      digitalWrite(ledPin7, LOW);    // Isključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin8, LOW);    // Isključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin9, LOW);    // Isključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin11, LOW);   // Isključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin12, LOW);   // Isključuje LED
      delay(intOdgoda);              // Čekanje podešeno vrijeme
      digitalWrite(ledPin13, LOW);   // Isključuje LED
      delay(intOdgoda);              // waits for a second
  }
}

U suštini, sketch prati da li se dogodio pritisak dugmeta. Ako jeste, pokreće sekvencu uključivanja šest LED dioda u nizu. Nakon svakog uključenja podešena je pauza u trajanju od intOdgoda=500 milisekundi.
Nakon uključivanja svih šest LED dioda, automatski se pokreće njihovo isključivanje, istim redoslijedom kako su uključivane.
Kada su isključene sve LED diode, Arduino pokreće novi ciklus loop procedure, odnosno čeka na ponovni pritisak na dugme. Ciklus uključivanja i isklučivanja LED dioda neće biti ponovljen dok se ne dogodi novi pritisak na tipku.

U ovom primjeru, nije moguće vršiti bilo kakvu interakciju (ponovni pritisak na dugme ili slično) dok se ne završi kompletna sekvenca uključivanja i isključivanja svih LED dioda.

Šema spoja elemenata kreirana u Fritzing programu je na slici ispod.

6 LED u nizu - breadboard

Kao što se vidi sa šeme iznad, plus polovi LED dioda 1 do 6 su spojeni, preko svojih otpornika R=220Ω na pinove broj 7, 8, 9, 11, 12 i 13. Jedan kontakt tipke za pritiskanje je spojen direktno na +5V. Drugo kontakt je, preko otpornika R7=10KΩ spojen na masu ali i direktno na Arduino pin broj 6. Takav spoj tipke se naziva pull down spoj.

Električna šema spoja je na sljedećoj slici.

6 LED u nizu - šema spoja

Button ne na šemi iznad vezan u pull down spoju.

Ispod je video koji prikazuje rad sekvence uključivanja i isključivanja šest LED dioda, nakon pritiska na dugme.

Potrebne komponente:

1 x Arduino UNO

1 x Breadboard (velika)

1 x Button (NO - normalno otvoren)

6 x LED

6 x otpornik 220Ω

1 x otpornik 10KΩ

Žice za spajanje

9V napajanje