電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Diy ESP32智能手表

Diy ESP32智能手表

2022-07-04 | zip | 0.05 MB | 次下載 | 2積分

資料介紹

PCB圖如下:
pYYBAGKy_LyAZxu8AACc0rMn7zE026.png
poYBAGKy_L6ADy4cAABimjmVVp8653.png

成分

ESP32-S2-WROVER-N4R2
樂鑫系統(tǒng)
× 1
3.3V 5V 串口適配器模塊 CH340G USB TTL UART Arduino Pro Mini Bridge × 1
TL6700AF160QG
電子開關(guān)
× 3
TL6700AF160QG
電子開關(guān)
× 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?是一系列低成本、低功耗的片上系統(tǒng)微控制器,集成了 Wi-Fi 和雙模藍牙。ESP32 系列采用雙核和單核版本的 Tensilica Xtensa LX6 微處理器、Xtensa LX7 雙核微處理器或單核 RISC-V 微處理器,并包括內(nèi)置天線開關(guān)、RF balun、功率放大器、低噪聲接收放大器濾波器電源管理模塊。ESP32 由總部位于上海的中國公司 Espressif Systems 創(chuàng)建和開發(fā),并由臺積電使用其 40 納米工藝制造。它是 ESP8266 微控制器的繼任者。

規(guī)格

當談到 ESP32 芯片規(guī)格時,您會發(fā)現(xiàn):

ESP32 是雙核的,這意味著它有 2 個處理器。

它內(nèi)置了Wi-Fi和藍牙。

它運行 32 位程序。

時鐘頻率可以高達 240MHz,它有一個 512kB 的 RAM。

這個特定的板有 30 或 36 個引腳,每行 15 個。

它還提供多種外圍設(shè)備,例如:電容式觸控、ADC、DAC、UART、SPI、I2C 等等。

它帶有內(nèi)置霍爾效應傳感器和內(nèi)置溫度傳感器

ESP32 引腳指南

與 ESP826 相比,ESP32 具有更多功能更豐富的 GPIO。

使用 ESP32,您可以決定哪些引腳是 UART、I2C 或 SPI——您只需在代碼上進行設(shè)置。這是可能的,因為 ESP32 芯片的多路復用功能允許將多個功能分配給同一引腳。如果您沒有在代碼上設(shè)置它們,則默認使用引腳 - 如下圖所示(引腳位置可能因制造商而異)。

帶有 30 個 GPIO 的版本

poYBAGKy_NiAdIfnAACWGJoBpFs799.png

OLED顯示模塊概述

OLED 顯示模塊突破了小型單色 OLED 顯示屏。它寬 128 像素,高 64 像素,寬 0.96 英寸。它是微型的,但它仍然具有沖擊力 - OLED 顯示屏由于高對比度而非常易讀,并且您可以在其中放置大量的圖形。

由于顯示器自己發(fā)光,因此不需要背光。這顯著降低了運行 OLED 所需的功率,這就是為什么顯示器具有如此高的對比度、極寬的視角并且可以顯示深黑色級別的原因。

pYYBAGKy_NqAc-zRAAArm69Q1qc307.jpg

該模塊的核心是一個強大的單芯片 CMOS OLED 驅(qū)動控制器 - SSD1306,它處理所有 RAM 緩沖,因此您的 ESP32 只需要做很少的工作。SSD1306 控制器的工作電壓范圍為 1.65V 至 3.3V – 非常適合與 ESP32 等 3.3V 微控制器連接。

OLED 內(nèi)存映射

要完全控制您的 OLED 顯示模塊,了解其內(nèi)存映射非常重要。

無論 OLED 模塊的大小如何,SSD1306 驅(qū)動程序都有一個內(nèi)置的 1KB 圖形顯示數(shù)據(jù) RAM (GDDRAM),用于保存要顯示的位模式的屏幕。這 1K 的內(nèi)存區(qū)域被組織成 8 頁(從 0 到 7)。每頁包含 128 列/段(塊 0 到 127)。并且每列可以存儲 8 位數(shù)據(jù)(從 0 到 7)。這肯定告訴我們我們有

8 頁 x 128 段 x 8 位數(shù)據(jù) = 8192 位 = 1024 字節(jié) = 1KB 內(nèi)存

下面突出顯示了包含頁面、段和數(shù)據(jù)的整個 1K 內(nèi)存。

poYBAGKy_NyAas--AABaJ7vbBiA441.png

每個位代表屏幕上的特定 OLED 像素,可以通過編程方式打開或關(guān)閉。

128×64 OLED 屏幕顯示 RAM 的所有內(nèi)容,而 128×32 OLED 屏幕僅顯示 RAM 的 4 頁(一半內(nèi)容)。

將 OLED 顯示模塊連接到 ESP32

理論說完了,讓我們開始實踐吧!讓我們將顯示器連接到 ESP32。

連接相當簡單。首先將 VCC 引腳連接到 ESP32 上的 3.3V 輸出,然后將 GND 接地。

接下來,將 SCL 引腳連接到 ESP32 上的 I2C 時鐘 D22 引腳,并將 SDA 引腳連接到 ESP32 上的 I2C 數(shù)據(jù) D21 引腳。請參閱 ESP32 引腳分配。

下圖向您展示了如何連接所有東西。

poYBAGKy_N6AUTv4AAB7BNq_feY930.png

帶ESP32的 OLED 顯示模塊的接線連接

有了它,您現(xiàn)在就可以上傳一些代碼并進行顯示打印了。

安裝 OLED 顯示模塊庫

OLED 顯示器的 SSD1306 控制器具有靈活而復雜的驅(qū)動程序。為了使用 SSD1306 控制器,需要大量的內(nèi)存尋址知識。幸運的是,Adafruit 的 SSD1306 庫是為了隱藏 SSD1306 控制器的復雜性而編寫的,這樣我們就可以發(fā)出簡單的命令來控制顯示器。

要安裝庫,請導航到 Sketch > Include Library > Manage Libraries... 等待庫管理器下載索引并更新已安裝庫的列表。

pYYBAGKy_OCAB5CeAAAyX70YHHE754.png

通過輸入“adafruit ssd1306”過濾您的搜索。應該有幾個條目。尋找 Adafruit 的 Adafruit SSD1306。單擊該條目,然后選擇安裝。

poYBAGKy_P2AElueAAAz9hYiPTs094.png

這個 Adafruit SSD1306 庫是一個特定于硬件的庫,它處理較低級別的函數(shù)。它需要與 Adafruit GFX 庫配對以顯示點、線、圓、矩形等圖形基元。也安裝此庫。

poYBAGKy_P-AZOMdAAAztnJ6Nxc917.png

筆記

該庫從 ESP32 分配 1KB(128×64)/8 位)的內(nèi)存作為緩沖區(qū)。因此,它可以操作屏幕緩沖區(qū),然后執(zhí)行從 ESP32 內(nèi)存到 SSD1306 控制器內(nèi)部存儲器的批量傳輸。

修改 Adafruit SSD1306 庫

Adafruit 的 SSD1306 庫不是為 128×64 OLED 顯示器(我們現(xiàn)在使用的顯示器)設(shè)置的。必須在 Adafruit_SSD1306.h 頭文件中更改顯示大小以使其適合我們。如果沒有改變,錯誤消息說#error(“高度不正確,請修復Adafruit_SSD1306.h!”);嘗試在 Arduino IDE 中驗證示例草圖時可能會出現(xiàn):

pYYBAGKy_QKAEsjUAAAUwZXyPUk903.png

要更改 Adafruit_SSD1306.h 頭文件,請打開您的速寫本位置。通常是我的文檔 > Arduino?,F(xiàn)在去圖書館> Adafruit_SSD1306

pYYBAGKy_QSAaZtoAABM6r0JyWc666.png

在文本編輯器中打開 Adafruit_SSD1306.h 文件。向下滾動文件以找到帶有 SSD1306 顯示器的部分或直接轉(zhuǎn)到第 1 行。73. 注釋掉#define SSD1306_128_32 并取消注釋#define SSD1306_128_64 使本節(jié)中的代碼如下所示:

pYYBAGKy_QaAB-M8AABGY3YiQP4427.png

而已。現(xiàn)在保存文件并重新啟動您的 Arduino IDE。

ESP32 代碼 – 顯示文本

現(xiàn)在有趣的東西來了!

以下測試草圖將打印“Hello World!” 顯示屏上的消息。它還包括

顯示反轉(zhuǎn)文本

顯示數(shù)字

顯示帶基數(shù)的數(shù)字(十六進制,十二月)

顯示 ASCII 符號

水平和垂直滾動文本

滾動顯示部分

這將使您全面了解如何使用 OLED 顯示器,并可作為更多實際實驗和項目的基礎(chǔ)。

概念

一個簡單的 MicroPython 腳本,用于將帶有 oled 的 ESP32 變成智能手表。

poYBAGKy_QmAWLhzAAFqDFM7ikQ471.png

目前它可以連接到互聯(lián)網(wǎng),獲取天氣和時間。接下來,我將使用來自 Google 的 OAuth2ForDevices 和一個將未讀郵件保存到 Google Drive 的腳本來添加對 Gmail 的訪問。

設(shè)置

在您的板上安裝 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 腳本來執(zhí)行此操作。您可以編輯 .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) 添加到設(shè)置代碼來進行設(shè)置。顯示器的 I2C 地址為 0x3C。您還需要使用 OLED_RST 引腳來啟用顯示: pinMode(16,OUTPUT); 數(shù)字寫入(16,低);延遲(50);數(shù)字寫入(16,高);應用這些設(shè)置后,I2CScan 可以找到顯示和大多數(shù) SSD1306 Arduino 庫工作(例如,Adafruit SSD1306 在將 Wire.begin() 更改為 Wire.begin(4, 15) 并設(shè)置復位引腳和 I2C 地址后工作)。

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

具有潛力的未經(jīng)測試的電路板

最小的

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 納米技術(shù)設(shè)計的單 GHz Wi-Fi 和藍牙組合芯片。它針對最佳功率性能、RF 性能、穩(wěn)健性、多功能性、特性和可靠性進行設(shè)計和優(yōu)化,適用于各種應用和不同的功率配置文件。

ESP32 是業(yè)界集成 Wi-Fi + 藍牙應用最多的解決方案,外部組件少于 10 個。ESP32 集成了天線開關(guān)、RF balun、功率放大器、低噪聲接收放大器、濾波器和電源管理模塊。因此,整個最小印刷電路板 (PCB) 面積的解決方案。

ESP32 專為移動、可穿戴電子產(chǎn)品物聯(lián)網(wǎng) (IoT) 應用而設(shè)計。它具有最先進的低功耗芯片的許多特性,包括高分辨率時鐘門控、功耗模式和動態(tài)功耗縮放。

所需組件

ESP-32 / ESP-32S

USB TTL / UART

引領(lǐng)

觸覺開關(guān)按鈕

電阻器(220 歐姆,10k)

跳線

少焊面包板

雙A 1.5v電池+(電池盒)

接線指南

下載

下載 Arduino IDE

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

下載 ESP 32S 藍牙用戶指南?

下載 ESP 32S 數(shù)據(jù)表

使用 PlatformIO 進一步學習 | 作為 ESP-IDF 組件使用

沃森物聯(lián)網(wǎng)平臺 | NodeMCU 固件

代碼

Esp32 代碼

smart_watch.ino

下載(4)

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  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開發(fā)指南
  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開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  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次下載  |  免費