Оглавление:
- Шаг 1. Получение оборудования Arduino и RPi
- Шаг 2: Подключите DHT11 и ЖК-дисплей к Arduino
- Шаг 3: запрограммируйте Arduino
- Шаг 4: Рабочая настройка Arduino, LCD и DHT11
- Шаг 5: подключите Raspberry Pi к Arduino
- Шаг 6. Код Python RPi для чтения последовательных данных USB-порта
Видео: Температура и влажность от Arduino до Raspberry Pi: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Отслеживание температуры и влажности важно, если у вас есть теплица или вы планируете превратить теплицу в мини-смарт-ферму.
Для моего первого Instructable я продемонстрирую, как создать прототип:
- Подключите датчик температуры и влажности DHT11 к Arduino Mega 2560
- Запрограммируйте Arduino на C для чтения данных датчика
- Отображение данных о температуре и влажности на ЖК-дисплее, подключенном к Arduino
- Дайте указание Arduino отправить данные датчика на Raspberry Pi 3 Model B +.
- Напишите код на Python для отображения данных датчика
Зачем использовать вместе RPi и Arduino?
Соединение Arduino и RPi может обеспечить большие возможности, если вам нужен ввод-вывод, в котором Arduino превосходит Arduino, и сетевое взаимодействие / многопоточность / визуальные эффекты, с которыми RPi намного лучше.
Другими словами, мы собираемся использовать Arduino для задач с интенсивным управлением и использовать RPi для задач с интенсивными вычислениями.
Защищенные версии Arduinos доступны в Rugged-Circuits.
Шаг 1. Получение оборудования Arduino и RPi
Стартовые комплекты Arduino легко доступны и позволяют экспериментировать с различными типами датчиков и гаджетов. Покупка стартового комплекта обойдется дешевле, чем заказ отдельных деталей. Ниже я предоставил несколько партнерских ссылок, указывающих на Banggood и Amazon US.
Стартовый комплект Arduino (Banggood)
Стартовый комплект Arduino (Amazon, США)
Материнская плата Element14 RPi 3 B + (Amazon, США)
Корпус Raspberry Pi 3 B + (Amazon, США)
Карта Micro SD 32 ГБ (Amazon, США).
Шаг 2: Подключите DHT11 и ЖК-дисплей к Arduino
Шаг 3: запрограммируйте Arduino
# arduino-dht11-lcd2004
# Автор: Васу Вирапен
#https://www.instructables.com/member/VasooV/ # Считывает данные с DHT11, подключенного к Arduino, отображает на LCD2004 и отправляет данные по последовательному каналу на Raspberry Pi.
#включают
#включают
// ЖК-дисплей определяется как номер устройства 0x27 на шине I2C
LiquidCrystal_I2C lcd (0x27, 20, 4);
// DHT11 подключен к выводу 8
dht DHT; #define sensorPin 8
// Raspberry Pi подключен к Serial 0
#define serialPi Serial
void setup () {
lcd.begin (20, 4); // Инициализирует интерфейс для ЖК-экрана и задает размеры (ширину и высоту) дисплея lcd.init (); lcd.backlight (); serialPi.begin (9600); // Arduino к последовательному монитору}
void loop () {
// Считываем данные датчика
int sensorData = DHT.read11 (sensorPin); температура поплавка = температура DHT; влажность поплавка = DHT. влажность;
// Распечатать температуру
lcd.setCursor (0, 0); lcd.print («Температура»); lcd.print (температура); lcd.print («C»);
// Распечатать влажность
lcd.setCursor (0, 1); lcd.print («Влажность»); lcd.print (влажность); lcd.print ("%");
// Отправляем данные о температуре и влажности в Raspberry Pi
serialPi.print ("");
// Ждем 10 секунд
задержка (10000); }
Шаг 4: Рабочая настройка Arduino, LCD и DHT11
Шаг 5: подключите Raspberry Pi к Arduino
Шаг 6. Код Python RPi для чтения последовательных данных USB-порта
# rpi-arduino-dht11
#Raspberry Pi считывает данные датчиков температуры и влажности с Arduino
импортный серийный номер, строка, время
# В этом примере используется / dev / ttyUSB0
# В вашем случае это может измениться на / dev / ttyUSB1, / dev / ttyUSB2 и т. Д. Ser = serial. Serial ('/ dev / ttyUSB0', 9600)
# Следующий блок кода работает так:
# Если присутствуют последовательные данные, прочитать строку, декодировать данные UTF8, # … удалить символы конца строки # … разделить данные на температуру и влажность # … удалить начальный и конечный указатели () # … распечатать вывод, пока Истина: если ser.in_waiting> 0: rawserial = ser.readline () cookedserial = rawserial.decode ('utf-8'). Strip ('\ r / n') datasplit = cookedserial.split (',') temperature = datasplit [0].strip ('') печать (температура) печать (влажность)
Рекомендуемые:
Температура и влажность с использованием ESP32-DHT22-MQTT-MySQL-PHP: 7 шагов
Температура и влажность с использованием ESP32-DHT22-MQTT-MySQL-PHP: Моя девушка хотела оранжерею, поэтому я сделал ее. Но мне нужен был датчик температуры и влажности внутри теплицы. Итак, я поискал примеры в Google и начал экспериментировать. Я пришел к выводу, что все найденные мной примеры не совсем то
Автоматизация теплицы с помощью LoRa! (Часть 1) -- Датчики (температура, влажность, влажность почвы): 5 шагов
Автоматизация теплицы с помощью LoRa! (Часть 1) || Датчики (температура, влажность, влажность почвы): в этом проекте я покажу вам, как я автоматизировал теплицу. Это означает, что я покажу вам, как я построил теплицу и как я подключил силовую и автоматическую электронику. Также я покажу вам, как программировать плату Arduino, которая использует L
Метеостанция Arduino с использованием BMP280-DHT11 - температура, влажность и давление: 8 шагов
Метеостанция Arduino с использованием BMP280-DHT11 - Температура, влажность и давление: в этом уроке мы узнаем, как создать метеостанцию, которая будет отображать ТЕМПЕРАТУРУ, ВЛАЖНОСТЬ И ДАВЛЕНИЕ на ЖК-дисплее TFT 7735Посмотрите демонстрационное видео
THINGSPEAK ТЕМПЕРАТУРА И ВЛАЖНОСТЬ ПРИЛОЖЕНИЕ, ИСПОЛЬЗУЯ ESP8266: 9 шагов
THINGSPEAK ТЕМПЕРАТУРА И ВЛАЖНОСТЬ ПРИЛОЖЕНИЕ С ИСПОЛЬЗОВАНИЕМ ESP8266: Когда я возился со своими электронными устройствами, у меня возникла идея сделать веб-приложение для погоды. Это веб-приложение использует датчик SHT31 для получения данных о температуре и влажности в реальном времени. Мы развернули наш проект на WiFi-модуле ESP8266. Онлайн или офли
Esp32-Ubidots-Wireless-Long-Range Температура и влажность: 6 шагов
Esp32-Ubidots-Wireless-long-range Температура и влажность: в этом руководстве мы будем измерять различные данные о температуре и влажности с помощью датчика температуры и влажности. Вы также узнаете, как отправить эти данные в Ubidots. Чтобы вы могли анализировать его из любого места для разных приложений