2017年4月10日 星期一

DIY - ESP8266:SSD1306 0.96吋 I2C OLED 屏電路 2(二十)

DIY - ESP8266:ESP8266 SSD1306 0.96吋 I2C OLED 屏模塊 I/O 電路 2(二十): 

由於 ESP8266 的 I2C 的 SCLK (GPIO14)和 HSPI 的 CLK(GPIO14)是一樣使用了相同接口,如果同時使用在 I2C 和 HSPI 的接口是有問題,這是筆者測試後不成功的結果!希望祇是不完全了解 ESP8266 所致。筆者首先決定將 I2C 的 SDA (GPIO2 /D4)更改為 GPIO5(D1),I2C 的 SCLK (GPIO14 /D5)更改為 GPIO4(D2),同時將程式更改,那麼 HSPI 便可使用 MTMS / HSPI CLK(GPIO14)。

ESP8266 SSD1306 0.96吋 I2C OLED 屏模塊 I/O 電路 2
ESP8266 SSD1306 0.96吋 I2C OLED 屏模塊 I/O 電路連接
ESP8266 ESP-12E SSD1306 I2C OLED 屏連接:
LCD
Signal
Description
ESP8266
Board Signal
I/O Signal
1
VCC
VCC 2.7 ~ 3.3V
25
Vcc
Vcc
2
GND
Ground
24
GND
GND
3
SCK
Serial Clock Input
23
28
D5
D2
GPIO14
GPIO4
4
SDA
Serial Data Input
26
29
D4
D1
GPIO2
GPIO5

ESP8266 ESP-12E SSD1306 I2C OLED 屏接腳 I/O 程式定義:
//SDA on GPIO2
#define I2C_SDA_MUX PERIPHS_IO_MUX_GPIO2_U
#define I2C_SDA_FUNC FUNC_GPIO2
#define I2C_SDA_PIN 2

//SDA on GPIO5
#define SDA_MUX PERIPHS_IO_MUX_GPIO5_U
#define SDA_FUNC FUNC_GPIO5
#define SDA_PIN 5
#define SDA_BIT BIT5

//SCK on GPIO14
#define I2C_SCK_MUX PERIPHS_IO_MUX_MTMS_U
#define I2C_SCK_FUNC FUNC_GPIO14
#define I2C_SCK_PIN 14

//SCK on GPIO4
#define SCL_MUX PERIPHS_IO_MUX_GPIO4_U
#define SCL_FUNC FUNC_GPIO4
#define SCL_PIN 4
#define SCL_BIT BIT4

#define OLED_ADDRESS      0x78  // D/C->GND

ESP8266 SSD1306 0.96吋 I2C OLED 屏模塊 I/O 電路 1 試驗
ESP8266 SSD1306 0.96吋 I2C OLED 屏模塊 I/O電路 2 試驗
ESP8266 SSD1306 0.96吋 I2C OLED 屏模塊 I/O 電路 2 顯示試驗
2017年 4月 10日 天氣報告
氣溫:25.6@ 20:10
相對濕度:百分之 84%
天氣:多雲

沒有留言:

張貼留言