資料介紹
PCB圖如下:
成分
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 |
描述
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 個。
它還提供多種外圍設備,例如:電容式觸控、ADC、DAC、UART、SPI、I2C 等等。
ESP32 引腳指南
與 ESP826 相比,ESP32 具有更多功能更豐富的 GPIO。
使用 ESP32,您可以決定哪些引腳是 UART、I2C 或 SPI——您只需在代碼上進行設置。這是可能的,因為 ESP32 芯片的多路復用功能允許將多個功能分配給同一引腳。如果您沒有在代碼上設置它們,則默認使用引腳 - 如下圖所示(引腳位置可能因制造商而異)。
帶有 30 個 GPIO 的版本
OLED顯示模塊概述
OLED 顯示模塊突破了小型單色 OLED 顯示屏。它寬 128 像素,高 64 像素,寬 0.96 英寸。它是微型的,但它仍然具有沖擊力 - OLED 顯示屏由于高對比度而非常易讀,并且您可以在其中放置大量的圖形。
由于顯示器自己發光,因此不需要背光。這顯著降低了運行 OLED 所需的功率,這就是為什么顯示器具有如此高的對比度、極寬的視角并且可以顯示深黑色級別的原因。
該模塊的核心是一個強大的單芯片 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 內存。
每個位代表屏幕上的特定 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 引腳分配。
下圖向您展示了如何連接所有東西。
帶ESP32的 OLED 顯示模塊的接線連接
有了它,您現在就可以上傳一些代碼并進行顯示打印了。
安裝 OLED 顯示模塊庫
OLED 顯示器的 SSD1306 控制器具有靈活而復雜的驅動程序。為了使用 SSD1306 控制器,需要大量的內存尋址知識。幸運的是,Adafruit 的 SSD1306 庫是為了隱藏 SSD1306 控制器的復雜性而編寫的,這樣我們就可以發出簡單的命令來控制顯示器。
要安裝庫,請導航到 Sketch > Include Library > Manage Libraries... 等待庫管理器下載庫索引并更新已安裝庫的列表。
通過輸入“adafruit ssd1306”過濾您的搜索。應該有幾個條目。尋找 Adafruit 的 Adafruit SSD1306。單擊該條目,然后選擇安裝。
這個 Adafruit SSD1306 庫是一個特定于硬件的庫,它處理較低級別的函數。它需要與 Adafruit GFX 庫配對以顯示點、線、圓、矩形等圖形基元。也安裝此庫。
筆記
該庫從 ESP32 分配 1KB(128×64)/8 位)的內存作為緩沖區。因此,它可以操作屏幕緩沖區,然后執行從 ESP32 內存到 SSD1306 控制器內部存儲器的批量傳輸。
修改 Adafruit SSD1306 庫
Adafruit 的 SSD1306 庫不是為 128×64 OLED 顯示器(我們現在使用的顯示器)設置的。必須在 Adafruit_SSD1306.h 頭文件中更改顯示大小以使其適合我們。如果沒有改變,錯誤消息說#error(“高度不正確,請修復Adafruit_SSD1306.h!”);嘗試在 Arduino IDE 中驗證示例草圖時可能會出現:
要更改 Adafruit_SSD1306.h 頭文件,請打開您的速寫本位置。通常是我的文檔 > Arduino。現在去圖書館> Adafruit_SSD1306
在文本編輯器中打開 Adafruit_SSD1306.h 文件。向下滾動文件以找到帶有 SSD1306 顯示器的部分或直接轉到第 1 行。73. 注釋掉#define SSD1306_128_32 并取消注釋#define SSD1306_128_64 使本節中的代碼如下所示:
而已。現在保存文件并重新啟動您的 Arduino IDE。
ESP32 代碼 – 顯示文本
現在有趣的東西來了!
以下測試草圖將打印“Hello World!” 顯示屏上的消息。它還包括
顯示反轉文本
顯示數字
顯示帶基數的數字(十六進制,十二月)
顯示 ASCII 符號
水平和垂直滾動文本
滾動顯示部分
這將使您全面了解如何使用 OLED 顯示器,并可作為更多實際實驗和項目的基礎。
概念
一個簡單的 MicroPython 腳本,用于將帶有 oled 的 ESP32 變成智能手表。
目前它可以連接到互聯網,獲取天氣和時間。接下來,我將使用來自 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 有不同的板。您可以在受歡迎的中國供應商處找到它們,也可能在其他地方找到它們。
它們看起來像這樣:
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)
?
- 樂鑫ESP32-MINI-1參考設計
- 樂鑫ESP32-WROOM-32UE參考設計
- 樂鑫ESP32-PICO-MINI-02參考設計
- esp32-s3_datasheet
- DIY可直接控制繼電器模塊的智能手表
- ESP8266智能手表設計分享
- Otto DIY ESP32盾牌
- DIY ESP32 SPI TFT屏蔽
- Diy Esp32 Adafruit羽毛Pcb
- DIY ESP32模塊
- Diy Esp32 Youtube訂閱者計數器
- 最簡單DIY基于ESP8266的智能彩燈②(在網頁用按鍵和滑動條控制RGB燈)
- 最簡單DIY基于ESP8266的物聯網智能小車②(webserver服務器網頁高級遙控版) 0次下載
- 最簡單DIY基于ESP32CAM的物聯網相機系統⑤(用C#上位機實現串口圖傳)
- esp32s下載電路原理圖下載 27次下載
- 智能手表的工作原理和組成 129次閱讀
- ESP32能取代STM32嗎?哪個更好? 2370次閱讀
- 什么是ESP32-CAM攝像頭? 2.1w次閱讀
- 基于ESP32的簡易web服務器設計 3300次閱讀
- 使用ESP32實現UDP通信的方法 5723次閱讀
- ESP32使用MiroPython編程環境搭建 2690次閱讀
- 基于ESP32制造有趣的超級馬里奧主題時鐘 4021次閱讀
- ESP8266/ESP32自動下載原理 4249次閱讀
- esp32物聯網的應用實例 LoRa網關制作、觸屏DIY電視、Sygic導航HUD 5404次閱讀
- ESP32的數字遙測實現 1521次閱讀
- 如何利用ESP8266實現智能手表的設計 2999次閱讀
- dfrobotBeetle-ESP32控制器簡介 2695次閱讀
- 解密智能手表的前世今生 說說早期智能手表系統 3735次閱讀
- 淺析影響智能手表造型設計的因素 3976次閱讀
- 可穿戴式智能手表DIY 5116次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多