在找免費的電路模擬器?123D Circuits 滿足你的願望!

123D CIRCUITS

本服務已轉移至Tinkercad Circuits,教學影片已更新:https://www.youtube.com/watch?v=HhhhWwSH0YU

又快過完一個學期了,是否正在為專題煩惱呢? 或是你正因為學校所教的電子電路課程在家無法實做而感到麻煩嗎? 還是說你是一位剛剛接觸 Arduino 的自造者(Maker),對於自己所創造的東西不會動又找不出原因而感到煩躁?

試試 123D CIRCUITS 吧!這個由 AUTODESK 提供的線上模擬器擁有相當全面的功能,你只需要打開瀏覽器、登入這個網站然後你就可以開始接線路還能在上面寫 Arduino 程式來測試呢!如果你還有印象,之前發表過的 Arduino 教學文章也有用到這個網站。

繼續閱讀 “在找免費的電路模擬器?123D Circuits 滿足你的願望!”

Beaglebone Black – 透過 NodeJS 使用 RF24 Library

RF24 是一個相當完整的 nRF24L01 函式庫(library),它目前支援許多平台,例如 Arduino、樹莓派等等,先前有草草的介紹過。

最近因為在使用 Beaglebone Black (BBB) 這個單板電腦在做些實驗,需要用到 nRF24L01,本來是想直接用已寫好並放在 NPM 中的套件,結果發現無法使用,於是就想起了 RF24 有支援到 BBB,但遇到了些麻煩。

因為我只想用 NodeJS 去做大部分的控制,並不想要用 RF24 那種全 C/C++ 的方式來做,所以我就寫了一個簡單的程式來讓 NodeJS 與 RF24 能夠傳遞訊息並且操作 nRF24L01 模組。

繼續閱讀 “Beaglebone Black – 透過 NodeJS 使用 RF24 Library”

Ubuntu – 讓 Sendmail 以 Gmail 的 SMTP 來發送信件

前陣子我在設定實驗室在用的伺服器,為了一些需求,要從伺服器寄送一些電子信件出來。不過之前的經驗是,直接從伺服器送出的信件會被當作是垃圾郵件,所以這次想透過 Gmail 的 SMTP 來送信件,而實測結果是這樣的方法的確不會再被當做垃圾郵件了。

繼續閱讀 “Ubuntu – 讓 Sendmail 以 Gmail 的 SMTP 來發送信件”

免安裝!Cloud 9 讓你打開瀏覽器就能寫程式!

免安裝-Cloud 9 讓你打開瀏覽器就能寫程式

身為一位程式設計師,是否常覺得一些開發環境實在是笨重又肥大呢? 或者覺得輕巧自由而且許多前輩們愛用的 VIM 或 EMACS 難以駕馭? 這裡有一款你只需要準備好對應的環境,你只需要開啟瀏覽器,就能開始寫程式的工具,它叫做「Cloud 9」!

繼續閱讀 “免安裝!Cloud 9 讓你打開瀏覽器就能寫程式!”

NodeJS – 為 console.log 加上時間與檔案紀錄。

如果你有開發 Node.js 的經驗,一定相當常運用其內建的 console.log() 來作為 Debug 的方式之一。

而當整個系統完成或上線之後,就比較無法使用這種方式去找後續發生的問題,因為我們不見得能看到系統端終端機中的內容,但若為了這個紀錄功能要多寫一個 function 然後替換掉原本拿來 debug 用的 console.log …這也太麻煩了吧。

幸運的是,JavaScript 允許你用 Override 的方式來覆寫原有的程式,改成你所需要的樣子。

等一下我們就要來覆寫 console.log 這個 function 來為它加入時間戳記以及寫入一個檔案作為紀錄的功能。

開始之前

在這支程式中,我為了方便產生時間格式,有使用到 date-utils 這個模組,所以請記得在你的 Node.js 專案資料夾中安裝

並在程式碼上方加入

已便使用這個模組提供的 toFormat 功能。

程式碼

在你的程式中加入:

然後執行你的程式,應該就會看到類似下方的訊息,這樣是不是更好紀錄與找問題了呢?

參考來源:http://davidherron.com/blog/2014-04-26/overriding-consolelog-nodejs-and-other-thoughts-about-logging-node-apps

Arduino Basic (6) – AnalogRead 類比輸入

前面幾節講的都是數位的處理,也就是只有 0 和 1 兩種訊號,但我們的世界並不是只有 0 和 1 兩種訊號而已,我們還有更複雜的類比訊號。

諸如電壓、聲音、光亮、溫度等等的,都無法單純的由 0 和 1 構成。

那當我們需要處理這些訊號的時候該怎麼辦呢?

這時候就是 ADC (Analog to Digital Convert, ADC) 出場的時候啦!

繼續閱讀 “Arduino Basic (6) – AnalogRead 類比輸入”

Arduino Basic (5) – PWM 類比輸出

當你想用單晶片控制馬達時,最大的麻煩一定是轉速的控制。一般來說,數位電路只能會送出高態與低態兩種電壓,也就是 Arduino 的正 5V 以及 0V。而這種電壓只能控制馬達轉或不轉,並無法控制轉速。因此我們需要倚靠 PWM 來做控制。

繼續閱讀 “Arduino Basic (5) – PWM 類比輸出”

如何部屬 Nodejs 程式到 Openshift 上?

Openshift

Opebshift 是由知名的 RedHat 公司所提供的一個雲端服務,它透過 AWS(Amazon Web Service, AWS) 來提供使用者雲端主機的服務,而且是一個幾近完全功能的主機。

你可以在上面啟用 Apache、PHP、JAVA…等的支援,還支援先進的 NodeJS、GO 等新興語言,關於這服務的詳細內容可以參考香腸所撰寫的這篇文章

繼續閱讀 “如何部屬 Nodejs 程式到 Openshift 上?”