Mundarija:

Arduino -dan Raspberry Pi -ga qadar harorat va namlik: 6 qadam
Arduino -dan Raspberry Pi -ga qadar harorat va namlik: 6 qadam

Video: Arduino -dan Raspberry Pi -ga qadar harorat va namlik: 6 qadam

Video: Arduino -dan Raspberry Pi -ga qadar harorat va namlik: 6 qadam
Video: ЧТО МОЖНО СДЕЛАТЬ НА Raspberry Pi с AliExpress. Крутые проэкты для Raspberry Pi 2024, Noyabr
Anonim
Harorat va namlik Arduino dan Raspberry Pi gacha
Harorat va namlik Arduino dan Raspberry Pi gacha

Agar issiqxonangiz bo'lsa yoki issiqxonangizni mini-fermer xo'jaligiga yangilash rejangiz bo'lsa, harorat va namlikni kuzatish juda muhim.

Birinchi ko'rsatma uchun men prototipni qanday yaratishni ko'rsataman:

  • DHT11 harorat va namlik sensorini Arduino Mega 2560 ga ulang
  • Sensor ma'lumotlarini o'qish uchun Arduino C -ni dasturlashtiring
  • Arduino -ga ulangan LCD displeyda harorat va namlik ma'lumotlarini ko'rsatish
  • Arduino -ga sensor ma'lumotlarini Raspberry Pi 3 Model B+ ga yuborishni buyuring
  • Sensor ma'lumotlarini ko'rsatish uchun Python -ga kod yozing

Nima uchun RPi va Arduino -ni birgalikda ishlatish kerak?

Arduino va RPi ulanishi sizga Arduino -dan ustun keladigan kirish -chiqish va RPi ancha yaxshi bo'lgan tarmoq aloqasi/ko'p ishlovli/vizual tasvirlar kerak bo'lsa, katta imkoniyatlarga ega bo'lishi mumkin.

Boshqacha aytganda, biz intensiv vazifalarni boshqarish uchun Arduino -dan foydalanamiz va intensiv vazifalarni hisoblash uchun RPi -dan foydalanamiz.

Arduinosning mustahkam versiyalari Rugged-Circuits-da mavjud

1 -qadam: Arduino va RPi uskunalarini olish

Arduino -ning boshlang'ich to'plamlari mavjud va sizga har xil turdagi sensorlar va gadjetlar bilan tajriba o'tkazishga imkon beradi. Boshlang'ich to'plamni sotib olish, har xil qismlarga alohida buyurtma berish o'rniga arzonroq bo'ladi. Men quyida Banggood va Amazon US -ga ishora qiluvchi ba'zi sheriklik havolalarini berdim.

Arduino boshlang'ich to'plami (Banggood)

Arduino boshlang'ich to'plami (Amazon AQSh)

Element14 RPi 3 B+ anakart (Amazon AQSh)

Raspberry Pi 3 B+ qutisi (Amazon AQSh)

32 GB Micro SD karta (Amazon AQSh).

2 -qadam: DHT11 va LCD -ni Arduino -ga ulang

DHT11 va LCD -ni Arduino -ga ulang
DHT11 va LCD -ni Arduino -ga ulang

3 -qadam: Arduino -ni dasturlash

#arduino-dht11-lcd2004

#Muallif: Vasoo Veerapen

#https://www.instructables.com/member/VasooV/ #Arduino -ga ulangan DHT11 -dan ma'lumotlarni o'qiydi, LCD -2004da ko'rsatiladi va ma'lumotlarni ketma -ket Raspberry Pi -ga yuboradi.

#qo'shing

#qo'shing

// LCD displey I2C avtobusidagi 0x27 qurilma raqami sifatida aniqlanadi

LiquidCrystal_I2C lcd (0x27, 20, 4);

// DHT11 8 -pinga ulangan

DHT bilan; Sensorni aniqlang Pin 8

// Raspberry Pi 0 -seriyaga ulangan

#serialPi seriyasini aniqlang

bo'sh o'rnatish () {

lcd.begin (20, 4); // LCD displey interfeysini ishga tushiradi va lcd.init () displeyining o'lchamlarini (kengligi va balandligi) belgilaydi; lcd.backlight (); serialPi.begin (9600); // Arduino ketma -ket monitorga}

void loop () {

// Sensor ma'lumotlarini o'qing

int sensorData = DHT.read11 (sensorPin); suzish harorati = DHT.harorat; suzuvchi namlik = DHT. namlik;

// Bosib chiqarish harorati

lcd.setCursor (0, 0); lcd.print ("Harorat"); lcd.print (harorat); lcd.print ("C");

// Namlikni bosib chiqarish

lcd.setCursor (0, 1); lcd.print ("Namlik"); lcd.print (namlik); lcd.print (" %");

// Raspberry Pi -ga harorat va namlik ma'lumotlarini yuboring

serialPi.print ("");

// 10 soniya kuting

kechikish (10000); }

4 -qadam: Ishchi Arduino, LCD va DHT11ni sozlash

Ishchi Arduino, LCD va DHT11 sozlamalari
Ishchi Arduino, LCD va DHT11 sozlamalari

5 -qadam: Raspberry Pi -ni Arduino -ga ulang

Raspberry Pi -ni Arduino -ga ulang
Raspberry Pi -ni Arduino -ga ulang

6 -qadam: USB portining ketma -ket ma'lumotlarini o'qish uchun RPi Python kodi

#rpi-arduino-dht11

#Raspberry Pi Arduino -dan harorat va namlik sensori ma'lumotlarini o'qiydi

serial, qator, vaqtni import qilish

#Bu misolda /dev /ttyUSB0 ishlatiladi

#Bu sizning holatingizda/dev/ttyUSB1,/dev/ttyUSB2 va boshqalarga o'zgarishi mumkin ser = serial. Serial ('/dev/ttyUSB0', 9600)

#Quyidagi kodlar bloki shunday ishlaydi:

#Agar ketma -ket ma'lumotlar mavjud bo'lsa, satrni o'qing, UTF8 ma'lumotlarini dekodlang, #… chiziq belgilarining oxirini olib tashlang #… ma'lumotlarni harorat va namlikka bo'ling #… boshlang'ich va tugaydigan ko'rsatgichlarni olib tashlang () #… chiqishni chop eting. To'g'ri: agar ser.in_waiting> 0: rawserial = ser.readline () cookedserial = rawserial.decode ('utf-8'). Strip ('\ r / n') datasplit = cookedserial.split (',') harorat = datasplit [0]. chiziq ('') bosma (harorat) bosma (namlik)

Tavsiya: