电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>Diy ESP32智能手表

Diy ESP32智能手表

2022-07-04 | zip | 0.05 MB | 次下载 | 免费

资料介绍

PCB图如下:
pYYBAGKy_LyAZxu8AACc0rMn7zE026.png
poYBAGKy_L6ADy4cAABimjmVVp8653.png

成分

ESP32-S2-WROVER-N4R2
乐鑫系统
× 1
3.3V 5V 串口适配器模块 CH340G USB TTL UART Arduino Pro Mini Bridge × 1
TL6700AF160QG
电子开关
× 3
TL6700AF160QG
电子开关
× 2
CLM3C-MKW-CWaXb233
科锐LED
× 2
AMS1117-5 × 1
BC547BTA
× 1
106SML035MD4
CDE/伊利诺伊电容器
× 3
USB4500-03-0-A
GCT
× 1
I2C IIC 串行 128x64 OLED 显示模块 × 1

描述

Diy ESP32 智能手表

ESP32 是一系列低成本、低功耗的片上系统微控制器,集成了 Wi-Fi 和双模蓝牙。ESP32 系列采用双核和单核版本的 Tensilica Xtensa LX6 微处理器、Xtensa LX7 双核微处理器或单核 RISC-V 微处理器,并包括内置天线开关、RF balun、功率放大器、低噪声接收放大器滤波器电源管理模块。ESP32 由总部位于上海的中国公司 Espressif Systems 创建和开发,并由台积电使用其 40 纳米工艺制造。它是 ESP8266 微控制器的继任者。

规格

当谈到 ESP32 芯片规格时,您会发现:

ESP32 是双核的,这意味着它有 2 个处理器

它内置了Wi-Fi和蓝牙。

它运行 32 位程序。

时钟频率可以高达 240MHz,它有一个 512kB 的 RAM

这个特定的板有 30 或 36 个引脚,每行 15 个。

它还提供多种外围设备,例如:电容式触控、ADCDAC、UART、SPI、I2C 等等。

它带有内置霍尔效应传感器和内置温度传感器

ESP32 引脚指南

与 ESP826 相比,ESP32 具有更多功能更丰富的 GPIO。

使用 ESP32,您可以决定哪些引脚是 UART、I2C 或 SPI——您只需在代码上进行设置。这是可能的,因为 ESP32 芯片的多路复用功能允许将多个功能分配给同一引脚。如果您没有在代码上设置它们,则默认使用引脚 - 如下图所示(引脚位置可能因制造商而异)。

带有 30 个 GPIO 的版本

poYBAGKy_NiAdIfnAACWGJoBpFs799.png

OLED显示模块概述

OLED 显示模块突破了小型单色 OLED 显示屏。它宽 128 像素,高 64 像素,宽 0.96 英寸。它是微型的,但它仍然具有冲击力 - OLED 显示屏由于高对比度而非常易读,并且您可以在其中放置大量的图形。

由于显示器自己发光,因此不需要背光。这显着降低了运行 OLED 所需的功率,这就是为什么显示器具有如此高的对比度、极宽的视角并且可以显示深黑色级别的原因。

pYYBAGKy_NqAc-zRAAArm69Q1qc307.jpg

该模块的核心是一个强大的单芯片 CMOS OLED 驱动控制器 - SSD1306,它处理所有 RAM 缓冲,因此您的 ESP32 只需要做很少的工作。SSD1306 控制器的工作电压范围为 1.65V 至 3.3V – 非常适合与 ESP32 等 3.3V 微控制器连接。

OLED 内存映射

要完全控制您的 OLED 显示模块,了解其内存映射非常重要。

无论 OLED 模块的大小如何,SSD1306 驱动程序都有一个内置的 1KB 图形显示数据 RAM (GDDRAM),用于保存要显示的位模式的屏幕。这 1K 的内存区域被组织成 8 页(从 0 到 7)。每页包含 128 列/段(块 0 到 127)。并且每列可以存储 8 位数据(从 0 到 7)。这肯定告诉我们我们有

8 页 x 128 段 x 8 位数据 = 8192 位 = 1024 字节 = 1KB 内存

下面突出显示了包含页面、段和数据的整个 1K 内存。

poYBAGKy_NyAas--AABaJ7vbBiA441.png

每个位代表屏幕上的特定 OLED 像素,可以通过编程方式打开或关闭。

128×64 OLED 屏幕显示 RAM 的所有内容,而 128×32 OLED 屏幕仅显示 RAM 的 4 页(一半内容)。

将 OLED 显示模块连接到 ESP32

理论说完了,让我们开始实践吧!让我们将显示器连接到 ESP32。

连接相当简单。首先将 VCC 引脚连接到 ESP32 上的 3.3V 输出,然后将 GND 接地。

接下来,将 SCL 引脚连接到 ESP32 上的 I2C 时钟 D22 引脚,并将 SDA 引脚连接到 ESP32 上的 I2C 数据 D21 引脚。请参阅 ESP32 引脚分配。

下图向您展示了如何连接所有东西。

poYBAGKy_N6AUTv4AAB7BNq_feY930.png

带ESP32的 OLED 显示模块的接线连接

有了它,您现在就可以上传一些代码并进行显示打印了。

安装 OLED 显示模块库

OLED 显示器的 SSD1306 控制器具有灵活而复杂的驱动程序。为了使用 SSD1306 控制器,需要大量的内存寻址知识。幸运的是,Adafruit 的 SSD1306 库是为了隐藏 SSD1306 控制器的复杂性而编写的,这样我们就可以发出简单的命令来控制显示器。

要安装库,请导航到 Sketch > Include Library > Manage Libraries... 等待库管理器下载索引并更新已安装库的列表。

pYYBAGKy_OCAB5CeAAAyX70YHHE754.png

通过输入“adafruit ssd1306”过滤您的搜索。应该有几个条目。寻找 Adafruit 的 Adafruit SSD1306。单击该条目,然后选择安装。

poYBAGKy_P2AElueAAAz9hYiPTs094.png

这个 Adafruit SSD1306 库是一个特定于硬件的库,它处理较低级别的函数。它需要与 Adafruit GFX 库配对以显示点、线、圆、矩形等图形基元。也安装此库。

poYBAGKy_P-AZOMdAAAztnJ6Nxc917.png

笔记

该库从 ESP32 分配 1KB(128×64)/8 位)的内存作为缓冲区。因此,它可以操作屏幕缓冲区,然后执行从 ESP32 内存到 SSD1306 控制器内部存储器的批量传输。

修改 Adafruit SSD1306 库

Adafruit 的 SSD1306 库不是为 128×64 OLED 显示器(我们现在使用的显示器)设置的。必须在 Adafruit_SSD1306.h 头文件中更改显示大小以使其适合我们。如果没有改变,错误消息说#error(“高度不正确,请修复Adafruit_SSD1306.h!”);尝试在 Arduino IDE 中验证示例草图时可能会出现:

pYYBAGKy_QKAEsjUAAAUwZXyPUk903.png

要更改 Adafruit_SSD1306.h 头文件,请打开您的速写本位置。通常是我的文档 > Arduino。现在去图书馆> Adafruit_SSD1306

pYYBAGKy_QSAaZtoAABM6r0JyWc666.png

在文本编辑器中打开 Adafruit_SSD1306.h 文件。向下滚动文件以找到带有 SSD1306 显示器的部分或直接转到第 1 行。73. 注释掉#define SSD1306_128_32 并取消注释#define SSD1306_128_64 使本节中的代码如下所示:

pYYBAGKy_QaAB-M8AABGY3YiQP4427.png

而已。现在保存文件并重新启动您的 Arduino IDE。

ESP32 代码 – 显示文本

现在有趣的东西来了!

以下测试草图将打印“Hello World!” 显示屏上的消息。它还包括

显示反转文本

显示数字

显示带基数的数字(十六进制,十二月)

显示 ASCII 符号

水平和垂直滚动文本

滚动显示部分

这将使您全面了解如何使用 OLED 显示器,并可作为更多实际实验和项目的基础。

概念

一个简单的 MicroPython 脚本,用于将带有 oled 的 ESP32 变成智能手表。

poYBAGKy_QmAWLhzAAFqDFM7ikQ471.png

目前它可以连接到互联网,获取天气和时间。接下来,我将使用来自 Google 的 OAuth2ForDevices 和一个将未读邮件保存到 Google Drive 的脚本来添加对 Gmail 的访问。

设置

在您的板上安装 MicroPython。

在 consts_exemple.py 文件中,将以下值替换为您的值

NTW_LIST、WEATHER_API_KEY、GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET

将 consts_exemple.py 重命名为 consts.py。

上传 ESP32 根目录下的 Libs 和 Sources 文件夹中的 consts.py 和 python 文件。您可以使用 Ampy 程序或提供的 upload.sh 脚本来执行此操作。您可以编辑 .ampy 文件以更改默认配置。

运行main.py,就可以使用Ampy了。对于测试就像使用 Esplorer。

工作板

大一号

https://www.banggood.com/Geekcreit-ESP32-OLED-Module-For-Arduino-ESP32-OLED-WiFi-bluetooth-Dual-ESP-32-ESP-32S-ESP8266-p-1148119.html

小一号

https://eu.banggood.com/LILYGO-TTGO-16M-bytes-128M-Bit-Pro-ESP32-OLED-V2_0-Display-WiFi-bluetooth-ESP-32-Module-For-Arduino-p-1205876。 html

oled 未连接到标准 I2C 引脚,其 SDA 引脚为 4,SCL 引脚为 15。您可以通过将 Wire.begin(4, 15) 添加到设置代码来进行设置。显示器的 I2C 地址为 0x3C。您还需要使用 OLED_RST 引脚来启用显示: pinMode(16,OUTPUT); 数字写入(16,低);延迟(50);数字写入(16,高);应用这些设置后,I2CScan 可以找到显示和大多数 SSD1306 Arduino 库工作(例如,Adafruit SSD1306 在将 Wire.begin() 更改为 Wire.begin(4, 15) 并设置复位引脚和 I2C 地址后工作)。

尺寸:25.5mm 高 50mm 宽 5.75mm 厚

具有潜力的未经测试的电路板

最小的

https://www.banggood.com/X-8266-ESP-WROOM-02-ESP32-Rev1-WiFi-bluetooth-Module-OLED-IOT-Electronics-Starter-Kit-p-1272172.html?rmmds=search&ID= 511646&cur_warehouse=CN

有可用的编程板,您可以将这些 SOC 之一插入其中。不同类型的 ESP SOC 有不同的板。您可以在受欢迎的中国供应商处找到它们,也可能在其他地方找到它们。

它们看起来像这样:

pYYBAGKy_QuAH1GmAAC6u7uyOAs975.jpg

ESP32 是一款采用 TSMC 超低功耗 40 纳米技术设计的单 GHz Wi-Fi 和蓝牙组合芯片。它针对最佳功率性能、RF 性能、稳健性、多功能性、特性和可靠性进行设计和优化,适用于各种应用和不同的功率配置文件。

ESP32 是业界集成 Wi-Fi + 蓝牙应用最多的解决方案,外部组件少于 10 个。ESP32 集成了天线开关、RF balun、功率放大器、低噪声接收放大器、滤波器和电源管理模块。因此,整个最小印刷电路板 (PCB) 面积的解决方案。

ESP32 专为移动、可穿戴电子产品物联网 (IoT) 应用而设计。它具有最先进的低功耗芯片的许多特性,包括高分辨率时钟门控、功耗模式和动态功耗缩放。

所需组件

ESP-32 / ESP-32S

USB TTL / UART

引领

触觉开关按钮

电阻器(220 欧姆,10k)

跳线

少焊面包板

双A 1.5v电池+(电池盒)

接线指南

下载

下载 Arduino IDE

下载 https://git-scm.com/download/win

下载 ESP 32S 蓝牙用户指南 

下载 ESP 32S 数据表

使用 PlatformIO 进一步学习 | 作为 ESP-IDF 组件使用

沃森物联网平台 | NodeMCU 固件

代码

Esp32 代码

smart_watch.ino

下载(4)

 

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费