void setup() {
// put your setup code here, to run once:
// Все дискретные пины поключим как выходы
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
// Заточим остро терминал
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
// Соберем данные с аналогового входа
int Value = analogRead(A0);
int Num_led;
// Строчка клееная
String glue_str;
// Граница света - 10 лк, 848 в аналоговых единицах
if (Value > 848)
{
// Так и запишем - "свет включили"
glue_str = "; light";
// Затемним все светодиоды, чтобы лишние не горели
for (int i = 0;i < 12; i++)
{
digitalWrite(i, LOW);
}
// Посчитаем количество света в зависимости от тьмы
Num_led = trunc((Value-808)/20);
// Включим нужное количество лампочек (0 и 1 пин использовать
// удалось, видимо для терминала)
for (int i = 0;i < Num_led-1; i++)
{
digitalWrite(i+2, HIGH);
}
}
else
{
// напишем в терминал - "свет не требуется"
glue_str = "; no light";
Num_led = 0;
// Все светодиоды затемнены
for (int i = 0; i < 12; i++)
{
digitalWrite(i, LOW);
}
}
// Сбрасываем строку в терминал - значение аналогового входа и
// комментарий
Serial.println(String(Value)+glue_str);
// А это, чтобы не перегревать ПЛК ))
delay(200);
}