37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 ESP32 WiFi蓝牙4MB4闪存UNO R32开发板模块 UNO D1 R32(ESP32)开发板 兼容Arduino

 知识点:ESP32芯片
(包括:ESP32- d0wd、ESP32- d0wdq6、ESP32- d2wd、ESP32- s0wd)集成了Wi-Fi和双模式蓝牙。根据型号差异,ESP32包含一个或两个低功耗Xtensa®32位LX6微处理器(s),最大时钟速度240 MHz(通常是160 MHz)和Xtensa RAM / ROM,本地内存和JTAG接口。

 
处理器:
 主处理器: Tensilica Xtensa 32位LX6微处理器
 核心: 2 或 1(取决于变化)除ESP32-S0WD为单核外,ESP32系列所有芯片均为双核。
 时钟频率:高达 240 MHz
 性能:高达 600 DMIPS
 超低功耗协处理器: 允许您在深度睡眠时进行 ADC 转换、计算和电平阈值。
 无线连接:
 的Wi-Fi: 802.11 B / G / N / E / I(802.11n标准@ 2.4GHz的高达150兆比特/秒)
 蓝牙: v4.2 BR/EDR 和蓝牙低功耗 (BLE)
 记忆:
 内部存储器:
 ROM: 448 KiB用于启动和核心功能。
 SRAM: 520 KiB用于数据和指令。
 RTC 快速 SRAM: 8 KiB用于从深度睡眠模式进行 RTC 启动期间的数据存储和主 CPU。
 RTC 慢速 SRAM: 8 KiB用于深度睡眠模式下的协处理器访问。
 电子保险丝: 1 Kibit其中 256 位用于系统(MAC 地址和芯片配置),其余 768 位保留用于客户应用,包括 Flash-Encryption 和 Chip-ID。
 嵌入式闪存:Flash 通过 ESP32-D2WD 和 ESP32-PICO-D4 上的 IO16、IO17、SD_CMD、SD_CLK、SD_DATA_0 和 SD_DATA_1 内部连接。
 0 MiB(ESP32-D0WDQ6、ESP32-D0WD 和 ESP32-S0WD 芯片)
 2 MiB(ESP32-D2WD 芯片)
 4 MiB(ESP32-PICO-D4 SiP 模块)
 外部闪存和 SRAM: ESP32 最多支持四个 16 MiB 外部 QSPI闪存和 SRAM,具有基于 AES 的硬件加密,以保护开发人员的程序和数据。ESP32 可以通过高速缓存访问外部 QSPI flash 和 SRAM。
 高达 16 MiB 的外部闪存被内存映射到 CPU 代码空间,支持 8 位、16 位和 32 位访问。支持代码执行。
 多达 8 MiB 的外部闪存/SRAM 存储器映射到 CPU 数据空间,支持 8 位、16 位和 32 位访问。闪存和 SRAM 支持数据读取。SRAM 支持数据写入。
 带有嵌入式 flash 的 ESP32 芯片不支持外部 flash 和外设之间的地址映射。
 外设输入/输出:带有 DMA 的丰富外设接口,包括电容式触摸、ADC(模数转换器)、DAC(数模转换器)、I²C(内部集成电路)、UART(通用异步接收器/发送器) )、CAN 2.0(控制器局域网)、SPI(串行外设接口)、I²S(集成 IC 间声音)、RMII(简化的媒体独立接口)、PWM(脉宽调制)等。
 安全:
 支持 IEEE 802.11 标准安全功能,包括 WFA、WPA/WPA2 和 WAPI
 安全启动
 闪存加密
 1024位OTP,客户最高768位
 加密硬件加速:AES、SHA-2、RSA、椭圆曲线加密(ECC)、随机数生成器(RNG)

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目之十: 串口数据收发
 实验开源仿真编程(Linkboy V4.60)

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目之十: 串口数据收发
 实验开源仿真编程(Linkboy V4.60)
 项目串口返回情况

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目之十: 串口数据收发
 实验开源仿真编程(Linkboy V4.60)
项目仿真运行的动态图
 
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目十一:读取模拟量串口发送数值
 实验开源仿真编程(Linkboy V4.60)

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目十一:读取模拟量串口发送数值
 实验开源仿真编程(Linkboy V4.60)
 项目串口返回情况

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目十一:读取模拟量串口发送数值
 实验开源仿真编程(Linkboy V4.60)
项目仿真运行的动态图

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目十二:随机数与读取模拟量
 实验开源仿真编程(Linkboy V4.60)

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目十二:随机数与读取模拟量
 实验开源仿真编程(Linkboy V4.60)
项目仿真运行的动态图

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目十二:随机数与读取模拟量
 实验开源仿真编程(Linkboy V4.60)
实验场景图

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目十三: 使用 ledcWrite 函数淡入淡出LED
 实验接线:LED 引脚 ==> D18 实验开源代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十七:Wemos D1 R32 ESP32开发板
  项目十三: 使用 ledcWrite 函数淡入淡出LED
  实验接线:LED 引脚 ==> D18
*/
//使用 16 个通道中的第一个通道(从零开始)
#define LEDC_CHANNEL_0     0
// 为 LEDC 定时器使用 13 位精度
#define LEDC_TIMER_13_BIT  13
// 使用 5000 Hz 作为 LEDC 基频
#define LEDC_BASE_FREQ     5000
// 淡出 LED PIN(替换为内置 LED 的 LED_BUILTIN 常量)
#define LED_PIN            18
int brightness = 0;    // LED有多亮
int fadeAmount = 5;    // 多少个点使 LED 褪色
// Arduino 喜欢模拟
// 值必须介于 0 和最大值之间
void ledcAnalogWrite(uint8_t channel, uint32_t value, uint32_t valueMax = 255) {
  // calculate duty, 8191 from 2 ^ 13 - 1
  uint32_t duty = (8191 / valueMax) * min(value, valueMax);
  // 向 LEDC 写入任务
  ledcWrite(channel, duty);
}
void setup() {
  // Setup timer and attach timer to a led pin
  ledcSetup(LEDC_CHANNEL_0, LEDC_BASE_FREQ, LEDC_TIMER_13_BIT);
  ledcAttachPin(LED_PIN, LEDC_CHANNEL_0);
}
void loop() {
  // set the brightness on LEDC channel 0
  ledcAnalogWrite(LEDC_CHANNEL_0, brightness);
  // 下次通过循环更改亮度:
  brightness = brightness + fadeAmount;
  // 在淡入淡出结束时反转淡入淡出的方向:
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  // 等待20毫秒看调光效果
  delay(20);
}
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验一百七十七:Wemos D1 R32 ESP32开发板
 项目十三: 使用 ledcWrite 函数淡入淡出LED
实验场景图




















