前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >小安派简易 DIY——土壤湿度检测器

小安派简易 DIY——土壤湿度检测器

原创
作者头像
安信可科技
发布2024-10-25 14:28:15
发布2024-10-25 14:28:15
1260
举报
文章被收录于专栏:DIYDIY

用 AiPi-Eyes-DSL 做一些小玩意还是不错的,这次带来的小物品是土壤湿度检测器,其实是非常简单的 DIY,原理在于使用 ADC 采集土壤湿度,再将数据显示到屏幕上,屏幕显示是基于 LVGL 绘制的 UI。

产品展示

物料准备

物料

数量

AiPi-Eyes-DSL(包含 3.5 寸屏幕)

1

电容式土壤湿度传感器

1

电容式土壤湿度传感器比电阻式的更加精准(再也不用担心数值乱飘),这里采用的三线制,VCC、GND 和信号线,输出信号为模拟量。

部分代码展示

1.ADC 部分

这里采用 IO3 作为 adc 采集脚,对应的通道为 3,这里初始化的函数添加了一个函数指针作为回调函数入口,方便后续工具回调函数返回的值,在中断后赋予 adc 结构体中获取电压值,再通过电压值来修改后续的 UI 显示内容。

image.png
image.png

配置为中断方式触发,需要编写一个 adc 的中断回调函数,读取 ADC 的值并且传递给全局变量,注意中断中改变变量值需要注意 volatile 关键字

image.png
image.png

最后编写一个任务执行函数,在对应的初始化函数或者主函数中创建任务即可。

image.png
image.png

UI 部分

UI 部分的代码是使用 GUI-Guider-1.6.1-GA 生成的,具体可以参考我之前写过的 LVGL 文章并添加到工程中,使用图片组件显示。 这里附上链接:(十七)零基础开发小安派-Eyes-S1【进阶篇】——初识 LVGL 并搭建最小工程 - 小安派&M61 零基础开发教程(官方) - 物联网开发者社区-安信可论坛 - Powered by Discuz!

在编写回调函数并在初始化中传递,最终在任务中调用并传入电压值,回调中根据电压值改变文本框的显示内容。

image.png
image.png
image.png
image.png

源码

最后附上源码地址,感兴趣的朋友可以自行拉取。 AiPi-SoilScanner - 码云

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 产品展示
  • 物料准备
  • 部分代码展示
    • 1.ADC 部分
    • UI 部分
  • 源码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档