Пошук по порталу
Результаты поиска по тегам 'Ардуино'.
Найдено 2 результата
-
http://robocraft.ru/blog/projects/3259.html https://github.com/kizniche/Mycodo
-
ну так начнем ))))) делал на Arduino Atmega2560 датчик температуры DHT11 Digital Temperature Humidity Sensor реле 4-way 5V low level solid state relay modules with fuse 250V2A можно взять на больший ампераж часы )))) Arduino I2C RTC DS1307 AT24C32 Real Time Clock Module чтоб бокс знал сколько времени да и знал когда ночь а когда день ))) + работа кулеров ))))) экран IIC/I2C/TWI/SPI Serial Interface1602 16X2 Character LCD Module Display Yellow увлажнение Ultrasonic Atomizer сам скетч и библиотеки Скетч на google drive ну что господа пробуйте расскажите потом что да как )))) пароль grower.today также думаю можно использовать под грибы !!! поменяв всего пару параметров день/ночь 18/6 температура поднимается выше 23 врубаются кулера падает меньше 18 врубается подогрев 1 раз в час продувка системы кулером при условии что температура не упала ниже 18 дальнейшая работа 2 раза в сутки делать фото )))) пока обдумываю 2 варианта 1 сохранение фоток на флешке и второй выкладывать на какой нибудь ресурс например на сюда )))) но надо с админом обсудить эту возможность ))))) примерно за время грова 500 фоток по 2 мегабайта каждая (((((( печальная сумма )))))))) проверка влажности земли !!! при необходимости полив (но как то есть желания самому поливать ))) ) также думаю на счет веб интерфейса )))) через который можно посмотреть что происходит а также полить например )))))) //50 Ват нагреватель // Освещение 18 день ,6 часов ночь //при поднятии температуры выше 23 градусов включается продувка системы //падение температуры меньше 18 градусов включение подогрева //приблизительно в 9 утра начала дня //каждый час включение кулеров на 5 минут #include "DHT.h" #include <Wire.h> #include "RTClib.h" #include <LiquidCrystal_I2C.h> RTC_DS1307 RTC; DateTime now; int hora = 0; int minutos = 0; int segundos = 0; int rele1 = 4; //нагреватель int rele2 = 5; //Свет int rele3 = 12; //кулер int rele4 = 7; // свободный пин на реле int led1 = 8; //состояние работы int led2 = 10; //состояние работы #define DHTPIN 2 // what pin we're connected to ??????????????? // Uncomment whatever type you're using! #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302) ???????????????????????? //#define DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(0x27, 16, 2); byte derece[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 }; byte u_herfi_az[8] = { 0b10001, 0b00000, 0b10001, 0b10001, 0b10001, 0b10011, 0b01101, 0b00000 }; byte e_herfi_az[8] = { 0b00000, 0b00000, 0b01110, 0b00001, 0b11111, 0b10001, 0b01110, 0b00000 }; byte termometr[8] = // иконка для термометра { B00100, B01010, B01010, B01110, B01110, B11111, B11111, B01110 }; byte rutubet_isaresi [8] = // Значок влаги (капли воды) { B00100, B00100, B01010, B01010, B10001, B10001, B10001, B01110, }; void setup() { lcd.init(); lcd.backlight(); Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } lcd.createChar(1, derece); lcd.createChar(2, u_herfi_az); lcd.createChar(3, e_herfi_az); lcd.createChar(4, termometr); lcd.createChar(5, rutubet_isaresi);// ,, pinMode(rele1, OUTPUT); pinMode(rele2, OUTPUT); pinMode(rele3, OUTPUT); pinMode(rele4, OUTPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); Wire.begin(); RTC.begin(); lcd.begin(16, 2); if (!RTC.isrunning()) { RTC.adjust(DateTime(__DATE__, __TIME__)); } lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("Bitkiler uchun"); lcd.setCursor(0, 1); lcd.print(" tenzimleyici"); delay(10000); lcd.clear(); } void loop() { int err; float temp, humi; temp = dht.readHumidity(); // Read temperature as Celsius humi = dht.readTemperature(); if (isnan(humi) || isnan(temp)) { Serial.println("Could not read the sensor data"); humi = 0; temp = 0; } else { Serial.println("temperature:"); Serial.print(temp); if ((temp ) <= 18 ) //&& (temp) >= 38) //нагреватель { digitalWrite(rele1, LOW); //включение } else { digitalWrite(rele1, HIGH); } if ((temp ) >= 23 ) //для кулера { digitalWrite(rele3, LOW); } else { digitalWrite(rele3, HIGH); } { DateTime now = RTC.now(); hora = (now.hour(), DEC); minutos = (now.minute(), DEC); segundos = (now.second(), DEC); lcd.clear(); lcd.setCursor(0, 0); // lcd.print("Time:"); //lcd.setCursor(6,0); lcd.print(now.hour(), DEC); lcd.print(":"); lcd.print(now.minute(), DEC); //lcd.print(":"); //lcd.print(now.second(),DEC); lcd.setCursor(7, 0); //lcd.print("Date:"); //lcd.setCursor(6,1); lcd.print(now.day(), DEC); lcd.print("/"); lcd.print(now.month(), DEC); lcd.print("/"); lcd.print(now.year(), DEC); lcd.setCursor(0, 1); lcd.write( 4 ); lcd.setCursor(1, 1); lcd.print(temp); lcd.setCursor(6, 1); lcd.write( 1); lcd.print("C"); lcd.setCursor(9, 1); lcd.write(5 ); lcd.setCursor(10, 1); lcd.print(humi); lcd.setCursor(15, 1); lcd.print("%"); if (now.hour() == 21 && now.minute() == 00) { lcd.clear(); lcd.setCursor(2, 0); lcd.print("ON"); digitalWrite(rele2, LOW); } if (now.hour() == 15 && now.minute() == 00) { lcd.clear(); lcd.setCursor(2, 0); lcd.print("OFF"); digitalWrite(rele2, HIGH); } delay(1000); } } } void qoshulma() { lcd.clear(); lcd.setCursor(2, 0); lcd.print("FAN ON"); digitalWrite(rele3, LOW); delay(50000); digitalWrite(rele3, HIGH); } void gundeIyirmiDordDefeCevir() { DateTime now = RTC.now(); if (now.hour() == 00 && now.minute() == 00) { qoshulma(); } if (now.hour() == 1 && now.minute() == 00) { qoshulma(); } if (now.hour() == 2 && now.minute() == 00) { qoshulma(); } if (now.hour() == 3 && now.minute() == 00) { qoshulma(); } if (now.hour() == 4 && now.minute() == 00) { qoshulma(); } if (now.hour() == 5 && now.minute() == 00) { qoshulma(); } if (now.hour() == 6 && now.minute() == 00) { qoshulma(); } if (now.hour() == 7 && now.minute() == 00) { qoshulma(); } if (now.hour() == 8 && now.minute() == 00) { qoshulma(); } if (now.hour() == 9 && now.minute() == 00) { qoshulma(); } if (now.hour() == 10 && now.minute() == 00) { qoshulma(); } if (now.hour() == 11 && now.minute() == 00) { qoshulma(); } if (now.hour() == 12 && now.minute() == 00) { qoshulma(); } if (now.hour() == 13 && now.minute() == 00) { qoshulma(); } if (now.hour() == 14 && now.minute() == 00) { qoshulma(); } if (now.hour() == 15 && now.minute() == 00) { qoshulma(); } if (now.hour() == 16 && now.minute() == 00) { qoshulma(); } if (now.hour() == 17 && now.minute() == 00) { qoshulma(); } if (now.hour() == 18 && now.minute() == 00) { qoshulma(); } if (now.hour() == 19 && now.minute() == 00) { qoshulma(); } if (now.hour() == 20 && now.minute() == 00) { qoshulma(); } if (now.hour() == 21 && now.minute() == 00) { qoshulma(); } if (now.hour() == 22 && now.minute() == 00) { qoshulma(); } if (now.hour() == 23 && now.minute() == 00) { qoshulma(); } }