arduino micropython_使用ESP8266 ESP-01模組的USB轉接板燒錄Arduino程式或MicroPython韌體

這個轉接板包含5V轉3.3V降壓IC,以及CH340序列通訊轉換IC,方便透過USB供電給ESP8266 ESP-01模組。但若直接使用這個轉接板,在Arduino IDE中燒錄ESP8266程式,將出現如下的“espcomm_open failed”和“espcomm_upload_mem failed”錯誤:

這是因為ESP8266模組在燒錄韌體之前,GPIO 0腳必須接地,而這個轉接板的GPIO 0腳是空接的。這是Wemos D1 mini的USB序列模組和ESP8266晶片之間「燒錄模式」轉換電路,透過電晶體自動切換GPIO 0的電位,這部份的電路解說,請參閱《超圖解Python物聯網實作入門》9-6頁。

底下是另一款具備燒錄ESP8266韌體功能的USB通訊轉接板(搜尋關鍵字“ESP-01固件燒錄”):

這款轉接板新增一個「手動」將GPIO 0腳接地的按鍵,後面的排針也把ESP-01模組的所有接腳都引出來,方便連接其他電子模組或麵包板。

手動進入ESP8266韌體燒錄模式的開關電路

筆者購買的是沒有按鍵和排針的USB轉接板,需要自行焊接開關。底下是在此轉接板的背面增加「燒錄韌體」和「重置」兩個開關的電路:

為了便於電子實驗,我將ESP-01模組的GPIO 0, 2以及3.3V和接地,都焊接到一個5針排母;燒錄韌體、插入電腦USB通電之前,GPIO 0和接地必須用導線相連:

如此,就能在Arduino IDE中成功上傳程式了:

替ESP-01模組燒錄MicroPython韌體

同樣地,燒錄MicroPython韌體之前,GPIO 0腳也必須事先接地,下圖是使用Flash Download Tools燒錄MicroPython韌體的畫面。

燒錄韌體之前,請先按下ERASE(清除)鈕,清除快閃記憶體內容,再按下START(開始)燒錄。若畫面出現「等待同步」之類的訊息,請按下ESP-01轉接板的「重置」鍵,或者把模組的RST(重置)腳接一下「接地」腳再移開,達到重置的效果,就能開始燒錄韌體。

這是連接ESP-01和I2C介面的OLED模組,執行MicroPython程式的結果:

這是測試OLED顯示器的MicroPython程式,SDA腳設定在0,SCL腳設定在2。

from machine import Pin, I2C

import ssd1306

i2c = I2C(sda=Pin(0), scl=Pin(2), freq=100000)

oled = ssd1306.SSD1306_I2C(128, 64, i2c)

oled.text('No Hack,', 0, 0)

oled.text('No Life!', 50, 30)

oled.show()

1

2

3

4

5

6

7

frommachineimportPin,I2C

importssd1306

i2c=I2C(sda=Pin(0),scl=Pin(2),freq=100000)

oled=ssd1306.SSD1306_I2C(128,64,i2c)

oled.text('No Hack,',0,0)

oled.text('No Life!',50,30)

oled.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值