Агуулгын хүснэгт:

Arduino -аас Raspberry Pi хүртэлх температур ба чийгшил: 6 алхам
Arduino -аас Raspberry Pi хүртэлх температур ба чийгшил: 6 алхам

Видео: Arduino -аас Raspberry Pi хүртэлх температур ба чийгшил: 6 алхам

Видео: Arduino -аас Raspberry Pi хүртэлх температур ба чийгшил: 6 алхам
Видео: #12 Цифровое чтение/запись VTScada Modbus | ПЛК Outseal Arduino #VTScada #Modbus #ПЛК #ArduinoPLC 2024, Долдугаар сарын
Anonim
Температур ба чийгшил Arduino -аас Raspberry Pi хүртэл
Температур ба чийгшил Arduino -аас Raspberry Pi хүртэл

Хэрэв та хүлэмжтэй эсвэл хүлэмжээ мини ухаалаг ферм болгон сайжруулах төлөвлөгөөтэй байгаа бол температур, чийгшлийг хянах нь чухал юм.

Анхны зааварчилгааны хувьд би прототип хэрхэн бүтээхийг үзүүлэх болно.

  • DHT11 температур ба чийгшлийн мэдрэгчийг Arduino Mega 2560 төхөөрөмжтэй холбоно уу
  • Мэдрэгчийн өгөгдлийг уншихын тулд Arduino -г C хэлээр програмчил
  • Температур, чийгшлийн мэдээллийг Arduino -той холбогдсон LCD дэлгэц дээр харуулна
  • Arduino -д мэдрэгчийн өгөгдлийг Raspberry Pi 3 Model B+ руу илгээхийг зааварла
  • Мэдрэгчийн өгөгдлийг харуулахын тулд Python дээр код бичнэ үү

Яагаад RPi болон Arduino -ийг хамт ашиглах ёстой вэ?

Arduino болон RPi холболт нь танд Arduino -аас илүү сайн ажилладаг I/O, RPi -ээс илүү сайн сүлжээний харилцаа холбоо/олон дамжуулалттай/дүрслэл хэрэгтэй бол маш их боломжийг олгох болно.

Өөрөөр хэлбэл, бид эрчимтэй ажлуудыг хянахад Arduino -ийг ашиглаж, эрчимтэй ажлуудыг тооцоолоход RPi -ийг ашиглах гэж байна.

Arduinos-ийн бат бөх хувилбаруудыг Rugged-Circuits дээрээс авах боломжтой

Алхам 1: Arduino & RPi тоног төхөөрөмж авах

Arduino гарааны иж бүрдэл нь бэлэн байгаа бөгөөд янз бүрийн төрлийн мэдрэгч, хэрэгслүүдийг туршиж үзэх боломжийг танд олгоно. Эхлэх хэрэгсэл худалдаж авах нь янз бүрийн эд ангиудыг тусад нь захиалахаас илүү хямд байх болно. Би доорх Banggood болон Amazon US руу зааж буй зарим түншлэлийн холбоосыг өгсөн.

Arduino гарааны хэрэгсэл (Banggood)

Arduino гарааны хэрэгсэл (Амазон АНУ)

Element14 RPi 3 B+ эх хавтан (Амазон АНУ)

Raspberry Pi 3 B+ хайрцаг (Amazon АНУ)

32GB Micro SD карт (Amazon Amazon).

Алхам 2: DHT11 & LCD -ийг Arduino руу холбоно уу

DHT11 & LCD -ийг Arduino руу холбоно уу
DHT11 & LCD -ийг Arduino руу холбоно уу

Алхам 3: Arduino програмчлах

#arduino-dht11-lcd2004

#Зохиогч: Vasoo Veerapen

#https://www.instructables.com/member/VasooV/ #Arduino -той холбогдсон DHT11 -ийн өгөгдлийг уншиж, LCD2004 дээр харуулаад өгөгдлийг цувралаар Raspberry Pi руу илгээдэг.

#оруулах

#оруулах

// LCD дэлгэцийг I2C автобус дээрх 0x27 төхөөрөмжийн дугаар гэж тодорхойлдог

LiquidCrystal_I2C lcd (0x27, 20, 4);

// DHT11 нь 8 -р зүүтэй холбогдсон байна

DHT; #мэдрэгчийг тодорхойлох Pin 8

// Raspberry Pi нь Цуваа 0 -тэй холбогдсон байна

#Peri Serial -ийг тодорхойлох

хүчингүй тохиргоо () {

lcd.begin (20, 4); // LCD дэлгэцийн интерфэйсийг эхлүүлж lcd.init () дэлгэцийн хэмжээсийг (өргөн ба өндөр) тодорхойлно; lcd.backlight (); serialPi.begin (9600); // Arduino цуваа дэлгэц рүү}

void loop () {

// Мэдрэгчийн өгөгдлийг уншина уу

int sensorData = DHT.read11 (sensorPin); хөвөх температур = DHT температур. хөвөх чийгшил = DHT. чийгшил;

// Хэвлэх температур

lcd.setCursor (0, 0); lcd.print ("Температур"); lcd хэвлэх (температур); lcd.print ("C");

// Чийглэгийг хэвлэх

lcd.setCursor (0, 1); lcd.print ("Чийгшил"); lcd хэвлэх (чийгшил); lcd.print (" %");

// 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: USB портын сериал өгөгдлийг уншихын тулд RPi Python код

#rpi-arduino-dht11

#Raspberry Pi нь Arduino -ийн температур, чийгшлийн мэдрэгчийн мэдээллийг уншдаг

цуваа, мөр, цаг импортлох

#Энэ жишээнд /dev /ttyUSB0 ашиглагдана

#Энэ нь таны тохиолдолд/dev/ttyUSB1,/dev/ttyUSB2, гэх мэт болж өөрчлөгдөж магадгүй ser = serial. Serial ('/dev/ttyUSB0', 9600)

#Дараах кодын блок дараах байдлаар ажилладаг.

#Хэрэв цуваа өгөгдөл байгаа бол мөрийг уншиж, UTF8 өгөгдлийг декодлох, #… мөрийн арын төгсгөлийг арилгах #… өгөгдлийг температур, чийгшил болгон хуваах #… эхлэх ба дуусах заагчийг устгах () #… гаралтыг хэвлэх Үнэн: хэрэв ser.in_waiting> 0: rawserial = ser.readline () cookedserial = rawserial.decode ('utf-8'). Зурвас ('\ r / n') datasplit = cookedserial.split (',') температур = datasplit [0]. зурвас ('') хэвлэх (температур) хэвлэх (чийгшил)

Зөвлөмж болгож буй: