Katse 1.1

Ülesanne 2 Гирлянда-Valguskett
Töö kirjeldus
Valguskett töötab neljas režiimis.
Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Juhtmed (11tk)
Takisti (9tk, 220 Om)
LED (9tk: 3 punane, 3 roheline, 3 kollane)
Potentsiomeetr (1tk)
Tööprotsess:
Ühendage dioodid, potentsiomeeter, takisti ja juhtmed plaadiga. Valgus töötab neljas režiimis. Punased tuled vilguvad eraldi, roheline ja kollane vilkuvad eraldi ning režiim, kus kõik kordamööda süttivad
LED-ide kasutamine
Kasutamiseks vanikutes.
Skeem:

Programm:
// C++ code
//
int sensorPin = 0;
int ledRED1 = 13;
int ledGREEN1 = 12;
int ledYELLOW1 = 11;
int ledRED2 = 10;
int ledGREEN2 = 9;
int ledYELLOW2 = 8;
int ledRED3 = 7;
int ledGREEN3 = 6;
int ledYELLOW3 = 5;
int sensorValue = 0;
int Value_new;
void setup()
{
pinMode(ledRED1, OUTPUT);
pinMode(ledGREEN1, OUTPUT);
pinMode(ledYELLOW1, OUTPUT);
pinMode(ledRED2, OUTPUT);
pinMode(ledGREEN2, OUTPUT);
pinMode(ledYELLOW2, OUTPUT);
pinMode(ledRED3, OUTPUT);
pinMode(ledGREEN3, OUTPUT);
pinMode(ledYELLOW3, OUTPUT);
}
void red()
{
digitalWrite(ledRED1, HIGH);
digitalWrite(ledRED2, HIGH);
digitalWrite(ledRED3, HIGH);
delay(100);
digitalWrite(ledRED1, LOW);
digitalWrite(ledRED2, LOW);
digitalWrite(ledRED3, LOW);
delay(100);
}
void yellow()
{
digitalWrite(ledYELLOW1, HIGH);
digitalWrite(ledYELLOW2, HIGH);
digitalWrite(ledYELLOW3, HIGH);
delay(100);
digitalWrite(ledYELLOW1, LOW);
digitalWrite(ledYELLOW2, LOW);
digitalWrite(ledYELLOW3, LOW);
delay(100);
}
void green()
{
digitalWrite(ledGREEN1, HIGH);
digitalWrite(ledGREEN2, HIGH);
digitalWrite(ledGREEN3, HIGH);
delay(100);
digitalWrite(ledGREEN1, LOW);
digitalWrite(ledGREEN2, LOW);
digitalWrite(ledGREEN3, LOW);
delay(100);
}
void randomBlink()
{
int ledArray[] = {ledRED1, ledRED2, ledRED3, ledGREEN1, ledGREEN2, ledGREEN3, ledYELLOW1, ledYELLOW2, ledYELLOW3};
for (int i = 0; i < 9; i++)
{
digitalWrite(ledArray[i], HIGH);
delay(random(100, 500)); // Случайная задержка от 100 до 500 миллисекунд
digitalWrite(ledArray[i], LOW);
}
}
void loop()
{
sensorValue = analogRead(sensorPin);
Value_new = map(sensorValue, 0, 1023, 1, 5);
if (Value_new == 1)
{
red();
}
else if (Value_new == 2)
{
yellow();
}
else if (Value_new == 3)
{
green();
}
else if (Value_new == 4)
{
randomBlink();
}
else
{
digitalWrite(ledRED1, LOW);
digitalWrite(ledRED2, LOW);
digitalWrite(ledRED3, LOW);
digitalWrite(ledYELLOW1, LOW);
digitalWrite(ledYELLOW2, LOW);
digitalWrite(ledYELLOW3, LOW);
digitalWrite(ledGREEN1, LOW);
digitalWrite(ledGREEN2, LOW);
digitalWrite(ledGREEN3, LOW);
}
}
Video:
Uued funktsioonid:
Syntax
map(value, fromLow, fromHigh, toLow, toHigh)
Syntax
constrain(x, a, b)
Parameters
x: the number to constrain, all data types
a: the lower end of the range, all data types
b: the upper end of the range, all data types
Random():
long rnd=random(a,b);