Turinys:

Temperatūra ir drėgmė nuo Arduino iki Raspberry Pi: 6 žingsniai
Temperatūra ir drėgmė nuo Arduino iki Raspberry Pi: 6 žingsniai

Video: Temperatūra ir drėgmė nuo Arduino iki Raspberry Pi: 6 žingsniai

Video: Temperatūra ir drėgmė nuo Arduino iki Raspberry Pi: 6 žingsniai
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Liepa
Anonim
Temperatūra ir drėgmė nuo Arduino iki Raspberry Pi
Temperatūra ir drėgmė nuo Arduino iki Raspberry Pi

Temperatūros ir drėgmės stebėjimas yra svarbus, jei turite šiltnamį arba planuojate ateityje atnaujinti savo šiltnamį į mini išmanųjį ūkį.

Savo pirmajame „Instructable“parodysiu, kaip sukurti prototipą:

  • Prijunkite DHT11 temperatūros ir drėgmės jutiklį prie „Arduino Mega 2560“
  • Užprogramuokite „Arduino“C, kad nuskaitytų jutiklio duomenis
  • Rodyti temperatūros ir drėgmės duomenis skystųjų kristalų ekrane, prijungtame prie „Arduino“
  • Nurodykite „Arduino“nusiųsti jutiklio duomenis į „Raspberry Pi 3 Model B+“
  • Įveskite kodą „Python“, kad būtų rodomi jutiklio duomenys

Kodėl verta naudoti RPi ir Arduino kartu?

„Arduino“ir „RPi“ryšys gali suteikti puikių galimybių, jei jums reikia įvesties/išvesties, kuria pasižymi „Arduino“, ir tinklo komunikacijos/daugialypės informacijos/vaizdų, kuriuos RPi išmano daug geriau.

Kitaip tariant, mes naudosime „Arduino“intensyvioms užduotims valdyti, o RPi - intensyvioms užduotims skaičiuoti.

Patvarias „Arduinos“versijas galima rasti „Rugged-Circuits“

1 žingsnis: Gaukite „Arduino“ir „RPi“aparatinę įrangą

„Arduino“pradiniai rinkiniai yra lengvai prieinami ir leidžia eksperimentuoti su įvairių tipų jutikliais ir programėlėmis. Įsigijus pradinį rinkinį, pigiau, užuot užsakius įvairias dalis atskirai. Žemiau pateikiau keletą filialų nuorodų, nurodančių „Banggood“ir „Amazon“JAV.

„Arduino“pradinis rinkinys („Banggood“)

„Arduino“pradinis rinkinys („Amazon“JAV)

„Element14 RPi 3 B+“pagrindinė plokštė („Amazon“JAV)

„Raspberry Pi 3 B+“dėklas („Amazon“JAV)

32 GB „Micro SD“kortelė („Amazon“JAV).

2 veiksmas: prijunkite DHT11 ir LCD prie „Arduino“

Prijunkite DHT11 ir LCD prie „Arduino“
Prijunkite DHT11 ir LCD prie „Arduino“

3 žingsnis: užprogramuokite „Arduino“

#arduino-dht11-lcd2004

#Autorius: Vasoo Veerapen

#https://www.instructables.com/member/VasooV/ #Skaito duomenis iš DHT11, prijungto prie „Arduino“, rodomas LCD2004 ir siunčia duomenis serijiniu būdu į „Raspberry Pi“

#įtraukti

#įtraukti

// LCD ekranas yra apibrėžtas kaip įrenginio numeris 0x27 I2C magistralėje

LiquidCrystal_I2C LCD (0x27, 20, 4);

// DHT11 prijungtas prie 8 kaiščio

dht DHT; #define sensorPin 8

// Raspberry Pi yra prijungtas prie 0 serijos

#define serialPi Serial

void setup () {

LCD. pradžia (20, 4); // Inicijuoja LCD ekrano sąsają ir nurodo ekrano matmenis (plotį ir aukštį) lcd.init (); lcd.backlight (); serialPi.begin (9600); // „Arduino“į serijinį monitorių}

void loop () {

// Skaityti jutiklio duomenis

int sensorData = DHT.read11 (sensorPin); plūdės temperatūra = DHT.temperatūra; plūdės drėgmė = DHT.drėgmė;

// Spausdinimo temperatūra

lcd.setCursor (0, 0); lcd.print ("Temperatūra"); lcd.print (temperatūra); lcd.print ("C");

// Spausdinimo drėgmė

lcd.setCursor (0, 1); lcd.print („Drėgmė“); lcd.print (drėgmė); lcd.print (" %");

// Siųsti temperatūros ir drėgmės duomenis į Raspberry Pi

serialPi.print ("");

// Palaukite 10 sekundžių

vėlavimas (10000); }

4 veiksmas: veikiantis „Arduino“, LCD ir DHT11 sąranka

Veikiantis „Arduino“, LCD ir DHT11 sąranka
Veikiantis „Arduino“, LCD ir DHT11 sąranka

5 veiksmas: prijunkite „Raspberry Pi“prie „Arduino“

Prijunkite „Raspberry Pi“prie „Arduino“
Prijunkite „Raspberry Pi“prie „Arduino“

6 veiksmas: „RPi Python“kodas USB prievado serijiniams duomenims skaityti

#rpi-arduino-dht11

#Raspberry Pi skaito temperatūros ir drėgmės jutiklių duomenis iš „Arduino“

importuoti seriją, eilutę, laiką

#Šiame pavyzdyje naudojamas /dev /ttyUSB0

#Jūsų atveju tai gali pasikeisti į/dev/ttyUSB1,/dev/ttyUSB2 ir tt ser = serial. Serial ('/dev/ttyUSB0', 9600)

#Šis kodo blokas veikia taip:

#Jei yra serijinių duomenų, perskaitykite eilutę, iššifruokite UTF8 duomenis, #… pašalinkite paskutinius eilutės simbolių galus #… padalinkite duomenis į temperatūrą ir drėgmę #… pašalinkite pradžios ir pabaigos rodykles () #… spausdinkite išvestį, kol Tiesa: jei ser.in_waiting> 0: rawserial = ser.readline () cookedserial = rawserial.decode ('utf-8'). Strip ('\ r / n') datasplit = cookedserial.split (',') temperatūra = datasplit [0]. juostelė ('') spauda (temperatūra) spauda (drėgmė)

Rekomenduojamas: