by Danny | May 6, 2017 | IoT
ESP8266 UART連接電路 ESP所使用的電壓為3.3V,意謂著GPIO輸出電壓HIGH準位3.3V,然而輸入容忍最大電壓也是3.3V,如果要透過ESP提供的UART與其他開發板連接時就要注意電壓準位問題, Arduino UNO板子為例,它主要是以5V電壓為主,輸出電壓HIGH準位為5V。這種有輸入與輸入的電壓差需要轉換叫作Logic Level Shift,作法有很多種,依照你連接電路的方式選擇適合你的,下面提供幾個作法: 分壓法...
by Danny | May 5, 2017 | IoT
ESP8266 理解Flash更新電路 ESP8266電源電路有一定了解後,接下來就必需要理解ESP8266(簡稱ESP)的開機模式,ESP將MTDO、GPIO0、GPIO2組成一個3bit的設定模式,透過設定模式來告知ESP要用什麼樣的方式啟動,下面為3bit的組合設定: MTDO GPIO0 GPIO2 Value 內容 0 0 0 0 unknown 0 0 1 1 UART0啟動 0 1 0 2 Jump start 0 1 1 3 Flash啟動 1 0 0 4 SDIO 低速 V2 1 0 1 5 SDIO 高速 V1...
by Danny | May 4, 2017 | Linux
Linux KiCad 功能完整的電子電路設計軟體 KiCad是一套可以提供建立電子電路圖及PCB繪制電路Layout的開放源始碼工具軟體 安裝 Arch sudo pacman -S community/kicad community/kicad-library community/kicad-library-3d Ubuntu sudo add-apt-repository --yes ppa:js-reynaud/kicad-4 sudo apt update sudo apt install kicad 功能定義...
by Danny | May 2, 2017 | IoT
ESP8266 電源電路研究 一開始接觸ESP8266的使用者必需要面對的就是電源電路,如何最小化連接電源電路讓ESP8266正常運作並與自已的電路連接,接下來分享一些個人心得供參考。 穩定電壓、充足電流 ESP8266第一次電源開啟後因連帶WiFi也會啟動,所以電流要求非常的大,至少要提供3.3V電壓,電流300ma以上的才能讓它順利的啟動,如果還有接其他電路的話可能就要充足的電流500ma否則可能會看到啟動時發生錯誤,引發看門狗(WDT)事件讓ESP8266不斷的重新啟動。 ``` Soft WDT reset ctx:...
by Danny | Apr 25, 2017 | IoT
Arduino 進階 - digitalWrite 速度有點慢? 當在更新Arduino_DY_Daikin功能過程中,一些相容的Arduino板子無法使用PWM來產生38kHz,必需要使用軟體產生紅外線所需的38kHz波形,波形的產生是以方波來完成,波形的高、低算一個週期,而38khz代表的是一秒有3800次的波形高、低。,所以利用輸出的HIGH、LOW及加上延遲就能完成方波的模擬,模擬的方式類似下面程式(範例產生50kHz波形): void setup() { pinMode(4,OUTPUT);...
by Danny | Mar 21, 2017 | IoT
ESP8266 自定EEPROM起始位址存資料 撰寫ESP8266 library時需要將設定資透過EEPROM library儲存,但又想要避免使用者在使用我寫的library配合EEPROM library時將資料蓋掉而興起研究ESP8266 EEPROM library的念頭,看看是否有可以利用且不需要自行重寫一個將資料儲存的方式。 原理 EEPROM...