ESP8266Arduino编程实例I2C设备地址扫描
ESP8266-Arduino编程实例-I2C设备地址扫描I2C设备地址扫描I2C 总线是飞利浦在 80 年代初设计的,用于允许位于同一电路板上的组件之间轻松通信。有时总线称为 IIC 或 I²C 总线。
I2C 不仅用于单板,还用于连接通过电缆连接的组件。 简单性和灵活性是使该总线对许多应用程序具有吸引力的关键特性。
最重要的功能包括:
只需要两根接线
没有严格的波特率要求,例如 RS232,主机生成总线时钟
所有组件之间存在简单的主/从关系
连接到总线的每个设备都可以通过唯一地址进行软件寻址
I2C 是真正的多主机总线,提供仲裁和冲突检测
有时,不知道I2C设备的地址,需要查询设备地址。本实例将演示如何扫描I2C总线上从设备的地址。
1、硬件准备
ESP8266 NodeMCU开发板一块
数据线一条
I2C传感器模块
I2C总线扩展板
2、软件准备
Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:
开发环境搭建-基于Arduino IDE
开发环境搭建-基于Platfor ...
ESP8266Arduino编程实例EEPROM读写
ESP8266-Arduino编程实例-EEPROM读写EEPROM读写EEPROM(也称为E2PROM)代表电可擦可编程只读存储器,是一种用于计算机的非易失性存储器,集成在用于智能卡和远程无钥匙系统的微控制器中,以及其他电子设备中存储相对少量的数据 通过允许单个字节被擦除和重新编程。
EEPROM 被组织为浮栅晶体管阵列。 通过应用特殊的编程信号,可以对 EEPROM 进行在线编程和擦除。 最初,EEPROM 仅限于单字节操作,这使其速度较慢,但现代 EEPROM 允许多字节页面操作。 EEPROM 的擦除和重新编程寿命有限,现在在现代 EEPROM 中已达到一百万次操作。 在频繁重新编程的 EEPROM 中,EEPROM 的寿命是一个重要的设计考虑因素。
ESP8266 有 512 字节的内部 EEPROM,如果需要存储一些设置,例如 IP 地址或一些 Wifi 详细信息,这可能很有用。
1、硬件准备
ESP8266 NodeMCU开发板一块
数据线一条
2、软件准备
Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开 ...
ESP8266Arduino编程实例DS18B20温度传感器驱动
ESP8266-Arduino编程实例-DS18B20温度传感器驱动DS18B20温度传感器驱动1、DS18B20简单介绍DS18B20 是一款温度传感器,可用于各种简单的项目。 通过使用 One-Wire总线,可以将多个传感器连接到ESP8266。
DS18B20 的成本也相对较低,只需要一个额外的 4k7 上拉电阻。在本文中,将创建一个基本示例,通过串行读取温度和输出,并且可以使用 Arduino IDE 中的串行监视器进行验证。
在前面的文章中,对DS18B20做了详细的描述,请参考:
Arduino与Proteus仿真实例-DS18B20温度传感器驱动仿真
8051单片机Proteus仿真与开发实例–DS18B20温度传感器仿真
Ardunio开发实例-DS18B20温度传感器使用
ESP32-IDF开发实例-传感器模块编程-DS18B20数字温度传感器
2、硬件准备
ESP8266 NodeMCU开发板一块
DS18B20温度传感器模块一个
4k7电阻一个
面板板一个
杜邦线若干
数据线一条
硬件接线图如下:
3、软件准备
Arduino IDE或VSCode ...
ESP8266Arduino编程实例BMP180气压温度传感器驱动
ESP8266-Arduino编程实例-BMP180气压温度传感器驱动BMP180气压温度传感器驱动1、BMP180介绍BMP180 是用于测量气压和温度的最佳低成本传感解决方案。 传感器焊接在带有 3.3V 稳压器、I2C 电平转换器和 I2C 引脚上的上拉电阻的 PCB 上。 BMP180 取代了 BMP085。
BMP180有如下特点:
压力感应范围:300-1100 hPa(海拔9000m至-500m)
分辨率高达 0.03hPa / 0.25m
-40 至 +85°C 工作范围,±2°C 温度精度
在前面的文章中,对BMP180做了介绍,请参考:
Ardunio开发实例-BMP180气压传感器
Arduino与Proteus仿真实例-BMP180环境传感器驱动仿真
2、硬件准备
ESP8266 NodeMCU开发板一块
BMP180气压温度传感器模块一个
面板板一个
杜邦线若干
数据线一条
硬件接线图如下:
3、软件准备
Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍, ...
ESP8266Arduino编程实例HCSR04超声波传感器驱动
ESP8266-Arduino编程实例-HC-SR04超声波传感器驱动HC-SR04超声波传感器驱动1、HC-SR04简单介绍HC-SR04 超声波传感器使用声纳来确定与蝙蝠或海豚等物体的距离。 超声波测距模块HC-SR04提供2cm-400cm测量,测距精度可达3mm。 该模块包括超声波发射器、接收器和控制电路。
HC-SR04 超声波传感器的工作流程如下:
至少10us高电平信号的IO触发
模块自动发送 8 个 40 kHz 并检测是否有脉冲信号返回。
如果有信号返回,通过高电平,高电平输出IO持续时间是从发出超声波脉冲到返回的时间。
测试距离 =(高电平时间 × 声速(340M/s)/ 2)
2、硬件准备
ESP8266 NodeMCU开发板一块
HC-SR04传感器模块一个
面板板一个
杜邦线若干
数据线一条
硬件接线图如下:
3、软件准备
Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:
ESP8266-Arduino编程实例-开发环境搭建 ...
ESP8266Arduino编程实例PIR被动红外传感器驱动
ESP8266-Arduino编程实例-PIR(被动红外)传感器驱动PIR(被动红外)传感器驱动1、PIR传感器介绍被动红外传感器(PIR 传感器)是一种电子传感器,可测量从其视野内的物体辐射的红外 (IR) 光。
单个 PIR 传感器可检测照射在其上的红外辐射量的变化,该变化取决于传感器前面物体的温度和表面特性。 当一个物体(例如人)从背景(例如墙壁)前面经过时,传感器视场中该点的温度将从室温升至体温,然后再返回。 传感器将入射红外辐射的变化转换为输出电压的变化,从而触发检测。 温度相似但表面特征不同的物体也可能具有不同的红外发射模式,因此相对于背景移动它们也可能触发检测器。
PIR 具有多种配置,适用于各种应用。 最常见的型号有许多菲涅耳透镜或反射镜段,有效范围约为 10 米(30 英尺),视野小于 180 度。 提供具有更宽视野(包括 360 度)的型号,通常设计安装在天花板上。 一些较大的 PIR 由单段镜制成,可以感应距离 PIR 一百英尺以外的红外能量变化。 也有设计有可逆定向镜的 PIR,允许广泛覆盖(110° 宽)或非常窄的“幕”覆盖,或具有单独选择的部分来“塑造” ...
ESP8266Arduino编程实例HDC1008温度湿度传感器驱动
ESP8266-Arduino编程实例-HDC1008温度湿度传感器驱动HDC1008温度湿度传感器驱动1、HDC1008传感器介绍HDC1008 是一款集成温度传感器的数字湿度传感器,可在极低功耗下提供出色的测量精度。 该设备基于一种新型电容传感器测量湿度。 湿度和温度传感器经过工厂校准。
HDC1008 的传感元件位于设备的底部,这使得 HDC1008 对污垢、灰尘和其他环境污染物更加稳健。 HDC1008 在整个 –40°C 至 +125°C 温度范围内工作。
主要特性如下:
相对湿度 (RH) 工作范围 0% 至 100%
14 位测量分辨率
相对湿度精度 ±3%
温度精度 ±0.2°C
电源电压 3 V 至 5 V
I2C 接口
2、硬件准备
ESP8266 NodeMCU开发板一块
HDC1008感器模块一个
面板板一个
杜邦线若干
数据线一条
硬件接线图如下:
3、软件准备
Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:
ESP8266-Arduino编程实例-开发环 ...
ESP8266Arduino编程实例MCP9808数字温度传感器驱动
ESP8266-Arduino编程实例-MCP9808数字温度传感器驱动MCP9808数字温度传感器驱动1、MCP9808传感器介绍MCP9808 数字温度传感器将 -20°C 和 +100°C 之间的温度转换为精度为 ±0.5°C(最大值)的数字字。 MCP9808 带有用户可编程寄存器,可为温度传感应用提供灵活性。这些寄存器允许用户选择设置,例如关断或低功耗模式以及温度事件和临界输出边界的规范。
当温度变化超出规定的边界限值时,MCP9808 会输出一个事件信号。用户可以选择将事件输出信号极性设置为低电平有效或高电平有效的比较器输出以用于恒温器操作,或设置为基于微处理器的系统的温度事件中断输出。事件输出也可以配置为临界温度输出。该传感器具有行业标准的 2 线、SMBus 和兼容标准 I2C™ 的兼容(100kHz/400kHz 总线时钟)串行接口,允许在单个串行总线中控制多达 8 个传感器。
MCP9808有如下特性:
MCP9808的精度如下:
±0.25°C(典型值)从 -40°C 到 +125°C
±0.5°C(最大值)从 -20°C 到 +100°C
...
ESP8266Arduino编程实例MLX90614红外测温传感器驱动
ESP8266-Arduino编程实例-MLX90614红外测温传感器驱动MLX90614红外测温传感器驱动1、MLX90614传感器介绍MLX90614 是一款非接触式红外测温仪,测量范围为 -70 至 +380 摄氏度。
MLX90614有以下特性:
体积小,成本低
安装在带有两种引脚的分线板上
用于 I2C 接口的 10k 上拉电阻,带有可选的焊接跳线
在宽温度范围内进行工厂校准:
-40 ~ + 125 °C 用于传感器温度和
-70 ~ + 380 °C 用于物体温度。
在宽温度范围内具有 0.5 °C 的高精度(Ta 和 To 均为 0 … + 50 °C) 高(医疗)精度校准
测量分辨率0.02°C
单区和双区版本
SMBus 兼容数字接口
用于连续读取的可定制 PWM 输出
睡眠模式可降低功耗
2、硬件准备
ESP8266 NodeMCU开发板一块
MLX90614感器模块一个
面板板一个
杜邦线若干
数据线一条
硬件接线图如下:
3、软件准备
Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环 ...
ESP8266Arduino编程实例GA1A12S202对数刻度模拟光传感器
ESP8266-Arduino编程实例-GA1A12S202对数刻度模拟光传感器GA1A12S202 对数刻度模拟光传感器1、GA1A12S202介绍GA1A12S202 传感器在 3 到 55,000 Lux 的大动态范围内是对数的,因此它在低光照水平下具有很高的灵敏度,但也几乎不可能“最大化”,因此可以在室内或室外使用它而无需更改代码或校准。
GA1A12S202 传感器分接头体积小,易于集成到任何项目中。它对 CdS 光电管进行了很好的升级。它不需要微控制器,模拟电压输出随着照射在传感器表面的光量而增加。使用它来构建 photovore、自动照明系统、光度计或任何数量的光敏/光反应项目。
2、硬件准备
ESP8266 NodeMCU开发板一块
MLX90614感器模块一个
面板板一个
杜邦线若干
数据线一条
硬件接线图如下:
3、软件准备
Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:
ESP8266-Arduino编程实例-开发环境搭建(基于Arduino IDE) ...
