Пример кода для ардуино нано многозадачность работа с дисплеем чтение напряжение и работа с нагрузкой
#include <TM1637Display.h> // Дисплей
#define CLK 2 // ПИН CLK // Дисплей
#define DIO 3 // ДАТА ПИН // Дисплей
TM1637Display display(CLK, DIO); // Объявлениекласса дисплей
#define potentiometer A0 //Для покдлючения потенциометра
#define ventulatoroutput A1 // Для вывода аналогового значения для вентерятора
int signalanalog = 0; // Для хранения значения и использования его для записи
uint32_t timer = 0; // Таймер
int lagtimer = 100; // Задержка для timer, как часто будет выполняться в МС (100 это 10 раз в секунду)
uint32_t timer1 = 0; // Таймер для дисплея
int lagtimer1 = 250; // задержка для таймера1
void setup(){
Serial.begin(115200); // Иницилизация сериала
display.setBrightness(0x0f); // Установка максимальной яркости
pinMode(potentiometer, INPUT); // Устанавливаем пин как вход
pinMode(ventulatoroutput, OUTPUT); // Устанавливаем пин как выход
}
void loop(){
if(millis() - timer >= lagtimer){// Таймер на срабатывание
timer = millis();
signalanalog = analogRead(potentiometer); // Читаем значение с аналогового входа
signalanalog = map(signalanalog, 0, 1023, 0, 255); // Преобразуем в нужный нам для выхода
analogWrite(ventulatoroutput, signalanalog);// Подаем сигнал на выход
Serial.println(signalanalog); //Выводим значение
}
if(millis() - timer1 >= lagtimer1){// Таймер дисплей
timer1 = millis();
int tempsignalanalog = analogRead(potentiometer); //Получаем аналоговое напряжение
display.showNumberDec(tempsignalanalog); // Выводим данные на дисплей 1637
}
}
Поиск информации по сайту мониторинга транспорта TREKBERRY
© TREKBERRY 2017-2024, Дмитрий В.М. Все права защищены.
Копирование материала без ссылки на источник запрещено. Информация размещенная на сайте не является публичной офертой.
Часть текстов написано нейросетью, может содержать не точности. На сайте может быть реклама и иметь рекламные вставки.