Здравствуйте, подскажите как нужно отредактировать код? - вопрос №4365467

Я начинающий Ардуинщик, который буквально неделю назад начал углубляться в эту тематику. И вот моя первая проблема и первый неудачный опыт починить что-то самому.От вас я прошу подкоректировать немного скетч(не мой) что бы он соответствовал следующим параметрам: при подключении платы Arduino UNO не должны включаться светодиоды, они должный работать только в тот момент, когда происходит одно из двух действий-температура выше 35 градусов-включается красный светодиод, температура ниже 20 градусов- зеленый светодиод. Во всех остальных случаях светодиоды должны находиться в выключенном состоянии.Помогите пожалуйста)).
#include
#include
#include
#include //подключение библеотек для DS18B20
#define ONE_WIRE_BUS 10 // pin к которому подключен DS18B20
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
#include
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);
}
16.06.21
0 ответов
Ответов пока нет
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store