案例07 小小养鱼池
简介
相信很多朋友想要拥有一个小小的养鱼池,在里面养很多漂亮的鱼,但是养鱼是个技术活,不仅要关注水的质量还要关注水位的高低,如果我们能实时的检测这些数据并告诉我们,那么养鱼就会变的简单很多。我们使用水位传感器与 LED 灯来制作水位监测器。
组件清单
1 × Raspberry Pi Pico
1 × Wukong2040 扩展板
1 × USB 数据线
1 × 水位传感器
1 × 绿色 LED 灯
1 × 红色 LED 灯
1 × 水杯
3 × 3P带扣杜邦线
主要组件介绍
水位传感器
水位传感器的工作原理非常简单。
该传感器具有一系列的共十条裸露的铜线,其中五个是电源铜线,另外五个是感测铜线。 这些走线是隔行排列的,因此每两个电源铜线之间就有一个感测铜线。
通常,这些迹线没有连接,但浸入水中时会被水桥接。 这些被水连接起来的铜线,根据水浸没的程度,电流的流通量会不一样。 就好像一个可变电阻(就像一个电位器),其电阻根据水位的变化而变化。 电阻的变化与传感器浸没的多少相对应。
电阻与水的高度成反比,原因如下: 传感器浸入的水越多,导电性就越好,阻力就越小,连通的电量值就越大。 传感器浸入的水越少,导电性越差,电阻越大,连通的电量值就越小。 传感器根据电阻产生输出电压,通过测量我们可以确定水位。
然而,纯净水是不导电的,水中的矿物质和杂质才使其具有导电性。 也就所以,在你的实验当中得出的数值会有可能与我实验的不一样。
在用作雨滴传感器也是一样的原理,雨水滴在排列的铜线表面,就可以产生连接,从而产生导电电量,就有模拟型号的变化。
硬件连接
按照下面连接示意图,将您的元器件连接起来:
MicroBlocks 图形化编程
CircuitPython 代码编程
from WuKong2040 import * # 导入WuKong2040库,使用板载蜂鸣器发出声音
from Waterlevel import * # 导入水位传感器库,获取水位传感器返回的值
from LED import * # 导入LED灯库,设置LED灯亮灭
import time # 导入时间库,控制程序运行中断时间
waterlevel = Waterlevel(board.GP26) # 创建水位传感器对象并传入引脚号
led1 = LED(board.GP0) # 创建绿色灯对象并传入引脚号
led2 = LED(board.GP2) # 创建红色灯对象并引入引脚号
while True:
waterlevel_value = waterlevel.get_waterlevel() # 将水位传感器返回的值赋值给waterlevel_value
if waterlevel_value < 20000:
led1.set_led(0) # 设置LED灯亮灭,0代表灭,1代表亮
led2.set_led(1)
music.play(music.DADADADUM) # 播放一段旋律
else:
led1.set_led(1)
led2.set_led(0)
time.sleep(1)
案例演示
思考
请问您能否将光线传感器加入到这个案例中,当光线强度达到一定值时红色 LED 灯亮起?