测试镜像版本: 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值
视频
测试镜像版本: 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亮度
视频
准备
开启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双色灯. 在每个颜色灯的控制脚给高电平. 对应的灯会亮
视频