ARDUINO NANO многозадачность использование дисплея TM1637 измерение напряжения управление нагрузкой
![ARDUINO NANO многозадачность использование дисплея TM1637 измерение напряжения управление нагрузкой ARDUINO NANO многозадачность использование дисплея TM1637 измерение напряжения управление нагрузкой](/uploads/s/c/y/g/cygvbasvueok/img/full_UGLOvKjF.png)
ARDUINO NANO многозадачность использование дисплея TM1637 измерение напряжения управление нагрузкой
Обработка видео...
#include <TM1637Display.h>
#define CLK 2
#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;
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);
}
}