Სარჩევი:

ტემპერატურა და ტენიანობა არდუინოდან ჟოლოს პიამდე: 6 ნაბიჯი
ტემპერატურა და ტენიანობა არდუინოდან ჟოლოს პიამდე: 6 ნაბიჯი

ვიდეო: ტემპერატურა და ტენიანობა არდუინოდან ჟოლოს პიამდე: 6 ნაბიჯი

ვიდეო: ტემპერატურა და ტენიანობა არდუინოდან ჟოლოს პიამდე: 6 ნაბიჯი
ვიდეო: ტემპერატურის სენსორი და არდუინო 2024, ივლისი
Anonim
ტემპერატურა და ტენიანობა არდუინოდან ჟოლოს პიამდე
ტემპერატურა და ტენიანობა არდუინოდან ჟოლოს პიამდე

ტემპერატურისა და ტენიანობის მონიტორინგი მნიშვნელოვანია, თუ თქვენ გაქვთ სათბური, ან გაქვთ სამომავლო გეგმები თქვენი სათბურის მინი ჭკვიან ფერმად გადაკეთებისთვის.

ჩემი პირველი ინსტრუქციისთვის მე ვაჩვენებ როგორ შევქმნათ პროტოტიპი:

  • შეაერთეთ DHT11 ტემპერატურის და ტენიანობის სენსორი Arduino Mega 2560– თან
  • დაპროგრამეთ Arduino C- ში სენსორის მონაცემების წასაკითხად
  • ტემპერატურისა და ტენიანობის მონაცემების ჩვენება არდუინოსთან დაკავშირებულ LCD- ზე
  • დაავალეთ Arduino– ს სენსორის მონაცემების გაგზავნა Raspberry Pi 3 მოდელზე B+
  • ჩაწერეთ კოდი პითონში სენსორის მონაცემების საჩვენებლად

რატომ გამოვიყენოთ RPi და Arduino ერთად?

Arduino და RPi კავშირმა შეიძლება უზრუნველყოს დიდი შესაძლებლობები, თუ გჭირდებათ I/O, რომელშიც Arduino გამოირჩევა და ქსელური კომუნიკაცია/მრავალსიდიანი/ვიზუალი, რომელშიც RPi ბევრად უკეთესია.

სხვა სიტყვებით რომ ვთქვათ, ჩვენ ვაპირებთ გამოვიყენოთ Arduino ინტენსიური დავალებების გასაკონტროლებლად და RPi გამოვიყენოთ ინტენსიური ამოცანების გამოთვლისთვის.

არდუინოს უხეში ვერსიები ხელმისაწვდომია Rugged-Circuits– ში

ნაბიჯი 1: Arduino & RPi აპარატურის მიღება

Arduino დამწყები ნაკრები ხელმისაწვდომია და საშუალებას გაძლევთ ექსპერიმენტი გაუკეთოთ სხვადასხვა ტიპის სენსორებსა და გაჯეტებს. შემქმნელის ნაკრების შეძენა უფრო იაფი გამოდის, ვიდრე სხვადასხვა ნაწილების ცალკე შეკვეთა. მე მიაწოდა რამდენიმე შვილობილი ბმული ქვემოთ მითითებული Banggood და Amazon აშშ.

Arduino შემქმნელის ნაკრები (Banggood)

Arduino Starter Kit (Amazon აშშ)

Element14 RPi 3 B+ დედაპლატა (ამაზონი აშშ)

Raspberry Pi 3 B+ Case (ამაზონი აშშ)

32 GB Micro SD ბარათი (Amazon US).

ნაბიჯი 2: დაუკავშირეთ DHT11 და LCD არდუინოს

შეაერთეთ DHT11 და LCD არდუინოსთან
შეაერთეთ DHT11 და LCD არდუინოსთან

ნაბიჯი 3: პროგრამირება Arduino

#arduino-dht11-lcd2004

#ავტორი: ვასუ ვეერაპენი

#https://www.instructables.com/member/VasooV/ #კითხულობს მონაცემებს DHT11– დან, რომელიც დაკავშირებულია Arduino– სთან, აჩვენებს LCD2004 –ზე და მონაცემებს სერიული საშუალებით აგზავნის Raspberry Pi– ს

#ჩართეთ

#ჩართეთ

// LCD ეკრანი განისაზღვრება როგორც მოწყობილობის ნომერი 0x27 I2C ავტობუსზე

LiquidCrystal_I2C LCD (0x27, 20, 4);

// DHT11 დაკავშირებულია პინ 8 -თან

dht DHT; #განსაზღვრეთ სენსორი პინი 8

// ჟოლო Pi უკავშირდება სერიალ 0 -ს

#განსაზღვრეთ სერიალი პი სერიული

void setup () {

lcd. დასაწყისი (20, 4); // ინიციალიზებს ინტერფეისს LCD ეკრანზე და განსაზღვრავს ეკრანის ზომებს (სიგანეს და სიმაღლეს) lcd.init (); lcd. განათება (); serialPi. დასაწყისი (9600); // არდუინო სერიულ მონიტორზე}

ბათილი მარყუჟი () {

// სენსორის მონაცემების წაკითხვა

int sensorData = DHT.read11 (sensorPin); მცურავი ტემპერატურა = DHT.temperature; float ტენიანობა = DHT. ტენიანობა;

// ბეჭდვის ტემპერატურა

lcd.setCursor (0, 0); lcd.print ("ტემპერატურა"); lcd. ბეჭდვა (ტემპერატურა); lcd.print ("C");

// დაბეჭდვის ტენიანობა

lcd.setCursor (0, 1); lcd.print ("ტენიანობა"); lcd. ბეჭდვა (ტენიანობა); lcd.print (" %");

// გაგზავნეთ ტემპერატურისა და ტენიანობის მონაცემები ჟოლოს პიზე

serialPi.print ("");

// დაელოდეთ 10 წამს

დაგვიანება (10000); }

ნაბიჯი 4: სამუშაო Arduino, LCD და DHT11 დაყენება

სამუშაო Arduino, LCD და DHT11 დაყენება
სამუშაო Arduino, LCD და DHT11 დაყენება

ნაბიჯი 5: დაუკავშირეთ Raspberry Pi არდუინოს

დააკავშირეთ ჟოლო Pi არდუინოსთან
დააკავშირეთ ჟოლო Pi არდუინოსთან

ნაბიჯი 6: RPi პითონის კოდი USB პორტის სერიული მონაცემების წასაკითხად

#rpi-arduino-dht11

#ჟოლო Pi კითხულობს ტემპერატურისა და ტენიანობის სენსორის მონაცემებს არდუინოდან

სერიული, სიმებიანი, დროის იმპორტი

#ამ მაგალითში /dev /ttyUSB0 გამოიყენება

#ეს შეიძლება შეიცვალოს თქვენს შემთხვევაში/dev/ttyUSB1,/dev/ttyUSB2 და ა.შ. ser = სერიული. სერიული ('/dev/ttyUSB0', 9600)

#კოდის შემდეგი ბლოკი მუშაობს ასე:

#თუ სერიული მონაცემები არსებობს, წაიკითხეთ ხაზი, გაშიფრეთ UTF8 მონაცემები, #… ამოიღეთ სტრიქონის სიმბოლოების უკანა ბოლო # მართალია: თუ ser.in_waiting> 0: rawserial = ser.readline () cookserial = rawserial.decode ('utf-8'). Strip ('\ r / n') datasplit = cookserial.split (',') temperature = datasplit [0]. ზოლიანი ('') ბეჭდვა (ტემპერატურა) ბეჭდვა (ტენიანობა)

გირჩევთ: