ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

ใช้ ADS1115 กับ Raspberry Pi

Using the ADS1115 with the Raspberry Pi

เดอะ ADS1115 เป็น ตัวแปลงสัญญาณอะนาล็อกเป็นดิจิทัลแบบ 16 บิต (ADC) ที่ทำให้ Raspberry Pi สามารถอ่านได้ สัญญาณแอนะล็อก จากเซ็นเซอร์ โพเทนชิโอมิเตอร์ และอุปกรณ์แอนะล็อกอื่น ๆ คู่มือนี้จะพาคุณทีละขั้นตอนในการตั้งค่า ADS1115 โมดูล ADC ด้วย Raspberry Pi เพื่ออ่านข้อมูลจากเซ็นเซอร์แบบแอนะล็อกโดยใช้ Python.


สิ่งที่คุณต้องมี

  1. Raspberry Pi (รุ่นใดก็ได้ที่รองรับ I2C เช่น Pi 3, Pi 4)
  2. ADS1115 โมดูล ADC
  3. เซนเซอร์แอนะล็อก (เช่น โพเทนชิโอมิเตอร์, เซนเซอร์วัดอุณหภูมิ, เซนเซอร์วัดความชื้นในดิน เป็นต้น)
  4. เบรดบอร์ดและสายจัมเปอร์
  5. ติดตั้ง Python แล้ว บน Raspberry Pi

ขั้นตอนที่ 1: ทำความเข้าใจ ADS1115

ดังกล่าว Raspberry Pi ไม่มีขาอินพุตแบบแอนะล็อก, ดังนั้น ADS1115 ใช้เพื่อแปลง สัญญาณแอนะล็อกสู่ดิจิทัล. ADS1115 มีให้:

  • 4 ช่องสัญญาณอินพุตแบบแอนะล็อก (A0, A1, A2, A3)
  • ความละเอียด 16-bit เพื่อความแม่นยำสูง
  • อินเทอร์เฟซการสื่อสารแบบ I2C
  • เครื่องขยายสัญญาณแบบกำหนดเกนได้ (PGA) สำหรับปรับความไวได้

ขั้นตอนที่ 2: การเดินสายของ ADS1115 ไปยัง Raspberry Pi

เดอะ ADS1115 สื่อสารผ่าน I2C, ดังนั้นเราจึงเชื่อมต่อมันเข้ากับขา I2C ของ Raspberry Pi

การเชื่อมต่อ

ADS1115 หมุด พิน Raspberry Pi
VCC 3.3V (ขา 1) หรือ 5V (ขา 2)
GND กราวด์ (ขา 6)
SDA SDA (ขา 3, GPIO2)
SCL SCL (ขา 5, GPIO3)
A0-A3 (อินพุตแอนะล็อก) เชื่อมต่อกับเอาต์พุตของเซ็นเซอร์

ขั้นตอนที่ 3: เปิดใช้งาน I2C บน Raspberry Pi

  1. เปิดเครื่องมือกำหนดค่า Raspberry Pi:
    sudo raspi-config
    
  2. ไปที่ ตัวเลือกอินเทอร์เฟซ > I2C และเปิดใช้งาน.
  3. รีบูต Raspberry Pi:
    sudo reboot
    
  4. ตรวจสอบว่า ADS1115 ถูกตรวจพบ บนบัส I2C:
    sudo i2cdetect -y 1
    
    ADS1115 ควรปรากฏที่ที่อยู่ 0x48.

ขั้นตอนที่ 4: ติดตั้งไลบรารีที่จำเป็น

  1. อัปเดตรายการแพ็กเกจของ Raspberry Pi ของคุณ:
    sudo apt update && sudo apt upgrade -y
    
  2. ติดตั้งสิ่งที่จำเป็น เครื่องมือ I2C และไลบรารี Python:
    sudo apt install -y python3-smbus python3-pip
    pip3 install adafruit-circuitpython-ads1x15
    

ขั้นตอนที่ 5: การอ่านข้อมูลอนาล็อกจาก ADS1115

โค้ด Python สำหรับอ่านข้อมูลเซ็นเซอร์จาก ADS1115

import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn

# เริ่มต้น I2C และ ADS1115 ADC
i2c = busio.I2C(board.SCL, board.SDA)
ads = ADS.ADS1115(i2c)

# เลือกช่องสัญญาณอินพุตแบบอะนาล็อก (A0)
channel = AnalogIn(ads, ADS.P0)

try:
    while True:
        print(f"ค่าดิบ: {channel.value}, แรงดันไฟฟ้า: {channel.voltage:.2f}V")
        time.sleep(1)
except KeyboardInterrupt:
    print("กำลังออก...")

ขั้นตอนที่ 6: การประยุกต์ใช้ของ ADS1115 กับ Raspberry Pi

  1. การอ่านค่าจากเซ็นเซอร์อนาล็อก – เซ็นเซอร์อุณหภูมิ, แสง, ความชื้น หรือก๊าซ.
  2. การตรวจสอบแรงดันไฟฟ้าของแบตเตอรี่ – วัดแรงดันไฟฟ้าได้อย่างปลอดภัยด้วยความละเอียดสูง
  3. การติดตามความชื้นในดิน – ใช้สำหรับ ระบบชลประทานอัจฉริยะ.
  4. การอ่านค่าโพเทนชิโอมิเตอร์ – ใช้เป็น ตัวควบคุมการป้อนข้อมูลของผู้ใช้ สำหรับโครงการ.

การแก้ไขปัญหา

  1. ADS1115 ไม่พบ (i2cdetect ไม่แสดง 0x48)

    • ตรวจสอบให้แน่ใจว่า ขา SDA/SCL ถูกต่อสายอย่างถูกต้อง.
    • ตรวจสอบว่า เปิดใช้งาน I2C แล้ว การใช้ sudo raspi-config.
  2. การอ่านค่าที่ไม่แม่นยำ

    • ใช้ การตั้งค่า PGA ในโค้ด Python เพื่อปรับช่วงแรงดันไฟฟ้า.
    • ให้มั่นใจใน แหล่งจ่ายไฟที่เสถียร ไปยัง ADS1115 โมดูล.
  3. หลายรายการ ADS1115 โมดูล

    • แก้ไข ที่อยู่ I2C โดยใช้ ขา ADDR เพื่อหลีกเลี่ยงความขัดแย้ง.

บทสรุป

นั้น ADS1115 โมดูล ADC ทำให้ Raspberry Pi สามารถ อ่านข้อมูลจากเซ็นเซอร์แบบแอนะล็อก ด้วยความแม่นยำสูง ไม่ว่าคุณจะกำลังสร้าง การตรวจติดตามสภาพแวดล้อม, การตรวจวัดแบตเตอรี่, หรือแอปพลิเคชัน IoT, คู่มือนี้มีวิธีง่ายๆ ในการผสานรวม อินพุตแอนะล็อกในโปรเจกต์ของคุณ! 🚀

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

แสดงความคิดเห็น