精帖  树莓派使用液位传感器 水位探测 液滴传感器水位传感器

By 管理员6

2023-05-15 21:07:05

浏览量44717

已赞14

 ► 传感器使用演示视频


产品如下图:

 ➥ 传感器点此购买链接

Image

首先我们需要了解该模块的逻辑是输出电压随着浸入液体水的深度从而增大,模块主要是利用三极管的电流放大原理,当入液体位高度使三极管的基极与电源正极导通的时候,在三极管的基极和发射极之间就会产生一定大小的电流,此时在三极管的集电极和发射极之间就会产生一个一定放大倍数的电流,该电流经过发射极的电阻产生电压供AD转换器采集。

模块参数

工作电压:2.0V ~ 5.0V

检测深度:48mm

产品尺寸:19.0mm * 63.0mm

固定孔尺寸:2.0mm

VCC:接2.0V ~ 5.0V

GND:接GND

AOUT:接MCU.IO (模拟量输出)

一:在树莓派上使用:

硬件连接:

Image

打开树莓派终端,执行以下命令:

sudo apt-get install p7zip-full
cd ~
sudo wget  https://www.waveshare.net/w/upload/a/a0/Liquid-Level-Sensor-code.7z
7z x Liquid-Level-Sensor-code.7z -o./Liquid-Level-Sensor-code
cd ~/Liquid-Level-Sensor-code
cd Pico/c/build/

例程使用:

C部分

以下教程为在树莓派上操作,但由于cmake的多平台、可移植的特点,在PC上也是能成功编译,但操作略有不同,需用户自行判断。进行编译,请确保在c目录:

cd ~/Liquid-Level-Sensor-code/Pico/c/
在文件夹中创建并进入build目录,并添加SDK: 其中 ../../pico-sdk 是你的SDK的目录。 我们示例程序中是有build的,直接进入即可

cd build
export PICO_SDK_PATH=../../pico-sdk
(注意:务必写对你自己的SDK所在路径)
执行cmake自动生成Makefile文件

cmake ..
执行make生成可执行文件,第一次编译时间比较久

make -j9
编译完成,会生成uf2文件。 按住Pico板上的按键,将pico通过Micro USB线接到树莓派的USB接口,然后松开按键。接入之后,树莓派会自动识别到一个可移动盘(RPI-RP2),将build文件夹下的main.uf2 文件复制到识别的可移动盘(RPI-RP2)中即可。

cp main.uf2 /media/pi/RPI-RP2/

Python部分

1.打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)

2.点击工具->设置->解释器,如图所示选择Pico及对应的端口

Image

本例程提供了一个程序:

5.文件->打开->Liquid Level Sensor.py,点击运行即可,如下图所示:

Image

树莓派环境下的使用

1.刷固件的过程与Windows上一样,你可以选择在PC或者树莓派上将rp2-pico-20210418-v1.15.uf2 文件拷入pico中。

2.在树莓派上打开Thonny IDE (点击树莓logo -> Programming -> Thonny Python IDE ),你可以在Help->About Thonny查看版本信息,以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口

如图所示:

Image

如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE

sudo apt upgrade thonny

3.点击File->Open...->python/Liquid Level Sensor.py,运行脚本即可


检测状态:

模块插入水中,串口输出数据,水位越高,数据越大。


二:在STM32上使用教程

我们提供的例程是基于STM32F103RBT6跟STM32H743的,提供的连接方式是对应的STM32F103RBT6的引脚为例,如果有需要使用其他STM32,请按实际引脚连接

硬件接线方式:

ImageImage

软件说明:

例程是基于HAL库进行开发的。 请在资料里面下载程序,找到STM32程序文件目录,打开Liquid-Level-Sensor-code\STM32\STM32F103RB\MDK-ARM

目录下的Liquid Level Sensor.uvprojx,即可看到程序。(图片只做参考)

Image

打开main.c,重新编译下载即可。

Image

下载成功后,运行SSCOM连接Liquid Level模块,就可以实时查看传感器的状态啦。

Image

检测状态:

模块插入水中,串口输出数据, 水位越高,数据越大。


三:在Arduino上使用教程

本例程已经在Arduino uno上测试通过,直接按下表连接Arduino uno即可

ImageImage

打开arduino IDE 运行程序:

在我们提供的资料里面下载程序,并解压,再进入Liquid-Level-Sensor-code/Arduino/Liquid_Level_Sensor目录下

双击打开Liquid_Level_Sensor.ino文件。

选择你的开发板,跟对应的端口。

Image

进行编译下载,如下图:

Image

检测状态:模块插入水中,串口输出数据, 水位越高,数据越大。


资源下载:

1.原理图

2.演示视频

3.示例程序


本文章最后由 超级版主2023-11-12 21:15 编辑
发表评论
请先 注册/登录 后参与评论

已有3 发布

默认   热门   正序   倒序
查看更多评论
(14) 分享
分享

扫二维码或复制链接分享该篇文章

取消
已有1次打赏
菲猫打赏给楼主1金币,2023-05-18 03:42:30
本站免责声明
1、本站资源,均来自网络或个人用户发布,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !

侵权删除请致信 E-Mail:cxg88@qq.com