Я Потапов Никита из 10 А класса хочу вам представить свой проект на тему «Умное устройство». Она заключается в создании макета «светильника» основанного на плате Arduino Uno. Снизу будет прикреплен код программы и схема подключения. Скачать программу для кодирования на плате Arduino вы можете на сайте https://www.arduino.cc/en/software , а набор Arduino можно заказать в интернет магазинах.

const int BLED=9;
const int GLED=10;
const int RLED=11;
const int BUTTON=2;
boolean lastButton = LOW;
boolean currentButton = LOW;
int ledMode = 0;
void setup ()
{
pinMode (BLED, OUTPUT);
pinMode (GLED, OUTPUT);
pinMode (RLED, OUTPUT);
pinMode (BUTTON, INPUT);
}
boolean debounce(boolean last)
{
boolean current = digitalRead(BUTTON);
if (last != current)
{
delay(5);
current = digitalRead(BUTTON);
return current;
}
}
void setMode(int mode)
{
// Красный
if (mode == 1)
{
digitalWrite(RLED, HIGH);
digitalWrite(GLED, LOW);
digitalWrite(BLED, LOW);
}
// Зеленый
else if (mode == 2)
{
digitalWrite(RLED, LOW);
digitalWrite(GLED, HIGH);
digitalWrite(BLED, LOW);
}
// Синий
else if (mode == 3)
{
digitalWrite(RLED, LOW);
digitalWrite(GLED, LOW);
digitalWrite(BLED, HIGH);
}
// Пурпурный (Красный+ Синий)
else if (mode == 4)
{
analogWrite(RLED, 127);
analogWrite(GLED, 0);
analogWrite(BLED, 127);
}
// Бирюзовый (Синий+ Зеленый)
else if (mode == 5)
{
analogWrite(RLED, 0);
analogWrite(GLED, 127);
analogWrite(BLED, 127);
}
// Оранжевый (Зеленый+ Красный)
else if (mode == 6)
{
analogWrite(RLED, 127);
analogWrite(GLED, 127);
analogWrite(BLED, 0);
}
// Белый (Зеленый+ Красный+ Синий)
else if (mode == 7)
{
analogWrite(RLED, 85);
analogWrite(GLED, 85);
analogWrite(BLED, 85);
}
// Выключен (mode = 0)
else
{
digitalWrite(RLED, LOW);
digitalWrite(GLED, LOW);
digitalWrite(BLED, LOW);
}
}
void loop()
{
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
ledMode++;
}
lastButton = currentButton;
if (ledMode == 8)
ledMode = 0;
setMode(ledMode);
}