Բովանդակություն:

Duերմաստիճան և խոնավություն Arduino- ից մինչև Raspberry Pi: 6 քայլ
Duերմաստիճան և խոնավություն Arduino- ից մինչև Raspberry Pi: 6 քայլ

Video: Duերմաստիճան և խոնավություն Arduino- ից մինչև Raspberry Pi: 6 քայլ

Video: Duերմաստիճան և խոնավություն Arduino- ից մինչև Raspberry Pi: 6 քայլ
Video: Угрюм-река (1969) (1 серия) фильм 2024, Նոյեմբեր
Anonim
Duերմաստիճան և խոնավություն Arduino- ից մինչև Raspberry Pi
Duերմաստիճան և խոնավություն Arduino- ից մինչև Raspberry Pi

Temperatureերմաստիճանը և խոնավությունը հետևելը կարևոր է, եթե ունեք ջերմոց կամ ապագա պլաններ ունեք ՝ ձեր ջերմոցը վերածելու մինի խելացի ֆերմայի:

Իմ առաջին Instructable- ի համար ես ցույց կտամ, թե ինչպես ստեղծել նախատիպ.

  • Միացրեք DHT11 ջերմաստիճանի և խոնավության տվիչ Arduino Mega 2560 -ին
  • Programրագրավորեք Arduino- ն C- ով ՝ սենսորի տվյալները կարդալու համար
  • Displayուցադրել ջերմաստիճանի և խոնավության տվյալները Arduino- ին միացված LCD- ով
  • Հանձնարարեք Arduino- ին սենսորի տվյալները ուղարկել Raspberry Pi 3 Model B+ - ին
  • Գրեք ծածկագիր Python- ում ՝ սենսորի տվյալները ցուցադրելու համար

Ինչու՞ օգտագործել RPi- ն և Arduino- ն միասին:

Arduino և RPi կապը կարող է թույլ տալ մեծ հնարավորություններ, եթե ձեզ անհրաժեշտ են I/O մուտքագրում, որից Arduino- ն գերազանցում է և ցանցային հաղորդակցություն/բազմաթել/պատկերներ, որոնցում RPi- ն շատ ավելի լավ է:

Այլ կերպ ասած, մենք պատրաստվում ենք օգտագործել Arduino- ն ինտենսիվ առաջադրանքների վերահսկման համար և RPi- ն օգտագործել ինտենսիվ առաջադրանքների հաշվարկման համար:

Arduinos- ի կոպիտ տարբերակները հասանելի են Rugged-Circuits- ում

Քայլ 1: Ստացեք Arduino և RPi սարքավորում

Arduino մեկնարկային հավաքածուները մատչելի են և թույլ են տալիս փորձարկել տարբեր տեսակի սենսորների և գործիքների հետ: Մեկնարկային հավաքածու գնելը ավելի էժան է, քան տարբեր մասեր առանձին պատվիրելու փոխարեն: Ես տրամադրել եմ ստորև ներկայացված որոշ մասնաճյուղային հղումներ ՝ մատնանշելով Banggood և Amazon US:

Arduino Starter Kit (Banggood)

Arduino Starter Kit (Amazon ԱՄՆ)

Element14 RPi 3 B+ Մայր (Amazon ԱՄՆ)

Raspberry Pi 3 B+ պատյան (Amazon ԱՄՆ)

32 ԳԲ Micro SD քարտ (Amazon ԱՄՆ):

Քայլ 2. DHT11 և LCD սարքերը միացրեք Arduino- ին

Միացրեք DHT11 և LCD- ը Arduino- ին
Միացրեք DHT11 և LCD- ը Arduino- ին

Քայլ 3. Programրագրավորեք Arduino- ն

#arduino-dht11-lcd2004

#Հեղինակ ՝ Վասու Վիրապեն

#https://www.instructables.com/member/VasooV/ #Կարդում է Arduino- ին միացված DHT11- ի տվյալները, ցուցադրվում է LCD2004- ով և սերիայի միջոցով տվյալներ է ուղարկում Raspberry Pi- ին

#ներառում

#ներառում

// LCD էկրանը սահմանվում է որպես I2C ավտոբուսի 0x27 սարքի համար

LiquidCrystal_I2C LCD (0x27, 20, 4);

// DHT11- ը միացված է 8 -րդ կապին

dht DHT; #սահմանեք տվիչԿոդ 8

// Raspberry Pi- ն միացված է Serial 0 -ին

#սահմանիր սերիալՊի Սերիալ

void setup () {

lcd. սկսել (20, 4); // Նախաստորագրում է ինտերֆեյսը LCD էկրանին և նշում է lcd.init () ցուցադրման չափերը (լայնությունը և բարձրությունը); lcd. լուսարձակը (); serialPi.begin (9600); // Arduino սերիական մոնիտորին}

դատարկ շրջան () {

// Կարդացեք տվիչների տվյալները

int sensorData = DHT.read11 (sensorPin); բոց ջերմաստիճան = DHT. ջերմաստիճան; բոց խոնավություն = DHT. խոնավություն;

// Տպման ջերմաստիճան

lcd.setCursor (0, 0); lcd.print («peratերմաստիճան»); lcd.print (ջերմաստիճան); lcd.print («C»);

// Տպել խոնավությունը

lcd.setCursor (0, 1); lcd.print («Խոնավություն»); lcd.print (խոնավություն); lcd.print (" %");

// temperatureերմաստիճանի եւ խոնավության տվյալներ ուղարկեք Raspberry Pi- ին

serialPi.print ("");

// Սպասեք 10 վայրկյան

ուշացում (10000); }

Քայլ 4: Աշխատող Arduino, LCD և DHT11 կարգավորումներ

Աշխատող Arduino, LCD և DHT11 կարգավորումներ
Աշխատող Arduino, LCD և DHT11 կարգավորումներ

Քայլ 5. Միացրեք Raspberry Pi- ն Arduino- ին

Միացրեք Raspberry Pi- ն Arduino- ին
Միացրեք Raspberry Pi- ն Arduino- ին

Քայլ 6. RPi Python կոդ ՝ USB պորտի սերիական տվյալները կարդալու համար

#rpi-arduino-dht11

#Raspberry Pi- ն կարդում է ջերմաստիճանի և խոնավության տվիչների տվյալները Arduino- ից

ներմուծել սերիա, լար, ժամանակ

#Այս օրինակում օգտագործվում է /dev /ttyUSB0

#Սա կարող է փոխվել ձեր դեպքում/dev/ttyUSB1,/dev/ttyUSB2 և այլն: ser = սերիալ: Սերիալ ('/dev/ttyUSB0', 9600)

#Կոդի հետևյալ բլոկն աշխատում է այսպես.

#Եթե սերիական տվյալներ կան, կարդացեք տողը, վերծանեք UTF8 տվյալները, #… հեռացրեք տողի նիշերի հետևի վերջը #… տվյալները բաժանեք ջերմաստիճանի և խոնավության #… հեռացրեք մեկնարկի և ավարտի ցուցիչները () #… տպեք ելքը մինչ Trueշմարիտ. datasplit [0]. շերտ ('') տպագրություն (ջերմաստիճան) տպագրություն (խոնավություն)

Խորհուրդ ենք տալիս: