Помогите пожалуйста кто то с кодом
- Войдите на сайт для отправки комментариев
Пт, 15/08/2014 - 17:26
оно работает только както не так
#include <DHT.h> // Подключаем библиотеку для работы с датчиком #include <UTFT.h> #include <UTouch.h> #include <UTFT_Buttons.h> extern uint8_t BigFont[]; UTFT myGLCD(ITDB32S,38,39,40,41); UTouch myTouch(6,5,4,3,2); UTFT_Buttons myButtons(&myGLCD, &myTouch); #define DHTPIN 21 // Считывающий пин с датчика #define DHTTYPE DHT11 // Модель датчика #define tPIN 20 // Пин управления температурой #define hPIN 19 // Пин управления влажностью DHT dht(DHTPIN, DHTTYPE); // Создаем объект dht int tStatus = HIGH; // определяем переменную, отвечающую за состоянеие нагревателя HIGH=выкл, LOW=вкл int temp = 28; // Желаемая температура в градусах Цельсия (изменить на нужную) int hStatus = HIGH; // определяем переменную, отвечающую за состоянеие увлажнителя HIGH=выкл, LOW=вкл int hum = 45; // Желаемая влажность (изменить на нужную) void setup() // инициализация основных данных { Serial.begin(9600); // Инициализируем COM-порт dht.begin(); // Инициализируем датчик myGLCD.InitLCD(); myGLCD.clrScr(); myGLCD.setFont(BigFont); myTouch.InitTouch(); myTouch.setPrecision(PREC_MEDIUM); myButtons.setTextFont(BigFont); pinMode(tPIN, OUTPUT); // Определяем пин для управления температурой как Вывод digitalWrite(tPIN, tStatus); // Притягиваем пин к начальному статусу (Выкл) } void loop() // зацикливание (код управляющей программы) { int h = dht.readHumidity(); // Считываем влажность int t = dht.readTemperature(); // Считываем температуру tStatus = (t > temp) ? LOW:HIGH; // Если температура меньше желаемой, то статус обогревателя=Вкл, в противном случае Выкл digitalWrite(tPIN, tStatus); if (h < hum) hStatus = LOW; else hStatus = HIGH; // Если влажность меньше желаемой, то статус увлажнителя=Вкл, в противном случае Выкл digitalWrite(hPIN, hStatus); delay(500); // Задержка в 1 секунду Serial.print("t="); Serial.print(t); Serial.print(" h="); Serial.println(h); // Отправляем информацю о климате на COM-порт myGLCD.print(String(int(t)), 20, 40); int pressed_button, butup, butdwn; boolean default_colors = true; myButtons.deleteAllButtons(); butup = myButtons.addButton( 10, 100, 300, 30, "up"); butdwn = myButtons.addButton( 10, 200, 300, 30, "dwn"); myButtons.drawButtons(); while (true) if (myTouch.dataAvailable() == true) { pressed_button = myButtons.checkButtons(); if (pressed_button==butup) { temp++, delay(100),myGLCD.print(String(int(temp)), 20, 20); myButtons.enableButton(butup); break; } if(pressed_button==butdwn) { temp--, delay(100),myGLCD.print(String(int(temp)), 20, 20); myButtons.enableButton(butdwn); break; } } }
Надо где-то что-то исправить, так думаю. Коллеги, ваше мнение?
если можно иправьте 3 день сижу
— Твое место в секте гезихастов,— с состраданием произнес ученый повар Юрайда,— те по целым дням смотрели на свой пупок, пока им не начинало казаться, что вокруг пупка появилось сияние. После этого они считали, что достигли третьей степени совершенства.
Да! Нужно исправить!
Ладно, раз пошла такая пьянка... Murat - где что не так работает? Ардуино за пивом не бегает, или бегает, но как-то не так? Что не работает-то?
и я так и не нашел в интернете как програмно выключать экран TFT 3,2 ITDB32S
экран не обновляет показания с датчика и на влажность не срабатывает пин на реле неделю сижу что сам нарыл строго не пинайте я стоитель а не програмист может кто подправит и упростит этот код
здравствуйте вот статья на ХАБР-ХАБР
Работа с TFT дисплеем на ARDUINO DUE