Isi kandungan:

Suhu & Kelembapan Dari Arduino hingga Raspberry Pi: 6 Langkah
Suhu & Kelembapan Dari Arduino hingga Raspberry Pi: 6 Langkah

Video: Suhu & Kelembapan Dari Arduino hingga Raspberry Pi: 6 Langkah

Video: Suhu & Kelembapan Dari Arduino hingga Raspberry Pi: 6 Langkah
Video: TUTORIAL SENSOR SUHU DHT11 ARDUINO - ARDUINO PROJECT INDONESIA - BELAJAR ARDUINO - TUTRIAL ARDUINO 2024, Julai
Anonim
Suhu & Kelembapan Dari Arduino hingga Raspberry Pi
Suhu & Kelembapan Dari Arduino hingga Raspberry Pi

Menjejaki suhu dan kelembapan penting jika anda mempunyai rumah hijau, atau mempunyai rancangan masa depan untuk meningkatkan rumah hijau anda menjadi ladang pintar mini.

Untuk Instructable pertama saya, saya akan menunjukkan cara membuat prototaip:

  • Sambungkan sensor suhu dan kelembapan DHT11 ke Arduino Mega 2560
  • Program Arduino dalam C untuk membaca data sensor
  • Paparkan data suhu dan kelembapan pada LCD yang disambungkan ke Arduino
  • Arahkan Arduino untuk menghantar data sensor ke Raspberry Pi 3 Model B +
  • Tuliskan kod dalam Python untuk memaparkan data sensor

Mengapa menggunakan RPi dan Arduino bersama-sama?

Sambungan Arduino dan RPi dapat memberikan kemampuan yang besar jika anda memerlukan I / O yang unggul oleh Arduino dan komunikasi rangkaian / multithreading / visual yang mana RPi jauh lebih baik.

Dengan kata lain, kita akan menggunakan Arduino untuk mengawal tugas intensif dan menggunakan RPi untuk mengira tugas intensif.

Versi Arduino beralun boleh didapati di Rugged-Circuits

Langkah 1: Mendapatkan Perkakasan Arduino & RPi

Kit pemula Arduino tersedia dan membolehkan anda bereksperimen dengan pelbagai jenis sensor dan alat. Membeli alat pemula berfungsi lebih murah daripada memesan pelbagai bahagian secara berasingan. Saya telah memberikan beberapa pautan afiliasi di bawah yang menunjukkan Banggood dan Amazon US.

Kit Permulaan Arduino (Banggood)

Kit Permulaan Arduino (Amazon AS)

Motherboard Element14 RPi 3 B + (Amazon AS)

Sarung Raspberry Pi 3 B + (Amazon US)

Kad SD 32 GB (Amazon AS).

Langkah 2: Sambungkan DHT11 & LCD ke Arduino

Sambungkan DHT11 & LCD ke Arduino
Sambungkan DHT11 & LCD ke Arduino

Langkah 3: Program Arduino

# arduino-dht11-lcd2004

#Author: Vasoo Veerapen

#https://www.instructables.com/member/VasooV/ # Membaca data dari DHT11 yang disambungkan ke Arduino, dipaparkan pada LCD2004 dan mengirimkan data melalui siri ke Raspberry Pi

#sertakan

#sertakan

// Paparan LCD ditakrifkan sebagai nombor peranti 0x27 pada bas I2C

LiquidCrystal_I2C lcd (0x27, 20, 4);

// DHT11 disambungkan ke pin 8

dht DHT; #tentukan sensorPin 8

// Raspberry Pi disambungkan ke Serial 0

#tentukan siriPi Serial

batal persediaan () {

lcd.begin (20, 4); // Memulakan antara muka ke skrin LCD, dan menentukan dimensi (lebar dan tinggi) paparan lcd.init (); lcd.backlight (); bersiriPi.begin (9600); // Arduino ke monitor bersiri}

gelung kosong () {

// Baca data sensor

int sensorData = DHT.read11 (sensorPin); suhu apungan = Suhu DHT; kelembapan apungan = DHT. kelembapan;

// Suhu cetakan

lcd.setCursor (0, 0); lcd.print ("Suhu"); lcd.print (suhu); lcd.print ("C");

// Kelembapan cetak

lcd.setCursor (0, 1); lcd.print ("Kelembapan"); lcd.print (kelembapan); lcd.print ("%");

// Hantar data suhu dan kelembapan ke Raspberry Pi

serialPi.print ("");

// Tunggu selama 10 saat

kelewatan (10000); }

Langkah 4: Persediaan Arduino, LCD & DHT11

Persediaan Arduino, LCD & DHT11
Persediaan Arduino, LCD & DHT11

Langkah 5: Sambungkan Raspberry Pi ke Arduino

Sambungkan Raspberry Pi ke Arduino
Sambungkan Raspberry Pi ke Arduino

Langkah 6: RPi Python Code untuk Membaca Data Serial Port USB

# rpi-arduino-dht11

#Raspberry Pi membaca data sensor suhu dan kelembapan dari Arduino

import siri, rentetan, masa

#Dalam contoh ini / dev / ttyUSB0 digunakan

#Ini mungkin berubah dalam kes anda menjadi / dev / ttyUSB1, / dev / ttyUSB2, dll. Ser = serial. Serial ('/ dev / ttyUSB0', 9600)

# Blok kod berikut berfungsi seperti ini:

#Jika ada data bersiri, baca baris, nyahkodkan data UTF8, # … hapus akhir watak baris # … pisahkan data menjadi suhu dan kelembapan # … keluarkan petunjuk awal dan akhir () # … cetak output sementara Betul: jika ser.in_waiting> 0: rawserial = ser.readline () cookedserial = rawserial.decode ('utf-8'). Strip ('\ r / n') datasplit = cookedserial.split (',') suhu = datasplit [0]. cetak ('') cetakan (suhu) cetakan (kelembapan)

Disyorkan: