一、前言:
香橙派也是没有adc引脚的
但是有ads1115这个模块,可以把三个adc的通道值读取出来
但是用python调用smbus库的时候就发现一直卡死,不知道啥原因,所以没解决,直接调用Adafruit_ADS1x15这个库的时候就十分顺利了
二、准备:
1.接线:外设多,5v不够的话弄个面包板
VDD - 5V
GND - GND
SCL - SCL
SDA - SDA
ADDR - GND
A0 - MQ 传感器的 A0
2.开启iic接口
sudo orangepi-config
选system ->Hardware->iic 官方文档有不过多讲述
3.查看是否开启成功
2号iic:
sudo i2cdetect -y 2
执行后会显示地址48,说明开启成功
3号改3以此类推
三、开始
1.安装Adafruit_ADS1x15库:
pip install Adafruit_ADS1x15
2. 代码
import time
import Adafruit_ADS1x15
adc = Adafruit_ADS1x15.ADS1115(address=0x48, busnum=2)
# Define the gain value
GAIN = 1
print('Reading ADS1x15 values, press Ctrl-C to quit...')
print('| {0:>6} | {1:>6} | {2:>6} | {3:>6} |'.format(*range(4)))
print('-' * 37)
while True:
values = [0]*4
for i in range(4):
values[i] = adc.read_adc(i, gain=GAIN)
print('| {0:>6} | {1:>6} | {2:>6} | {3:>6} |'.format(*values))
time.sleep(0.5)