Zadatak
Izradimo model semafora za vozila. Na Arduino pločicu spojimo crvenu LE diodu na pin broj 7, žutu LE diodu na pin broj 6 i zelenu LE diodu na pin broj 5.
Napišimo program da semafor radi na sljedeći način: Na početku je uključena crvena LE dioda u trajanju od 5 sekundi, zatim su uključene zajedno crvena i žuta LE dioda 2 sekunde, pa zelena LE dioda 5 sekundi.
Na kraju je uključena žuta LE dioda 2 sekunde. Ciklus se stalno ponavlja.
![](https://stemlab.ba/wp-content/uploads/2023/12/semafor.jpg)
Komponente:
- 1 * Arduino UNO R3 mikrokontroler,
- 1 * USB kabal,
- 1 * LE dioda (crvena)
- 1 * LE dioda (žuta)
- 1 * LE diode (zelena)
- 3 * Otpornik 220 Ω,
- 1 * Eksperimentalna pločica,
- 7 * Kratkospojničke žice
Šta je LE dioda?
LE dioda je poluprovodnički elektronički element koji električni signal pretvara u optički (svjetlost). LE dioda propušta struju samo u jednom smjeru (od anode prema katodi) pri čemu svjetli, dok u drugom pruža otpor.
LE dioda ima dvije elektrode, anodu i katodu. Anoda je pozitivna elektroda dok je katoda negativna. Ako se LE dioda pažljivo pogleda može se vidjeti da je jedna nožica duža od druge. Duža nožica je uvijek anoda dok je kraća katoda. Osim toga, obod stakla na jednom dijelu nije okrugao, nego je ravan što označava s koje strane se nalazi katoda.
Zavisno od materijala od kojeg su izrađene i talasne dužine, diode emitiraju različitu svjetlost. LE diode prema boji priključujemo na predviđeni napon. Svaka dioda ima svoj tzv. napon praga koji mora biti osiguran kako bi dioda ispravno radila.
Kada je napon niži od predviđenog LE dioda neće svjetliti, a kada je viši od predviđenog dioda će pregorjeti.
Zaštita LE diode se postiže preko Omovog zakona, dodavanjem otpornika u strujni krug kako kroz diodu ne bi protekla prevelika struja. Katoda se spaja na uzemljenje Arduino pločice
(0 V ili GND), a anoda preko otpornika na digitalni pin kojim se upravlja diodom.
Šta je otpornik?
Otpornik je pasivna elektronička komponenta koja pruža otpor proticanju električne struje, stvarajući pri tom pad napona između priključaka. Drugim riječima, otpornik apsorbuje dio električne energije koju pretvara u toplotu. U ovoj lekciji koristimo otpornik sa stalnom vrijdnosti. Vrijednost otpornika se predstavlja prstenovima određene boje po obodu valjkastog kućišta.
![](https://stemlab.ba/wp-content/uploads/2019/11/Kondenzator.jpg)
Najvažnija karakteristika otpornika je električni otpor (R). Osnovna mjerna jedinica za otpor je 1 Ω (om). Budući da je struja potrebna da se uključi LE dioda je 5~20 mA, a izlani napon Arduina 5 V, otpor dobijamo po formuli:
R=U/I = 5V/(5 ~ 20 mA) = 250 Ω ~ 1 kΩ
Budući da je LE dioda sam otpornik, ovdje koristimo otpor od 220 oma.
Postupak
1. Izgradite sklop
![](https://stemlab.ba/wp-content/uploads/2023/12/semafor1.jpg)
2. Program
/***********************************************************
Semafor
STEM Lab
***********************************************************/
int ledPin_Red = 7; // Definiranje digitalnog pina 7 kao pina za upravljanje crvenom LE diodom
int ledPin_Yellow = 6; // Definiranje digitalnog pina 6 kao pina za upravljanje žutom LE diodom
int ledPin_Green = 5; // Definiranje digitalnog pina 5 kao pina za upravljanje zelenom LE diodom
void setup() {
pinMode(ledPin_Red, OUTPUT); // Postavite digitalni način rada s pina 7, IZLAZ: izlazni način
pinMode(ledPin_Yellow, OUTPUT); // Postavite digitalni način rada s pina 6, IZLAZ: izlazni način
pinMode(ledPin_Green, OUTPUT); // Postavite digitalni način rada s pina 5, IZLAZ: izlazni način
}
void loop() {
digitalWrite(ledPin_Red, HIGH); // ledPin (pin 7) postavite u stanje UKLJUČI (uključi crvenu LE diodu)
digitalWrite(ledPin_Yellow, LOW); // ledPin (pin 6) postavite u stanje ISKLJUČI (isključi žutu LE diodu)
digitalWrite(ledPin_Green, LOW); // ledPin (pin 5) postavite u stanje ISKLJUČI (isključi zelenu LE diodu)
delay(5000); // Postavite vrijeme čekanja, 5000 milisekundi (5 sekundi)
digitalWrite(ledPin_Red, HIGH); // ledPin (pin 7) postavite u stanje UKLJUČI
digitalWrite(ledPin_Yellow, HIGH); // ledPin (pin 6) postavite u stanje UKLJUČI
digitalWrite(ledPin_Green, LOW); // ledPin (pin 5) postavite u stanje ISKLJUČI
delay(2000); // Postavite vrijeme čekanja, 2000 milisekundi (2 sekunde)
digitalWrite(ledPin_Red, LOW); // ledPin (pin 7) postavite u stanje ISKLJUČI
digitalWrite(ledPin_Yellow, LOW); // ledPin (pin 6) postavite u stanje ISKLJUČI
digitalWrite(ledPin_Green, HIGH); // ledPin (pin 5) postavite u stanje UKLJUČI
delay(5000); // Postavite vrijeme čekanja, 5000 milisekundi (5 sekundi)
digitalWrite(ledPin_Red, LOW); // ledPin (pin 7) postavite u stanje ISKLJUČI
digitalWrite(ledPin_Yellow, HIGH); // ledPin (pin 6) postavite u stanje UKLJUČI
digitalWrite(ledPin_Green, LOW); // ledPin (pin 5) postavite u stanje ISKLJUČI
delay(2000); // Postavite vrijeme čekanja, 2000 milisekundi (2 sekunde)
}
3. Prenesite program na Arduino UNO pločicu.