สารบัญ:

การอ่านและกราฟข้อมูลเซ็นเซอร์แสงและอุณหภูมิด้วย Raspberry Pi: 5 ขั้นตอน
การอ่านและกราฟข้อมูลเซ็นเซอร์แสงและอุณหภูมิด้วย Raspberry Pi: 5 ขั้นตอน

วีดีโอ: การอ่านและกราฟข้อมูลเซ็นเซอร์แสงและอุณหภูมิด้วย Raspberry Pi: 5 ขั้นตอน

วีดีโอ: การอ่านและกราฟข้อมูลเซ็นเซอร์แสงและอุณหภูมิด้วย Raspberry Pi: 5 ขั้นตอน
วีดีโอ: How to read the temperature sensor on the Raspberry Pi Pico 2024, พฤศจิกายน
Anonim
การอ่านและกราฟข้อมูลเซ็นเซอร์แสงและอุณหภูมิด้วย Raspberry Pi
การอ่านและกราฟข้อมูลเซ็นเซอร์แสงและอุณหภูมิด้วย Raspberry Pi

ในคำแนะนำนี้ คุณจะได้เรียนรู้วิธีอ่านเซ็นเซอร์วัดแสงและอุณหภูมิด้วยราสเบอร์รี่ pi และตัวแปลงอนาล็อกเป็นดิจิทัล ADS1115 และสร้างกราฟโดยใช้ matplotlib เริ่มต้นด้วยวัสดุที่จำเป็น

เสบียง

  1. Raspberry pi (ใครก็ได้ แต่ฉันใช้ 4)
  2. การ์ด MicroSD ที่ติดตั้ง Raspbian (บทช่วยสอนที่ดี:
  3. จอภาพ HDMI และแหล่งพลังงาน
  4. สายไมโคร USB
  5. Adafruit ADS 1115 ตัวแปลงอนาล็อกเป็นดิจิตอล:
  6. สายจัมเปอร์
  7. เซ็นเซอร์วัดแสง (LDR)
  8. เซ็นเซอร์อุณหภูมิ
  9. โพเทนชิออมิเตอร์ x2 (ค่าจะเป็นจุดกึ่งกลางของช่วงความต้านทานของเซ็นเซอร์อุณหภูมิและแสงของคุณ ซึ่งเราจะวัดในภายหลัง)
  10. เขียงหั่นขนม

ขั้นตอนที่ 1: ตั้งค่า Raspberry Pi. ของคุณ

1. ทำตามบทช่วยสอนนี้เพื่อตั้งค่า raspberry pi ให้คุณ:https://www.raspberrypi.org/help/noobs-setup/2/2 เปิดใช้งาน I2C: คลิกสัญลักษณ์ราสเบอร์รี่ pi ที่ด้านบนซ้าย ไปที่การตั้งค่า > การกำหนดค่า raspberry pi > อินเทอร์เฟซ > และทำเครื่องหมายที่ช่อง "เปิดใช้งาน" บน I2C จากนั้นคลิกตกลง.3 ตอนนี้เปิดหน้าต่างเทอร์มินัล ในประเภทบรรทัดคำสั่ง:

sudo apt-get อัพเกรด

sudo pip3 ติดตั้ง adafruit-circuitpython-ads1x15

sudo apt-get ติดตั้ง python-matplotlib

ขั้นตอนที่ 2: วัดแสงและเซ็นเซอร์อุณหภูมิของคุณ

ตอนนี้ เราจะต้องวัดความต้านทานของเซ็นเซอร์แสงและอุณหภูมิ ใช้เครื่องวัดโวลต์มิเตอร์ในการตั้งค่าการวัดความต้านทาน และวัดตามสายของเซ็นเซอร์วัดแสงของคุณในที่สว่างและในที่มืด บันทึกค่า ตอนนี้ใช้เครื่องวัดโวลต์ของคุณบนสายของเซ็นเซอร์อุณหภูมิของคุณในแบบร้อนและเย็น (ฉันใช้น้ำ) บันทึกค่า เราจะใช้มันในภายหลังในวงจรของเรา

ขั้นตอนที่ 3: ต่อวงจรของคุณ

ต่อวงจรของคุณ
ต่อวงจรของคุณ

1. รวบรวมวัสดุที่ระบุไว้ในรายการวัสดุสิ้นเปลือง สำหรับโพเทนชิโอมิเตอร์ ให้ใช้ค่าที่เป็นค่าเฉลี่ยของเสียงสูงและต่ำ (สว่างและมืด ร้อนและเย็น)

(สูง-ต่ำ) / 2

2. ทำตามแผนภาพวงจรด้านบน:

  1. เชื่อมต่อ SDA บนตัวแปลงอนาล็อกเป็นดิจิตอลกับ SDA บน pi
  2. เชื่อมต่อ SCL บนตัวแปลงอนาล็อกเป็นดิจิตอลกับ SCL บน pi
  3. เชื่อมต่อ VDD บนตัวแปลงอนาล็อกเป็นดิจิตอลเป็น 3.3v บน pi
  4. เชื่อมต่อ GND บนตัวแปลงอนาล็อกเป็นดิจิตอลกับกราวด์บน pi
  5. เชื่อมต่อส่วนประกอบที่เหลือตามแผนภาพวงจร

ขั้นตอนที่ 4: รหัส

1. พิมพ์เทอร์มินัล:

nano digital.py

2. วางรหัสที่ฉันมีด้านล่างหรือบน Github ลงในโปรแกรมแก้ไขข้อความที่ควรปรากฏขึ้น

นำเข้า matplotlib.pyplot เป็น plt

นำเข้า numpy เป็น np นำเข้าบอร์ด นำเข้าเวลานำเข้า busio นำเข้า adafruit_ads1x15.ads1115 เป็น ADS จาก adafruit_ads1x15.analog_in นำเข้า AnalogIn i2c = busio. I2C(board. SCL, board. SDA) ads = ADS. ADS1115(i2c) x = 0 light = AnalogIn (โฆษณา, ADS. P0) temp = AnalogIn(โฆษณา, ADS. P1) X1 = X2 = Y1 = Y2 = plt.ylim(-50, 1000) plt.plot(X1, Y1, label = "แสง", สี = '#0069af') plt.plot(X2, Y2, label = "Temp", สี = '#ff8000') plt.xlabel('Time(minutes)') plt.ylabel(' ระดับ') plt.title('แสงและอุณหภูมิเมื่อเวลาผ่านไป') plt.legend() ในขณะที่ True: x += 5 Y1.append(light.value/30) X1.append(x) Y2.append(temp.value /3) X2.append(x) plt.plot(X1, Y1, label = "light", color = '#0069af') plt.plot(X2, Y2, label = "Temp", color = '#ff8000') plt.pause(300)

3. ตอนนี้ให้กด CTRL+X เพื่อออก กด y เพื่อบันทึก จากนั้นกด Enter

เรียกใช้โปรแกรมของคุณโดยพิมพ์ในเทอร์มินัล:

sudo python3 digital.py

4. ปรับโพเทนชิโอมิเตอร์เพื่อให้กราฟแสดงค่าที่หลากหลาย ลองส่องแสงไปที่เซ็นเซอร์และปิดไฟในห้องเพื่อให้แน่ใจว่ากราฟแสดงค่าต่างๆ มากมาย

หากค่าใดค่าหนึ่งลดลงต่ำกว่าด้านล่าง ให้ลองลดตัวหารที่สอดคล้องกัน (บรรทัดที่ 29 และ 31)

หากค่าใดค่าหนึ่งอยู่เหนือด้านบน ให้ลองเพิ่มตัวหารที่สอดคล้องกัน (บรรทัดที่ 29 และ 31)

ขั้นตอนที่ 5: การแก้ไขปัญหา

1. ตรวจสอบการเชื่อมต่อทั้งหมดกับแผนภาพวงจรอีกครั้ง

2. การตรวจจับ I2C - จะแสดงอุปกรณ์ทั้งหมดที่เชื่อมต่อผ่าน i2c:

พิมพ์เทอร์มินัล:

sudo apt-get ติดตั้ง i2c-tools

sudo i2cdetect - y 1

แนะนำ: