Linux Pinta 簡單易用的繪圖軟體
Pinta 是一款免費、開放源始碼且跨平台的繪圖與圖片編輯軟體,主要提供簡單且強大的方式來繪圖與編輯圖片,比小畫家來的功能強但操作又不會太覆雜。
Linux,Pi,IoT,rfid
ESP所使用的電壓為3.3V,意謂著GPIO輸出電壓HIGH
準位3.3V,然而輸入容忍最大電壓也是3.3V,如果要透過ESP提供的UART與其他開發板連接時就要注意電壓準位問題,
Arduino UNO板子為例,它主要是以5V電壓為主,輸出電壓HIGH
準位為5V。這種有輸入與輸入的電壓差需要轉換叫作Logic Level Shift
,作法有很多種,依照你連接電路的方式選擇適合你的,下面提供幾個作法:
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 |
1 | 1 | 0 | 6 | SDIO 低速 V1 |
1 | 1 | 1 | 7 | SDIO 高速 V2 |
一開始接觸ESP8266的使用者必需要面對的就是電源電路,如何最小化連接電源電路讓ESP8266正常運作並與自已的電路連接,接下來分享一些個人心得供參考。
ESP8266第一次電源開啟後因連帶WiFi也會啟動,所以電流要求非常的大,至少要提供3.3V電壓,電流300ma以上的才能讓它順利的啟動,如果還有接其他電路的話可能就要充足的電流500ma否則可能會看到啟動時發生錯誤,引發看門狗(WDT)事件讓ESP8266不斷的重新啟動。
Soft WDT reset ctx: cont sp: 3ffef620 end: 3ffef7f0 offset: 01b0 >>>stack>>> 3ffef7d0: feefeffe 00000000 3ffee7b4 402027c0 3ffef7e0: feefeffe feefeffe 3ffee7d0 40100718 <<<stack<<< ets Jan 8 2013,rst cause:2, boot mode:(3,6) load 0x4010f000, len 1384, room 16 tail 8 chksum 0x2d csum 0x2d v6000001c ~ld
不論是老手還是新手,使用Xcode開發都會有個問題,每次鍵入程式碼時,Xcode會提示來輔助你自動完成,但這速度反應往往不盡理想,尤其是使用傳統硬碟更是明顯,慢的話整個Xcode還會頓頓的。
當在更新Arduino_DY_Daikin功能過程中,一些相容的Arduino板子無法使用PWM來產生38kHz,必需要使用軟體產生紅外線所需的38kHz波形,波形的產生是以方波來完成,波形的高、低算一個週期,而38khz代表的是一秒有3800次的波形高、低。,所以利用輸出的HIGH
、LOW
及加上延遲就能完成方波的模擬,模擬的方式類似下面程式(範例產生50kHz波形):
void setup() { pinMode(4,OUTPUT); digitalWrite(4,LOW); } void loop() { digitalWrite(4,HIGH); delayMicroseconds(10); digitalWrite(4,LOW); delayMicroseconds(10); }
撰寫ESP8266 library時需要將設定資透過EEPROM library儲存,但又想要避免使用者在使用我寫的library配合EEPROM library時將資料蓋掉而興起研究ESP8266 EEPROM library的念頭,看看是否有可以利用且不需要自行重寫一個將資料儲存的方式。
量電流方式有串聯方式與非接觸式,一般非接觸式都是使用霍爾電流感應方式量測,但因為使用感應電流方式取得一定比率的電流再回推實際值,這會因為環境因素影響準確性,但非接觸式有個好處如其名稱一樣,我們不需要變更線路設計就能量測到電流此篇為Arduino 使用 SCT013 量電流進階版本,主要是加上16位元解析度的ADC模組,及差分輸入解決電流只能只能量超過0.5A。
下面列出硬體方面的準備工作如下:
Arduin UNO
這個問題應該是老問題,不過這一年來主力暫時放在Linux的環境,最近剛好要維護仍然停留在iOS6的Project,並新增許多功能後才發生問題。 (閱讀全文…)