Я начинающий Ардуинщик,который буквально неделю назад начал углубляться в эту тематику. И вот моя первая проблема и первый неудачный опыт починить что-то самому.От вас я прошу подкоректировать немного скетч(не мой) что бы он соответствовал следующим параметрам: при подключении платы Arduino UNO не должны включаться светодиоды,они должный работать только в тот момент,когда происходит одно из двух действий-температура выше 35 градусов-включается красный светодиод, температура ниже 20 градусов- зеленый светодиод. Во всех остальных случаях светодиоды должны находиться в выключенном состоянии.Помогите пожалуйста)).
#include <Wire.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h> //подключение библеотек для DS18B20
#define ONE_WIRE_BUS 10 // pin к которому подключен DS18B20
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
#include <OLED_I2C.h>
OLED myOLED(A4, A5, A4); // Подключение дисплея
extern uint8_t RusFont[]; // Русский шрифт
extern uint8_t BigNumbers[]; // Большие цифры
extern uint8_t SmallFont[]; // Маленький шрифт
void setup()
{
pinMode(13, OUTPUT); // Объявить pin 13 как выход
pinMode(2, OUTPUT);// Объявить pin 2 как выход
pinMode(5, OUTPUT); // Объявить pin 5 как выход
sensors.begin();// Включение датчика
myOLED.begin();// Включение дисплея
myOLED.setFont(RusFont);
}
void loop()
{
if (sensors.getTempCByIndex(0)>35)//Проверка датчика температуры(при температуре >35 будет включаться лампочка и сирена)
{
digitalWrite(5,HIGH);// Включение лампочки
tone(13, 2500);// Включаем звук 2500 Гц
delay(1000);// Пауза 1 сек
digitalWrite(5,LOW);// Выключение лампочки
}
else // иначе(при несоблюдении условия выше)
{
if (sensors.getTempCByIndex(0)<20)//Проверка датчика температуры(при температуре <20 будет включаться лампочка и сирена)
{
digitalWrite(2,HIGH);// Включение лампочки
tone(13, 2500); // Включаем звук 2500 Гц
}
else // иначе(при несоблюдении условий выше)
{
noTone(13);// выключение звука
digitalWrite(2,LOW);
digitalWrite(5,LOW);
}
}
sensors.requestTemperatures();
myOLED.clrScr(); // Очищаем экран
myOLED.setFont(RusFont);
myOLED.print("Ntvgthfnehf", CENTER, 0); // Вывод текста русскими буквами
myOLED.setFont(SmallFont);
myOLED.setFont(RusFont);
myOLED.print("Hbyfn Fqcbyjd", CENTER, 55); // Вывод текста
myOLED.setFont(BigNumbers);
myOLED.print(String(sensors.getTempCByIndex(0) , 1), CENTER, 10); // Отображение значения температуры, с точностью до десятых
myOLED.update();
delay(100);
}