Метиостанция
- Войдите на сайт для отправки комментариев
Вс, 27/06/2021 - 22:45
// инициализация необходимых библиотек #include <Device.h> #include <iarduino_DHT.h> #include <LiquidCrystal_I2C.h> #include <SPI.h> #include <Wire.h> #include <BMP280_DEV.h> // инициализация датчиков и экрана BMP280_DEV bmp280(10); LiquidCrystal_I2C lcd(0x27,16,2); iarduino_DHT sensor(A0); // инициализация переменных и таймеров float temperature, pressure, altitude; unsigned long taimer; void setup() { Serial.begin(9600); // запуск монитора порта pinMode(5,OUTPUT); // объявление пинов pinMode(6,OUTPUT); pinMode(7,OUTPUT); lcd.init(); // запуск дисплея lcd.setBacklight(255); lcd.setCursor(0,0); lcd.print("HELLO"); lcd.setCursor(0,1); lcd.print("METEOSTATION"); bmp280.begin(); // запуск BMP280 bmp280.setTimeStandby(TIME_STANDBY_2000MS); bmp280.startNormalConversion(); } void loop() { // проверяем исправность датчика DHT22 switch(sensor.read()){ case DHT_OK: Serial.print("OK"); break; } // считываем показания int t = sensor.tem; int h = sensor.hum; // выводим в монитор порта Serial.print("Humidity = "); Serial.print(h); Serial.print(" %\r"); Serial.print("Temperature = "); Serial.print(t); Serial.println(" *C\r "); // условия сигнализации об уровне влажности if (h>60) { digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(5,HIGH); } if(h<35) { digitalWrite(7,HIGH); digitalWrite(6,LOW); digitalWrite(5,LOW); } if(h>=35 && h<=60) { digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(5,LOW); } // считываем данные с датчика BMP280 if (bmp280.getMeasurements(temperature, pressure, altitude)) { Serial.print(temperature); Serial.print(F("*C ")); Serial.print(pressure); Serial.print(F("hPa ")); Serial.print(altitude); Serial.println(F("m")); } // перевод значения давления из гекто-паскалей в миллиметры ртутного столба int x = pressure*100/133; // вывод данных на экран дисплея if (millis() - taimer >1000) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Tem="); lcd.print(t); lcd.print("C"); lcd.setCursor(9,0); lcd.print("Hum="); lcd.print(h); lcd.print("%"); lcd.setCursor(0,1); lcd.print("P="); lcd.print(x); lcd.print("mm"); lcd.setCursor(9,1); lcd.print("A="); lcd.print(altitude); lcd.print("m"); taimer = millis(); } }
И что это было?
Где схема?
Где описание?
Где фото?
Зачем это вообще нужно, и чем это лучше того, что сотнями валяется на просторах И-нета?
Ну и сразу вопрос по коду: зачем нужен одновременный вывод на экран и в последовательный порт?
Да это тоже метеостанция, только её пометил кот.
Ну и сразу вопрос по коду: зачем нужен одновременный вывод на экран и в последовательный порт?
На экран оно выводит информацию, а в сериал, серет все подряд:)
А зачем использовать кроме BMP280 еще и DHT? BMP влажность и сам умеет измерять (в зависимости от модели).
что подключено к 5,6,7 пину? куда сигнализируете о влажности?
высоту для какого региона вы получаете? В библиотеке зашиваете давление на уровне моря для вашего региона? или пользуетесь библиотечным?
"Метиостанция"...
Робот пылесос что ли ?
да лан. что накинулись. автору небось лет тринадцать :)