diff --git a/main.c b/main.c index 3feee11..9cc553d 100644 --- a/main.c +++ b/main.c @@ -1,76 +1,57 @@ -#include -#include -//#define F_CPU 1000000UL - -// Определения портов и битов -#define DHT_PORT PORTB -#define DHT_DDR DDRB -#define DHT_PIN PINB -#define DHT_BIT 0 - -// Глобальные переменные -unsigned char data[5]; -byte dt[48]; -byte dtcnt; +#include +#include +//#define F_CPU 1000000UL +int enc_val, last_enc_val; +long dht_Draw_idle=0; +bool dht_enabled = false; -float temperature, humidity; - int enc_val, last_enc_val; -float last_temperature, last_humidity; +#include "DHT_22.h" +#include "Encoder.h" +#include "timers.h" -// Флаг прерывания -volatile unsigned char interrupt_flag = 1; -bool dht_check_act = false; -bool dht_done = false; -int dht_check_icp; +// Настройка +void setup() { + // Инициализируем UART + Serial.begin(57600); + encoder_setup(); + // Настраиваем таймер + setup_timer(); -byte dht_state, dht_last_state; -int T1time, dPos, dNum; + // Разрешаем прерывания + sei(); + Serial.println("Start system"); + delay(10); + DDRD = 0b10000000; +} -//int dht_save_time[42]; -int dht_save_time_id; - -// Таймер для задержки -volatile unsigned int timer_counter = 0; -int dht_en_timer=0; +// Основной цикл +void loop() { -void PrintDebug(); + // Читаем данные с DHT + dht_enabled = dht_check(); -#include "timers.h" -#include "dht.h" -#include "enc.h" -// Настройка -void setup() -{ - // Инициализируем UART - Serial.begin(57600); - encoder_setup(); - // Настраиваем таймер - setup_timer(); - - // Разрешаем прерывания - sei(); - Serial.println("Start system"); - delay(10); - DDRD = 0b10000000; -} - -// Основной цикл -void loop() -{ - - // Читаем данные с DHT - dht_check(); - enc_val = encoder_value(); - bool Draw=false; + 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"); + } + } - if ( enc_val != last_enc_val ) - { - Draw = true; last_enc_val = enc_val; - } +// Serial.println("Enc [" + (String)enc_val + "] "); + enc_val = encoder_value(); + bool Draw = false; - if ( Draw ) - { - Serial.println("Enc ["+(String)enc_val+"] "); - } + if (enc_val != last_enc_val) { + Draw = true; + last_enc_val = enc_val; + } + + if (Draw) { + Serial.println("Enc [" + (String)enc_val + "] "); + } } \ No newline at end of file