Sissejuhatus
Töö kirjeldus:
Valgusfoor töötab kahe režiimiga:
1. Tavarežiim
2. Öörežiim
Kasutatud komponenid:
Arduino UNO plaat (1tk)
Juhtmed (6tk)
Takisti (5tk, 220 Ω)
LED (5tk: 2 punane, 2 roheline, 1 kollane)
Töö protsess:
Ühendage dioodid, takisti ja juhtmed plaadiga.
Tavarežiim – Kui tavafooris põleb punane LED, põleb fooris inimestele roheline LED ja vastupidi.
Öörežiim – Kui valgusfoor on tavarežiimist 2 korda läbinud, lülitub valgusfoor öörežiimile ja vilgub ainult kollane LED ja kõik muud dioodid on välja lülitatud.
Funktsioonid
pinMode (pin, INPUT/OUTPUT) – saab kaks väärtust, mille edastame talle sulgudes kohe pärast funktsiooni nime. Esimene on number-pordi number, teine on sõna INPUT (sisend) või OUTPUT (väljund).
digitalWrite (pin, LOW) – LEDi välja lülitamine.
digitalWrite (pin, HIGH) – LEDi sisse lülitamine.
delay() – ootus millisekundites.
Käivitav kood
const int RED_PIN = 13;
const int GREEN_PIN = 11;
const int YELLOW_PIN = 12;
const int INIM_RED_PIN = 9;
const int INIM_GREEN_PIN = 8;
void loop()
{
for(int i=0;i<2;i++)
{
day();
}
for(int i=0;i<5;i++)
{
yellow();
}
}
void setup()
{
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(YELLOW_PIN, OUTPUT);
pinMode(INIM_RED_PIN, OUTPUT);
pinMode(INIM_GREEN_PIN, OUTPUT);
}
void yellow()
{
// Kõik LEDid on välja lülitatud
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, LOW);
digitalWrite(INIM_RED_PIN, LOW);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(1000);
// kollane
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, HIGH);
digitalWrite(INIM_RED_PIN, LOW);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(1000);
}
void day()
{
// red
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, LOW);
digitalWrite(INIM_RED_PIN, LOW);
digitalWrite(INIM_GREEN_PIN, HIGH);
delay(5000);
// kollane
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, HIGH);
digitalWrite(INIM_RED_PIN, HIGH);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(1000);
// green
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(YELLOW_PIN, LOW);
digitalWrite(INIM_RED_PIN, HIGH);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(5000);
// Kõik LEDid on välja lülitatud
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, LOW);
delay(1000);
// green
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(YELLOW_PIN, LOW);
delay(1000);
// Kõik LEDid on välja lülitatud
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, LOW);
delay(1000);
// green
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(YELLOW_PIN, LOW);
delay(1000);
// Kõik LEDid on välja lülitatud
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, LOW);
delay(1000);
// kollane
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(YELLOW_PIN, HIGH);
digitalWrite(INIM_RED_PIN, HIGH);
digitalWrite(INIM_GREEN_PIN, LOW);
delay(1000);
}
Skeem Tinkercad'is & simulatsioon
Töötav skeem Arduino Uno-ga
