ใช้ 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 บนราสเบอร์รี่ pi

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

ที่ Raspberry Pi ขาดพินอินพุตแบบอะนาล็อกดังนั้น ADS1115 ใช้ในการแปลง สัญญาณอะนาล็อกเป็นดิจิตอล- ADS1115 ให้:

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

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

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

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

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

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

  1. เปิดเครื่องมือกำหนดค่า Raspberry Pi:
    sudo raspi-config
    
  2. นำทางไปยัง ตัวเลือกอินเตอร์เฟส> i2c และเปิดใช้งาน
  3. รีบูตราสเบอร์รี่ 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

# Initialize I2C and ADS1115 ADC
i2c = busio.I2C(board.SCL, board.SDA)
ads = ADS.ADS1115(i2c)

# Select Analog Input Channel (A0)
channel = AnalogIn(ads, ADS.P0)

try:
    while True:
        print(f"Raw Value: {channel.value}, Voltage: {channel.voltage:.2f}V")
        time.sleep(1)
except KeyboardInterrupt:
    print("Exiting...")

ขั้นตอนที่ 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 Pin เพื่อหลีกเลี่ยงความขัดแย้ง

บทสรุป

ที่ 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.