树莓派Pi Sensor Board 教程

ADS1115

测试镜像版本: 2021-12-02-raspios-buster-armhf.img 树莓派4B

准备

开启I2C

sudo nano /boot/config.txt


确保I2C打开状态, 然后重启系统

sudo reboot

重启后. 使用 I2C地址检测命令可以检测到48地址

i2cdetect -y 1


需要切换到 python 3  (如果是已经是使用 python3.x  就不用切换,忽略以下步骤)

python -V 


sudo rm /usr/bin/python

sudo ln -s /usr/bin/python3.7 /usr/bin/python

python -V


库安装

git clone https://github.com/adafruit/Adafruit_Python_ADS1x15.git


cd Adafruit_Python_ADS1x15





sudo python setup.py install


 

安装完成

A0-ADJ滑动变阻器

接法

确保ADJ接A0    D26接L1


运行代码

cd ads1115/examples/

sudo python ads1115-a0.py


 现象

扭动电位器. 打印的AD值变化.  LED等随着AD值变化亮度发生变化

原理讲解

电位器扭动的时候. 分压值会发生变化. 树莓派通过PCF8591 读取电位器分压值. 然后把分压值写入到PWM输出控制LED灯

视频


A1-R1光敏电阻

接法

确保R1接A1  D26接L1


运行代码

cd ads1115/examples/

sudo python ads1115-a1.py

现象

遮住光敏电阻.AD值变化. LED灯灭

原理讲解

光敏电阻当接收到不同光强度照射的时候. 分压值会不同.  通过树莓派读取AD值变化从而判断光强度

视频


A1-R2热敏电阻

接法

确保R2接A2  D26接L1

运行代码

cd ads1115/examples/

sudo python ads1115-a2.py


现象

热敏电阻接触不同的热源.AD值变化. LED灯亮灭变化

注意: 本实验中是使用手触摸. 温度变化比较小.  可以使用带有温水的杯子接触热敏电阻.  AD值变化会更大.  通过观察AD值变化区间. 从而选择合适的值关断和开启LED灯显示 另外实验所处温度环境不同. 可能造成不同的实验结果. 需要观察AD值变化区间. 选择合适的AD值关断开启LED灯显示

原理讲解

热敏电阻当接收到不同热源的时候. 分压值会不同.  通过树莓派读取AD值变化从而判断温度变化

视频


ADC-4通道

接法

 

运行代码

cd ads1115/examples/

sudo python ads1115-4.py

现象

4通道打印AD值


原理讲解

树莓派通过I2C与AD采集芯片通信. 可以读取每个通道AD值

视频


PCF8591

测试镜像版本: 2022-04-04-raspios-bullseye-armhf.img  树莓派4B

准备  

开启I2C

sudo nano /boot/config.txt


确保I2C打开状态, 然后重启系统

sudo reboot

重启后. 使用 I2C地址检测命令可以检测到48地址

i2cdetect -y 1


 A0-ADJ滑动变阻器

接法

确保ADJ接A0    D26接L1


运行代码

cd pcf8591/

sudo python pcf8591_a0-adj.py


现象

扭动电位器. 打印的AD值变化.  LED等随着AD值变化亮度发生变化

原理讲解

电位器扭动的时候. 分压值会发生变化. 树莓派通过PCF8591 读取电位器分压值. 然后把分压值写入到PWM输出控制LED灯

视频


A1-R1光敏电阻

接法

确保R1接A1  D26接L1

运行代码

cd pcf8591/

sudo python pcf8591_a1.py


现象

遮住光敏电阻.AD值变化. LED灯灭

原理讲解

光敏电阻当接收到不同光强度照射的时候. 分压值会不同.  通过树莓派读取AD值变化从而判断光强度

视频


A1-R2热敏电阻

接法

确保R2接A2  D26接L1

 

运行代码

cd pcf8591/

sudo python pcf8591_a2.py


现象

热敏电阻接触不同的热源.AD值变化. LED灯亮灭变化

注意: 本实验中是使用手触摸. 温度变化比较小.  可以使用带有温水的杯子接触热敏电阻.  AD值变化会更大.  通过观察AD值变化区间. 从而选择合适的值关断和开启LED灯显示 另外实验所处温度环境不同. 可能造成不同的实验结果. 需要观察AD值变化区间. 选择合适的AD值关断开启LED灯显示

原理讲解

热敏电阻当接收到不同热源的时候. 分压值会不同.  通过树莓派读取AD值变化从而判断温度变化

视频


ADC-4通道

接法

 

运行代码

cd pcf8591/

sudo python pcf8591_adc.py


现象

4通道打印AD值

原理讲解

PCF8591 是单电源,低功耗8 位CMOS 数据采集器件,具有4 个模拟输入、一个输出和一个串行I2C 总线接口, 树莓派通过I2C通信. 可以读取每个通道AD值

DAC

接法

L1跳线到Aout


运行代码

cd pcf8591/

sudo python pcf8591_dac.py


现象

LED灯随着DAC输出值变化.亮度发生变化

原理讲解

树莓派写入DAC寄存器值大小不同.  Aout管脚输出电压值大小随之变化. . 从而控制LED亮度

视频


PCF8591+传感器

准备  

开启I2C

sudo nano /boot/config.txt


确保I2C打开状态, 然后重启系统

sudo reboot

498-温敏  

接法


运行代码

cd sensor/

sudo python 498-R_temp.py


现象

触摸温敏电阻.AD值变换

原理讲解

温敏电阻阻值会随着温度变化而变化.  通过分压. 可以得到 温敏电阻不同温度下产生不同阻值的AD值.  通过AD采集接口.采集AD值变化

视频


512-蜂鸣器

接法

先撕掉蜂鸣器上的贴纸. 声音才会大

运行代码

cd sensor/

sudo python 512-buz.py


现象

喇叭声音有大到小 再由小到大循环

板载LED灯. 亮度变化

原理讲解

树莓派GPIO管脚输出不同占空比的PWM. 从而控制蜂鸣器的响声大小

视频


490-红外接收遥控

接法


需配合遥控器一起使用

运行代码

cd sensor/

sudo python 490-ir.py


现象

按遥控器可以识别不同的按键识别码

原理讲解

红外接收器接收到一定频率的红外光之后. 就会输出低电平. 通过这个原理. 我们通过树莓派的GPIO管脚读取红外接收管高低电平数据从而打印出红外遥控器的键值

视频


506-ds18b20高精度温度传感器

接法: 注意 传感器 S 脚 接 树莓派的 D4脚


运行代码

DS18B20程序需在树莓派/boot/config.txt文件最后面添加dtoverlay=w1-gpio-pullup这一句,重启生效后才可使用

sudo nano /boot/config.txt


cd sensor/

sudo python 506-ds18b20.py


现象

实时测出当前环境温度

原理讲解

使用单总线通信协议, 树莓派与DS18B20通信读取DS18B20温度寄存器. 从而得到实时温度

视频


483-key按键传感器

接法


运行代码

cd sensor/

sudo python 483-key.py


现象

按按键, 可以打印出识别到按键

原理讲解

树莓派管脚设置为输入状态.  识别到按键按下为低电平的时候. 输出按键识别

视频


501-倾斜传感器

接法


运行代码

cd sensor/

sudo python 501-switch-01.py


现象

倾斜开关 可以检测到开关倾斜

原理讲解

倾斜开关内部开关倾斜的时候.会输出低电平. 树莓派管脚输入检测到低电平就可以识别到是否倾斜

视频


505-水银开关

接法

运行代码

cd sensor/

sudo python 505-switch-quicksilver.py


现象

倾斜模块.让水银挪动. 可以打印开关状态

原理讲解

水银开关内部水银随着模块挪动可以控制水银是否短路内部2铁丝. 从而输出低电平. 树莓派管脚输入检测到低电平就可以识别

视频


487-light光阻断传感器

接法


运行代码

cd sensor/

sudo python 487-light.py


现象

使用纸片等在阻断传感器中间. 会识别到

原理讲解

当有物料插入光阻断识别器 缝隙, 阻断器初始高电平.使用AD或者GPIO可以识别管教状态.从而识别是否有物体遮挡. 可以应用在小车齿轮测试中

视频


500-敲击传感器

接法


运行代码

cd sensor/

sudo python 500-tap.py

现象

敲击模块,可以识别到敲击

原理讲解

敲击模块当收到敲击的时候. 会发出低电平脉冲. 使用树莓派GPIO识别低电平即可识别到敲击信号

视频


513-震动传感器

接法

运行代码

cd sensor/

sudo python 513-shock.py


现象

震动模块,可以识别到敲击

原理讲解

当震动 震动模块 的时候. 模块会发出低电平脉冲. 使用树莓派GPIO识别低电平即可识别到震动信号

视频


495-霍尔磁力传感器

接法

运行代码

cd sensor/

sudo python 495-hall-01.py


现象

磁铁靠近传感器远近和磁铁极性都会影响霍尔磁力传感器值大小

原理讲解

霍尔磁力传感器内部霍尔元件可以识别到磁力大小., 当磁铁靠近传感器的时候. 传感器会产生不同的AD值输出

视频


497-迷你磁力弹簧传感器

接法

需配合磁铁一起实验


运行代码

cd sensor/

sudo python 497-magnet-spring.py

现象

磁铁靠近传感器的时候,磁力弹簧会连接.从而输出低电平 注意: 当磁铁靠近没反应的时候. 更换磁铁极性再次尝试

原理讲解

铁力吸附内部磁力弹簧会让内部弹簧短路从而输出低电平,使用AD或者GPIO识别低电平即可识别到信号

视频


keyesir-红外发射接收_避障传感器

接法


运行代码

cd sensor/

sudo python keyesir.py


现象

模块靠近障碍物的时候, 是识别到障碍物 注意: 不要有其他太强的红外光干扰

原理讲解

红外发射的红外光,如果遇到遮挡物. 会反射给红外接收管. 红外接收管收到红外信号之后. 会通过电压比较器输出低电平

视频


511-ir-line-红外发射接收_红外巡线传感器

接法


运行代码

cd sensor/

sudo python 511-ir-line.py


现象

黑色遮挡物与纯白色遮挡物 红外反光识别需要的距离不同

注意: 识别距离和灵敏度可通过以下电位器调节


原理讲解


白色对红外光反射更强, 所以可以通过安装模块在合适的距离.  可以让模块只识别黑色线或者白色线, 从而达到小车巡线的效果

视频


504-joystick-摇杆模块

接法

注意: 摇杆的5V需要接到驱动板的3V3上面,. 因为此处AD采集是3V3最大采集电压

VRx 接 -> A1   

VRy 接 -> A0

同时以下在A0 A1处的跳线帽要拔掉防止干扰


运行代码

cd sensor/ sudo python 504-joystick.py

现象

旋转摇杆AD0 AD1打印值不同 按压摇杆. 可以打样出按压状态

原理讲解

摇杆X Y轴随着摇杆状态可以打印出不同的AD值出来.通过AD采集X Y的AD输出.可以判断摇杆状态.同时摇杆带有下压按键. 可以在按压摇杆的时候触发按键. 树莓派GPIO可以读取按键状态

视频


482-relay-继电器模块

接法


运行代码

cd sensor/

sudo python 490-ir.py


现象

继电器模块随着树莓派控制,发出响声, 同时继电器2个输出端 B , C会与A短路

原理讲解

继电器 在一侧的输入端通过不同的控制电平可以控制 A与 B C口的开关

通过此方式,. 可以控制一些家用的高电压电器

视频


laser-激光发射传感器

接法


运行代码

cd sensor/

sudo python laser.py


现象

激光头发射出激光射线 原理讲解

树莓派控制GPIO输出, 激光传感器收到电平控制之后.会发射出激光射线

视频


478-RGB LED灯

接法


运行代码

cd sensor/

sudo python 478-RGB.py


现象

RGB LED灯分别显示红蓝绿

原理讲解

共阴级的3色RGB灯. 在每个颜色灯的控制脚给高电平. 对应的灯会亮

视频


477-RG-双色LED

接法


运行代码

cd sensor/

sudo python 477-RG.py


现象

双色灯颜色变化

原理讲解

共阴级的3色RG双色灯. 在每个颜色灯的控制脚给高电平. 对应的灯会亮

视频