arduino 开发:基于ESP32S 的第一个简单应用

  • 前言
  • 设备选择
  • 使用步骤
    • 1.导入库
    • 2.读入数据
  • 烧录程序
  • 总结

前言

在上一篇文档 arduino开发指导 的时候介绍了什么是 arduino 以及 arduino 开发环境的搭建,但是仅仅是简单提及了一下使用官方的 demo 验证板子起来了,现在来尝试写第一个简单的 arduino 应用:红外测温枪。︿( ̄︶ ̄)︿

设备选择

这里我选择的是之前推荐的安信可 ESP32S 开发板 传感器用的 GY906 (MLX90614ESF )。通信方式是 I2C (IIC)会用到 ESP32S 的 P21 引脚(对应 I2C 的 SDA) 和 P22 引脚 (对应 I2C 的 SCL)。
这里发一下 安信可官方的 ESP32S 引脚图:这里并不能看出 I2C 引脚 (-_-||)

这是帮助我找到 I2C 引脚的引脚图(感谢知乎的兄弟分享o( ̄▽ ̄)d):

这是 DF家的 ESP32E 引脚,基本上差不多,也很有参考价值:

使用步骤

1.导入库

上一篇文档 有详细的选择库的教程,这里我主要说一下如何导入网上找的第三方库。

简单一点就是把库文件夹,放到arduino安装目录下的 libraries 文件夹里:
然后在 arduino-IDE 中添加即可:

2.读入数据

MLX90614ESF 库写得已经非常完善了,我们不需要再去配置什么 I2C 地址和命令,只要在 setup 之前声明一个 mlx 类,

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

然后直接调用对应的接口就可以启动传感器

  // 启动红外模块mlx.begin();

获取数据

  double readObjectTempC(void);      // 获取目标的摄氏温度double readAmbientTempC(void);     // 获取周围环境的摄氏温度double readObjectTempF(void);      // 获取目标的华氏温度double readAmbientTempF(void);     // 获取周围环境的华氏温度

之后在 steup 中设置波特率,然后在 loop 通过串口将数据打印出来就行

Serial.begin(115200);                 // 设置串口波特率
Serial.print(mlx.readAmbientTempC()); // 将周围环境的摄氏温度打印到串口上

烧录程序

之后点击 IDE 的右上角图标(图中1位置)打开串口监视器 ,然后点击图中2图标保存文件,点击3位置图标编译上传应用程序。就能探测到感应到温度了!不过数据好像不太准 我怎么可能才32度(ノ ̄▽ ̄)

注意串口监视器 波特路与代码保持一致

总结

之前入手了一个 Spirit 1 爱智盒子,本来这次想结合 Spirit 1 做一个更吊的智能红外测温传感器的,监控我房间温度,但是 Spirit 1 真就没搭载调试程序,官方也没有提供,结果我 ESP32S 连上设备之后,我发过去的消息也看不到,也没办法用发命令给板子只能被设备发现,什么都干不了 (╯‵□′)╯︵┻━┻ 。不过还好,Spirit 1 可以自己进行应用开发,我研究一下,自己写一个调试 demo 再做智能设备吧。o( ̄▽ ̄)d

本文仅个人学习使用,如有错误,欢迎指正, ( ੭ ˙ᗜ˙ )੭谢谢老板!

手把手带你 arduino 开发:基于ESP32S 的第一个应用-红外测温枪(带引脚图)相关推荐

  1. 利用Arduino开发板制作RGB全彩LED灯

    制作所需组件 RGB LED灯 1 个 220欧电阻 3 个 Arduino开发板 1 块 面包 1 块 跳线 4 根 电路原理图 电路图搭建过程 将RGB LED灯接入面包板 将3个电阻的一端引脚分 ...

  2. 基于Arduino开发的智能蓝牙小车

    基于Arduino的智能蓝牙小车 材料准备: Arduino开发板一块.四驱小车底板及相关配件一套.L298N驱动模块一个.HC-05/06蓝牙模块一块,九伏电源一块(用于主板供电).12V锂电池一块 ...

  3. 手把手教你Linux下基于ITK开发基础(1)

    手把手教你Linux下基于ITK开发基础(1) *requirement: requirement version git 2.17.1 g++ Ubuntu 7.5.0-3 ubuntu1~18.0 ...

  4. 查看gpio状态_基于Arduino开发,借助blinker平台,让NodeMCU实现8路继电器APP端状态监视和控制...

    基于Arduino开发,借助blinker物联网平台,让NodeMCU实现8路继电器APP端状态监视和控制 先上开发板功能图: 本文利用了NodeMCU上的D0-D3,D5-D9,总共 8个 GPIO ...

  5. 基于Arduino开发板的文本转语音(TTS)转换器

    文本转语音(TTS系统)能够将普通文本转换为语音.这种技术使系统能够用人声说出文本.有许多文本转语音转换的例子,例如公共交通公告.客户服务电话.智能手机中的语音助手或一些机器的导航菜单.您甚至可以在M ...

  6. W806 基于Arduino开发的GPIO操作示例,勇于尝新

    W806 基于Arduino的点灯实验的 一.写在前面 1. W806芯片参数: 2. MCU 特性: 3. 供电: 二.环境准备,添加支持包 三.打开永恒的LED测试 四.总结 一.写在前面 w80 ...

  7. Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法

    Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法 首先,我们来看一下Arduino UNO开发板的具体引脚排列,如下图所示, 再了解一下三色RGB LED模块,如下图所示 ...

  8. 利用HFS软件一分钟搭建好ESP8266基于Arduino开发环境

    利用HFS一分钟搭建好ESP8266基于Arduino开发环境

  9. arduino编码器计数_基于Arduino开发环境的光电编码器检测仪设计方案 - 全文

    0 引言 Arduino是一款基于单片机系统的电子产品开发平台,它的软硬件系统都具有高度的模块化,而且软件系统是完全开源的.其硬件系统也是高度模块化的,在核心控制板的外围有开关量输入/输出模块.各种模 ...

最新文章

  1. xcode6 dyld_sim is not owned by root
  2. 国内外最顶级的8款OKR管理工具盘点
  3. You are my brother
  4. [原] Unity调用android版新浪微博
  5. mysql 对多列进行排序 分组,尝试从多列全文mysql搜索中对结果进行排序
  6. leetcode 1707. 与数组中元素的最大异或值
  7. vmstat命令列出的属性详解
  8. JavaWeb中验证码的实现
  9. GNU/Linux jpg、png、gif 与 eps 格式的相互转换
  10. 目前最全的R语言-图片的组合与拼接
  11. windows 核心编程下的内存映射文件
  12. 自主知识产权 曙光龙芯3号服务器将面市
  13. 台式电脑开机显示蓝屏 检查计算机上的病毒,电脑出现蓝屏是怎么回事
  14. orb-slam2 从单目开始的简单学习(7):Optimizer
  15. php水解蛋白技术,乳蛋白部分水解配方奶粉:美赞臣亲舒
  16. MySQL主从一致的校验
  17. Qt之QML虚拟键盘
  18. 3.mysql基本数据类型
  19. 2021年广西卫生系统副高考试成绩查询,中国卫生人才网-2021卫生职称考试成绩查询官网-国家卫生人才网...
  20. fastjson 2

热门文章

  1. overflow的属性值说明
  2. 如何判断一个点在矩形或多边形内
  3. C语言beep中有什么作用,C++中发声函数Beep用法
  4. Kafka入门教程(一)
  5. php模拟苹果手机访问,php 使用curl模拟ip和来源进行访问的实现方法
  6. 上传身份证百度ocr识别
  7. IOS开发—— 获取AppDelegate的属性或字段
  8. 如何评价「仙剑奇侠传六」使用Unity 3D引擎?
  9. 营收输给小米、多元化屡战屡败,格力电器还有翻身的机会吗?
  10. linux修改系统时区为上海