实验二十七:水位传感器实验
来自丢石头百科
Arduino
实验现象
- 通过串口打印模块测量到的距离
电路连接
主要程序
double temp,data; void setup() { Serial.begin(9600); } void loop() { temp=analogRead(A0); Serial.print("val = "); // 串口输出 val 当前的数据 Serial.print(temp); if(temp < 10) { // 如果 val 小于 10 Serial.println(" | dry"); // 说明很干,没有水 } else if(temp < 475) { // 如果 小于 300 Serial.println(" | water level: ~ 0-1 cm"); // 水位大约在0-1cm ,以下语句如此类推 } else if(temp < 515) { Serial.println(" | water level: ~ 1-2 cm"); } else if(temp < 535) { Serial.println(" | water level: ~ 2-3 cm"); } else if(temp < 550) { Serial.println(" | water level: ~ 3-4 cm"); } else { Serial.println(" | water level: over 4 cm"); } delay(1000); // 等待1秒 }
树莓派
电路连接
程序运行
Python
- 安装gpiozero库
- 可以使下面命令来安装该库
sudo apt update sudo apt install python3-gpiozero
- 其它树莓派上的系统可以使下面命令来安装该库:
sudo pip3 install gpiozero
- 运行以下语句可以查看树莓派GPIO口定义
pinout
- 打开SPI接口
sudo raspi-config 选择Interfaces oOptions -> SPI -> “Would you like the SPI interface to be enabled? ”选择Yes -> “The SPI interface is enabled” 选择Yes -> 选择finish
- 关闭树莓派。断电情况下,根据提供的电路连接将对应模块接入电路,启动树莓派
- 下载树莓派参考例程,将文件解压后拷贝放在用户名目录下,运行
cd /home/pi/raspberrypi/27/python_gpiozero python sensor.py
- 此时可看见树莓派在不断打印电位器的电压值,若想退出,按ctrl+C即可
- 更多指令请查看gpiozero文档