2017年6月17日 星期六

在mac OSX下設定ESP32的發展環境

idf 環境, 原廠設定的說明文件: https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain
有以下要修正與注意的地方:
  • 環境變數設定在 ~/.profile , 應為 ~/.bash_profile 才對
  • 原廠 esp32 dev board 使用 cp2102 晶片, 所以在 mac 上需安裝 CP2102 的 driver
  • make menuconfig 時 (在檔案 sdkconfig 裡面) 設定的通訊 port (CONFIG_ESPTOOLPY_PORT) 為 /dev/cu.SLAB_USBtoUAR
arduino 環境, 原廠設定的說明文件: https://github.com/espressif/arduino-esp32#instructions-for-mac , 如果重新啟動 arduino 後找不到 esp32, 要到 Preference 裡面去修改 Sketchbook location 的設定

2017年6月13日 星期二

[ESP32] arduino環境下的ADC test

經測試發現原本ESP3216CHADCWiFI啟動後, 只剩下GPIO 36393435 32336隻腳可以用,這6隻腳都是屬於ADC1的channel, esp-idf 環境尚未測試,所以規劃時可以將這6隻腳對應到原本 arduino 的A0~A5
測試程式如下

2017年6月4日 星期日

ESP32 使用 I2C LCD

ESP32 晶片原本有 2 組 I2C 介面, 它的 Arduino Core 預設支援一組I2C, IO21為SDA, IO22為SCL, 要注意的是:
  1. 須選用3.3V的LCD模組
  2. 因為 ESP32 使用 4 組 timer 去支援 16ch 的 PWM, 且須先使用 attach 將某個 ch 與 pin 連接, 因此沒有原生的 AnalogWrite(), 而是使用ledcAnalogWrite(), 導致某些版本的 I2CLCD 程式庫編譯時會發生錯誤, 因此須使用直接呼叫Wire程式庫的版本, 例如 https://github.com/esp8266/Basic/tree/master/libraries/LiquidCrystal