Hőmérséklet és páratartalom Arduino és Raspberry Pi között: 6 lépés
Hőmérséklet és páratartalom Arduino és Raspberry Pi között: 6 lépés
Anonim
Hőmérséklet és páratartalom Arduino -tól Raspberry Pi -ig
Hőmérséklet és páratartalom Arduino -tól Raspberry Pi -ig

A hőmérséklet és a páratartalom követése fontos, ha üvegháza van, vagy a jövőben tervezi, hogy üvegházát mini intelligens gazdasággá alakítja.

Az első Instructable esetében bemutatom a prototípus létrehozásának módját:

  • Csatlakoztassa a DHT11 hőmérséklet- és páratartalom -érzékelőt az Arduino Mega 2560 -hoz
  • Programozza az Arduino -t C -ben, hogy leolvassa az érzékelő adatait
  • A hőmérséklet és páratartalom adatainak megjelenítése az Arduino -hoz csatlakoztatott LCD -n
  • Utasítsa az Arduino -t, hogy küldje el az érzékelő adatait egy Raspberry Pi 3 B+ modellre
  • Írjon kódot Python -ba az érzékelőadatok megjelenítéséhez

Miért használjunk együtt RPi -t és Arduino -t?

Az Arduino és az RPi kapcsolat nagyszerű képességeket tesz lehetővé, ha szüksége van I/O -ra, amiben az Arduino kiváló, és hálózati kommunikációra/többszálas/vizuális képekre, amelyekben az RPi sokkal jobb.

Más szóval, az Arduino -t fogjuk használni az intenzív feladatok ellenőrzéséhez, az RPi -t pedig intenzív feladatok kiszámításához.

Az Arduinos strapabíró változatai a Rugged-Circuits oldalon érhetők el

Lépés: Az Arduino és RPi hardver beszerzése

Az Arduino kezdő készletek könnyen elérhetők, és lehetővé teszik a különböző típusú érzékelőkkel és eszközökkel való kísérletezést. Az indító készlet megvásárlása olcsóbban működik, ahelyett, hogy külön rendelne különböző alkatrészeket. Az alábbiakban néhány kapcsolt linket mellékeltem, amelyek a Banggoodra és az Amazon USA -ra mutatnak.

Arduino kezdő készlet (Banggood)

Arduino kezdő készlet (Amazon USA)

Element14 RPi 3 B+ alaplap (Amazon USA)

Raspberry Pi 3 B+ tok (Amazon USA)

32 GB -os Micro SD kártya (Amazon USA).

Lépés: Csatlakoztassa a DHT11 -et és az LCD -t az Arduino -hoz

Csatlakoztassa a DHT11 -et és az LCD -t az Arduino -hoz
Csatlakoztassa a DHT11 -et és az LCD -t az Arduino -hoz

Lépés: Programozza be az Arduino programot

#arduino-dht11-lcd2004

#Szerző: Vasoo Veerapen

#https://www.instructables.com/member/Vasoon

#befoglalni

#befoglalni

// Az LCD kijelző az I2C buszon 0x27 eszközszámként van definiálva

LiquidCrystal_I2C LCD (0x27, 20, 4);

// A DHT11 csatlakozik a 8 -as érintkezőhöz

dht DHT; #define sensorPin 8

// A Raspberry Pi csatlakozik a 0 -as sorozathoz

#define serialPi Serial

void setup () {

lcd. kezdet (20, 4); // Inicializálja az interfészt az LCD képernyőhöz, és megadja a kijelző méreteit (szélessége és magassága) lcd.init (); lcd.backlight (); serialPi.begin (9600); // Arduino soros monitorhoz}

void loop () {

// Olvassa el az érzékelő adatait

int sensorData = DHT.read11 (sensorPin); úszóhőmérséklet = DHT.hőmérséklet; úszó páratartalom = DHT.nedvesség;

// Nyomtatási hőmérséklet

lcd.setCursor (0, 0); lcd.print ("Hőmérséklet"); lcd.print (hőmérséklet); lcd.print ("C");

// Nyomtatási páratartalom

lcd.setCursor (0, 1); lcd.print ("Páratartalom"); lcd.print (páratartalom); lcd.print (" %");

// Hőmérséklet és páratartalom adatok küldése a Raspberry Pi -nek

serialPi.print ("");

// Várjon 10 másodpercet

késleltetés (10000); }

4. lépés: A működő Arduino, LCD és DHT11 beállítása

A működő Arduino, LCD és DHT11 beállítás
A működő Arduino, LCD és DHT11 beállítás

Lépés: Csatlakoztassa a Raspberry Pi -t az Arduino -hoz

Csatlakoztassa a Raspberry Pi -t az Arduino -hoz
Csatlakoztassa a Raspberry Pi -t az Arduino -hoz

6. lépés: RPi Python -kód az USB -port soros adatainak olvasásához

#rpi-arduino-dht11

A #Raspberry Pi beolvassa az Arduino hőmérséklet- és páratartalom -érzékelőinek adatait

sorozat, karakterlánc, idő importálása

#Ebben a példában a /dev /ttyUSB0 használatos

#Ez változhat az Ön esetében/dev/ttyUSB1,/dev/ttyUSB2 stb. Ser = serial. Serial ('/dev/ttyUSB0', 9600)

#A következő kódblokk így működik:

#Ha soros adatok vannak, olvassa el a sort, dekódolja az UTF8 adatokat, #… távolítsa el a sor végén lévő karaktereket #… ossza fel az adatokat hőmérsékletre és páratartalomra Igaz: ha ser.in_waiting> 0: rawserial = ser.readline () cookedserial = rawserial.decode ('utf-8'). Strip ('\ r / n') datasplit = cookedserial.split (',') hőmérséklet = datasplit [0]. szalag ('') nyomtatás (hőmérséklet) nyomtatás (páratartalom)

Ajánlott: