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.
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.
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.
Button ne na šemi iznad vezan u 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