Arduino 進階 – digitalWrite 速度有點慢?

Arduino 進階 – digitalWrite 速度有點慢?

當在更新Arduino_DY_Daikin功能過程中,一些相容的Arduino板子無法使用PWM來產生38kHz,必需要使用軟體產生紅外線所需的38kHz波形,波形的產生是以方波來完成,波形的高、低算一個週期,而38khz代表的是一秒有3800次的波形高、低。,所以利用輸出的HIGHLOW及加上延遲就能完成方波的模擬,模擬的方式類似下面程式(範例產生50kHz波形):


void setup() { pinMode(4,OUTPUT); digitalWrite(4,LOW); } void loop() { digitalWrite(4,HIGH); delayMicroseconds(10); digitalWrite(4,LOW); delayMicroseconds(10); }

(繼續閱讀…)

 Arduino 使用 SCT013 量電流(ADS1115)

Arduino 使用 SCT013 量電流(ADS1115)

量電流方式有串聯方式與非接觸式,一般非接觸式都是使用霍爾電流感應方式量測,但因為使用感應電流方式取得一定比率的電流再回推實際值,這會因為環境因素影響準確性,但非接觸式有個好處如其名稱一樣,我們不需要變更線路設計就能量測到電流此篇為Arduino 使用 SCT013 量電流進階版本,主要是加上16位元解析度的ADC模組,及差分輸入解決電流只能只能量超過0.5A。

準備工作

下面列出硬體方面的準備工作如下:

 ESP8266 ESP-01 Quick Reference

ESP8266 ESP-01 Quick Reference

ESP-01

ESP8266在IoT是不可缺少的話題,然而由[安信可][2]所推出的[ESP-01][1]更是在Arduino Wifi Module有一定的佔有率,所以會將原有的Module加工成自已所需要的,以Danny為例,DIY板子對我來說是個很不熟的工作,所以在接線時需要背面的Pinout標示,還有Flash upgrade的接線方式..等。

有其他的資訊與[ESP-01][1]有關的再直接更新此文章。

(繼續閱讀…)

 ESP8266 建立Linux開發環境

ESP8266 建立Linux開發環境

Toolchain

官方提供的開發環境是利用虛擬環境再配合檔案分享的方式讓程式碼在虛擬機器與實體機器間分享並且順利編譯程式碼,此篇要利用已經預先編譯好各平台的開發工具集直接放在自已的平台上執行,不需要在自已的平台上面重新編譯好開發工具集才能使用。

(繼續閱讀…)

 ESXi PSOD E1000 當機

ESXi PSOD E1000 當機

這次將之前試驗用的ESXi主機更換機殼及重新安裝ESXi試用,此次發生電源供應器供電不穩外,還另外遇到當機:

從圖中能看到關鍵字為e1000,此為intel e1000系列的驅動程式,但再研究一下跟查詢資料後才了解到這是虛擬驅動程式產生的問題,在ESXi的環境中,網路卡可分為模擬實體Intel E1000系列網卡還有VMXNET,資料查詢結果後連官方也都建議盡量改用VMXNET網卡才能徹底解決此問題,但要更改成此網卡時要注意到驅動程式是否有支援該環境!

參考資料

ESXi 5.5 PSOD w/ E1000 NICs

E1000 網卡造成 ESXi PSOD 死當?

ESXi 5.1 PSOD 紫屏 E1000 PollRxRing 與 DevRx 溢位問題

VMware ESXi 5.x host experiences a purple diagnostic screen mentioning E1000PollRxRing and E1000DevRx (2059053)