大家好,今天笔者要跟大家分享一款“温湿度计”的制作,一说到温湿度检测,或许大家第一个想到的就是DHT11了吧,单总线接口,操作方便,或者就是SHT2X系列的,IIC总线接口,编程也是比较简单。但是你们可能想错了,笔者今天要介绍的主角不是他们。

我们在设计产品的时候,很多时候不仅仅要考虑到体积,同时也要考虑成本,然而上面两类传感器,DHT11的体积显然是比较大的,SHT2X系列的传感器,成本也会让人望而生畏。那么,有没有一款体积又小,价格又相对比较便宜的温湿度传感器呢?答案自然是肯定的!这不,今天笔者要给大家介绍的这款也是由奥松电子出品的温湿度传感器AHT10,既体积小,价格又相对比较便宜,当然,最重要的是精度也不差!

我们先来看一下这款温湿度传感器的参数基本参数,如下图所示:

我们先来看一下这款温湿度传感器的参数基本参数,如下图所示:

接下来,我们再来看一下它的尺寸和封装,双列扁平无引脚SMD封装,体积仅有541.6mm,也算的上是非常的小巧了(当然,比SHT20的尺寸32.41.1来说,还是要大了一点,但是比起DHT11的尺寸15.5125.5mm来说,小了就不是那么一点点了):

至于价格方面嘛,DHT11在某宝差异比较大,有2块多的,也有5块多的,在某商城的价格基本在4.5左右(含税),SHT20含税在6块多一点,AHT10在某商城没看到,某宝基本在3.5左右!初步看来,AHT10的性价比似乎要高一些。

好了,关于这几款传感器就简单略过,毕竟他们不是本文的重点,因为今天笔者主要是要跟大家介绍AHT10这款传感器的应用。下图是笔者设计的一款产品,至于产品的用途就不多说了,这款板子上所用到的用于温湿度检测的传感器就是这款AHT10:

为了便于SMT加工,主要元件基本都放置在了板子的背面,我们再来看下板子的正面,是由一个OLED模块和4个按键组成:

主控MCU是用的STC8A8K64S4A12这款最新出的单片机,OLED模块用的中景园的IIC接口的0.96寸OLED模块,分辨率是128*64;

ATH10的控制也很简单,直接IIC接口,除电源线外,另外只需2根线(SCL和SDA)即可,只是这里需要注意几点:

  1. 产品在电路使用中主机MCU的供电电压必须与传感器一致;

  2. IIC总线上仅能连接单个AHT10,且不能连接其它IIC器件。

好了,硬件部分连线很简单,就不多说了,接下来我们看软体设计部分,我们先来看下OLED界面,即最终我们要显示的效果:

OLED界面设计大致思路是这样的:我们将分辨率为128*64的OLED屏分成8行,其中:

  • 第0-1行,用来显示“温湿度计”4个16*16的汉字;

  • 第3-4行,用来显示温度信息;

  • 第6-7行,用来显示湿度信息;

于是,在程序中我们便可以这样设计:

这里用到了三个显示函数, OLED_ShowCHinese()、OLED_ShowNum()和OLED_ShowString(),分别用来显示汉字、数字和字符,其中OLED_ShowCHinese()函数的原型如下,兼容了1616和3232两种大小的字体:

另外,OLED_ShowNum()函数和OLED_ShowString()函数的原型分别如下图所示:

跟OLED相关的驱动,基本都是由中景园提供的例程,然后做了一些不同大小字体匹配的修改,大家要是有什么不明白的地方,可以直接查看官方提供的资料,在此笔者也就不多说什么了。

关于字体取模,笔者也简单说下,利用中景园提供的取模软件,大致操作流程如下:

1、    将取模模式设置为“字符模式”:

2、    设置字模相关的参数:

3、    设置字体及字号,然后输入我们要取模的汉字或字符,点击“生成字模”即可:

接下来,我们只需要将取模生产的文件复制到oledfont.h这个字库文件中即可:

当然咯,这个字库文件中本身就给我们提供了不同大小的常用的ASCII表的字库,所以,我们只需要添加其他这个字库中没有的字体即可。大家只要掌握了方法,笔者相信添加字库对大家来说应该是件很简单的事情!最终,笔者的字库文件如下图所示:

接下来,我们就要来看下ATH10的驱动程序,关于AHT10的驱动,官网也提供了基本的例程,所以,笔者也是基于官网例程,再根据身硬件做了一些小改动,官网例程链接:http://www.aosong.com/class-36.html。

接下来,我们就简单分析一下AHT10驱动相关的程序......

点“阅读原文”,查阅完整内容!

dht11温湿度传感器c语言程序_手把手教你DIY一款性价比爆棚的温湿度计!相关推荐

  1. arduino温湿度计库文件_手把手教你DIY最便宜的 arduino 温湿度计,详细图文视频教程...

    原标题:手把手教你DIY最便宜的 arduino 温湿度计,详细图文视频教程 冬天人们经常关注家里的温湿度,南方没有暖气更关注温度,北方因为天气干燥,有暖气,所以更关注湿度.下边介绍一个非常简单,并且 ...

  2. 手把手教你DIY一款属于自己的万能红外遥控器!

    下班刚回到家,天气很热~ 空调遥控器呢?找不到! 躺平不想动~ 风扇遥控器呢?找不到! 想看电视,不想动~ 电视遥控器呢?找不到! 好不容易找到了,遥控器没电?崩溃!!!! 想不想拥有一个万能红外遥控 ...

  3. 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序_手把手教你使用Qlik(一):数据关联并创建应用程序...

    Qlik Sense是下一代自助式数据可视化工具,它让每个人都能够轻松地凭直觉创建一系列灵活.交互的可视化应用去浏览.发现数据. Qlik Sense基于QIX关联数据索引引擎-QIX是Qlik的第二 ...

  4. python国际象棋ai程序_手把手教你用 JavaScript 实现一个简单的国际象棋 AI

    转载请注明出处,保留原文链接以及作者信息 首先让我们先看几个对开发简单国际象棋 AI 很有帮助的概念: 移动生成 局面评估 极大极小算法 α-β 剪枝 每一步中我们都会对经过时间检验的国际象棋程序进行 ...

  5. pixi 小游戏_手把手教你制作一款小游戏【超好玩!】

    想必大家小时候都听说过或玩过4399小游戏(这句话好像暴露了年龄),在当时电脑不算很普及,且没有那么多网游.大型单机游戏的时代,数量众多且种类丰富的网页小游戏使我们的童年增添了非常多的乐趣.诸如黄金矿 ...

  6. python温湿度传感器源代码_在树莓派上读取DHT11温湿度传感器-python代码实现及常见问题(全面简单易懂)...

    最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ...

  7. python温湿度传感器源代码_在树莓派上读取DHT11温湿度传感器python代码实现及常见问题(全面简单易懂)...

    最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ...

  8. ESP32 开发笔记(三)源码示例 8_DHT11_RMT 使用RMT实现读取DHT11温湿度传感器

    开发板购买链接 https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb2Ij1As&ft=t&id=62636 ...

  9. Esp8266 进阶之路19 【外设篇①】esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

最新文章

  1. 【 FPGA/IC 】谈谈复位
  2. Docker容器学习梳理--日常操作总结
  3. ecshop 2.7.x 去版权 lengze.com
  4. 福建职称计算机评聘任,职称聘任工作的有关补充规定(试行)
  5. 计算机竞赛游戏探险岛,冒险岛2五大全新团本综合分析
  6. 北方民族大学计算机全国排名,校友会:全国15所民族类大学排名,这三所大学进入十强...
  7. 帆软报表重要Activator之DesignerInitActivator之五EastRegionContainerPane设计器的属性面板
  8. overscroll-behavior称为“滚动链”
  9. Zabbix故障但是没有错误日志输出的一种解决办法
  10. JavaScript 学习计划
  11. 三边测量定位算法C语言实现
  12. Unity IOS设备陀螺仪控制相机旋转
  13. Mysql - 巧用join来优化sql
  14. xp系统计算机配置在哪里设置,XP系统电脑进行声卡设置的方法介绍
  15. 牛客小白月赛1 F.三视图
  16. cos(a+b)=cosa*cosb-sina*sinb的推导过程
  17. 计算机教师培训项目申报书,课题《基于培养教师信息素养的教学研究》申报书(2013年4月—2015年3月)...
  18. nginx配置区分移动端和PC端,访问不同域名
  19. mysql创建用户并赋权(亲测)
  20. 几种需求、管理与激励的理论

热门文章

  1. 寻找汽车连接的解决方案
  2. 2021年大数据Hadoop(二十五):YARN通俗介绍和基本架构
  3. HarmonyOS UI开发 PositionLayout(位置布局) 的使用
  4. TypeError(“cannot concatenate ‘str‘ and ‘instancemethod‘ objects“,)
  5. Error: Default interface methods are only supported starting with Android N (--min-api 24): java.uti
  6. android.content.res.Resources$NotFoundException: String resource ID #0x1
  7. Manifest merger failed : Attribute application@allowBackup value=(false) 解决方法
  8. android studio 开发环境搭建
  9. 【[SCOI2010]序列操作】
  10. 第七篇 JVM核心机制之JVM运行和类加载全过程(二)