57 lines
1.1 KiB
C
57 lines
1.1 KiB
C
#include <avr/interrupt.h>
|
||
#include <avr/io.h>
|
||
//#define F_CPU 1000000UL
|
||
|
||
int enc_val, last_enc_val;
|
||
long dht_Draw_idle=0;
|
||
bool dht_enabled = false;
|
||
|
||
#include "DHT_22.h"
|
||
#include "Encoder.h"
|
||
#include "timers.h"
|
||
|
||
// Настройка
|
||
void setup() {
|
||
// Инициализируем UART
|
||
Serial.begin(57600);
|
||
encoder_setup();
|
||
// Настраиваем таймер
|
||
setup_timer();
|
||
|
||
// Разрешаем прерывания
|
||
sei();
|
||
Serial.println("Start system");
|
||
delay(10);
|
||
DDRD = 0b10000000;
|
||
}
|
||
|
||
// Основной цикл
|
||
void loop() {
|
||
|
||
// Читаем данные с DHT
|
||
dht_enabled = dht_check();
|
||
|
||
dht_Draw_idle++;
|
||
if ( dht_Draw_idle>160000 ){
|
||
dht_Draw_idle = 0;
|
||
if ( dht_enabled ){
|
||
Serial.print( dht_humidity() );
|
||
Serial.print("% ");
|
||
Serial.print( dht_temperature() );
|
||
Serial.println("C");
|
||
}
|
||
}
|
||
|
||
// Serial.println("Enc [" + (String)enc_val + "] ");
|
||
enc_val = encoder_value();
|
||
bool Draw = false;
|
||
|
||
if (enc_val != last_enc_val) {
|
||
Draw = true;
|
||
last_enc_val = enc_val;
|
||
}
|
||
|
||
if (Draw) {
|
||
Serial.println("Enc [" + (String)enc_val + "] ");
|
||
}
|
||
} |