2013年10月6日 星期日

開始進入 Arduino 的殿堂

開始進入 Arduino 的殿堂

只要您依照下面的步驟做,就可以輕鬆地進入 Arduino 的奇幻世界。


1. 取得 Arduino 模組和 USB 連接線。


2. 下載 Arduino 軟體。
您可以到 Arduino 官網下再軟體,網址 http://arduino.cc/en/Main/Software
下載完畢後要解壓縮,並將 arduino.exe 傳送到桌面建立捷徑。


3. 用 USB 連接線將電腦和 Arduino 模組連接起來。


4. 安裝驅動程式。
電腦會要求安裝兩個驅動程式,USB Serial Port 驅動程式和 FT232 晶片驅動程式。
如果電腦找不到驅動程式,您可以改手動到 <Arduino>\drivers\ 資料夾裏尋找。


5. 啟動 Arduino 軟體。
快點兩下 arduino.exe 就可以啟動 Arduino。



6. 開啟範例程式。
您可以點選下拉功能表開啟範例程式 File > examples > 01.Basics > Blink。





7. 選擇 Arduino 模組型號。
您可以點選下拉功能表開啟範例程式 Tools > Board > Arduino Uno。
如果您的 Arduino 不是 Uno,請選擇您自己的 Arduino 型號。



8. 選擇連接埠。
您可以點選下拉功能表開啟範例程式 Tools > Serial Port > COM3。
如果您的 Arduino 不是接在 COM3,請選擇您自己的連接埠。



9. 上載程式到 Arduino 模組。
您可以點選下拉功能表下方的「Upload」工具鈕。


如果程式都沒有錯誤並且成功上載到 Arduino 板子,編輯區下方會提示「Done uploading.」。




相關連結:

1. Arduino 官網 http://arduino.cc/en/Guide/Windows

漸亮漸暗(Fading)

漸亮漸暗(Fading)

目的: 讓 LED 持續地逐漸變亮後再逐漸變暗。


材料清單: 
1. Arduino 模組 x1
2. 麵包板 x1
3. 線材若干
4. LED x1
5. 220R 電阻 x1


電路圖:



接線圖:




程式碼:

/*
 Fade.pde 
 使用 
 analogWrite()  讓插在 9 pin 上的 LED 逐漸變亮後又變暗。
 */

int led = 9;           // the pin that the LED is attached to
int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by

// the setup routine runs once when you press reset:
void setup()  { 
  // declare pin 9 to be an output:
  pinMode(led, OUTPUT);
} 

// the loop routine runs over and over again forever:
void loop()  { 
  // set the brightness of pin 9:
  analogWrite(led, brightness);    

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade: 
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; 
  }     
  // wait for 30 milliseconds to see the dimming effect    
  delay(30);                            
}


相關連結:

1. Arduino 官網 http://arduino.cc/en/Tutorial/Fade


魚菜共生(Aquaponics system)

近日推出,敬請期待。

















參考資料:

維基百科 http://zh.wikipedia.org/wiki/%E9%AD%9A%E8%8F%9C%E5%85%B1%E7%94%9F



安裝 Processing

Processing 是一套自由贊助的軟體,它有強大的處理圖形和數字的能力,有不少科學家和藝術家用它來創作,而 Arduino 的使用者更用它來製作互動裝置。另外,你也可以使用 Processing 編譯器將程式編譯成 Android APP,有了
這項功能更是讓 Android 和 Arduino 可以緊密結合在一起。

官網 http://www.processing.org/


下載

切換網頁到 https://www.processing.org/download/,先選擇贊助金額,如果不贊助請選擇 No Donation,接著點擊下方的 Download,然後再依照您的作業系統版本點擊合適的下載。
我選擇的是 Windows 32bit 版本。


安裝

將 processing-2.2.1-windows32.zip 解壓縮,然後把 processing.exe 做出桌面捷徑。


函式庫

Processing 有很多函式庫可以使用,有處理影像、聲音、網路和動畫...等等,詳 http://www.processing.org/reference/libraries/。
其中有一個 Serial 函式庫,可以用它來聯繫 Arduino,在稍後的貼文將會介紹。



您可能也會喜歡

1. Arduino and Processing http://playground.arduino.cc/interfacing/processing

2. Servo motor + Arduino + Processing http://forum.processing.org/two/discussion/2469/servo-motor-arduino-processing/p1

3. Processing and Android https://github.com/processing/processing-android/wiki





安裝 Amarino

近日推出,敬請期待。

安裝 Eclipse

近日推出,敬請期待。

安裝 Python

Python 官網 https://www.python.org/


下載

下載頁面 https://www.python.org/downloads/


目前 Python 有  2.7.8 和 3.4.1 兩種版本,雖然 3.4.1 版比較新,但因為新版本仍有諸多地方不夠穩定,而且眾多的函式庫都只支援 2.7.x,所以我們最好下載 2.7.8 版。


安裝

快擊兩下 python-2.7.8.msi,然後依畫面指示安裝。預設資料夾是 C:\Python27。
它不會在桌面自動產生啟動圖示,因此你必須到安裝資料夾內,用滑鼠右鍵選取 python27.exe,選取 [傳送到] > [桌面(建立捷徑)]。如下圖:



快擊兩下啟動圖示,即可開啟 Python 操作視窗,如下圖:



設定


為了以後方便安裝其他函式庫,我們需要做一些設定,讓 Python 主程式可以在任意路徑下被執行,步驟如下:


1. 切換到 控制台 > 進階系統設定 > 環境變數 > 系統變數。
2. 點選變數 Path > 編輯。
3. 在變數值欄位最後面加入

    ;C:\Python27\

如圖



4. 一直按下「確定」,關閉控制台。

PS. 必須重新開機,系統變數 Path 才會生效。

建立並執行第一個 Python 程式

你可以在 >>> 右側鍵入

print 'Hello World.'

Python 解譯器將會在下一行回應「Hello World.」,表示您的程式碼正確無誤。
如果有錯誤,它將會回應「Syntax Error: invalid syntax」。

您也可以鍵入

12+34

Python 解譯器將會在下一行回應「46」。

以上操作過程如下圖所示:









虹吸管(Bell Siphon)

虹吸作用是利用大氣壓力讓水在管內保持流動。

魚菜共生介質床植栽法為什麼要做虹吸管,讓介質床裏的水持續地淹滿後再排放( flood and Drain) ? 這是因為水位上升時可以讓植物的根吸收水分與養分,在水位下降後石子內部已經吸飽水分,而石子與石子之間的空隙包覆著空氣,這樣的狀態適合硝化菌等微生物生長。硝化菌牠會把魚便便裡的氨轉化為氮,這樣的養分對植物的生長有比較良好的效果。

虹吸管裝置圖







虹吸管裝置注意事項

1. 應依據您的植栽床的介質高度來設計虹吸管的高度。
虹吸管的內管高度大約等於水淹滿的高度(事實上水淹滿的高度會高於內管高度一些些),也就是最高水位。
假設植栽床的介質高度是 20cm(註1) ,為了讓植栽床表面的介質保持乾爽,表面乾爽可以減少病蟲害和青苔的產生,所以虹吸管的內管應低於20cm,大約低 3~5cm,那麼虹吸管的內管可以做 15~17cm 左右即可。至於外管的高度只要高於內管 2~3cm 皆可。
虹吸管的外管下端開口高度大約等於排水後的高度,也就是最低水位。

2. 應依據您的進排水量來設計虹吸管的管徑。
進排水量跟您的植栽床蓄水容積與沉水馬達的抽水能力有關。

3. 虹吸裝置下方的排水彎頭不要垂直往下,最好偏約 45 度左右,在水將排盡時以利空氣進入破壞虹吸作用。
有些虹吸裝置外管的上端會加裝一條小管插入到土裡,這是用來加速破壞虹吸作用的。
當水即將排盡時,空氣會由此進入虹吸鐘內破壞壓力的不平衡。小管末端的高度就是低水位的高度。

4. 進水量的大小會影響虹吸管的正常作用。
進水量太小會讓虹吸作用在高水位時緩慢溢流,無法開始虹吸作用。
進水量太大會讓虹吸作用在低水位時持續吸水,無法停止虹吸作用。

5. 淹滿後再排放的頻率是多少? 有人說是 4~5  次/天,也有人說是 400~500 次/天。筆者以為這跟您種甚麼菜有關,有些菜嗜水性高吃水的時間就可以長些;反之,有些菜嗜水性低吃水的時間就應該短些。
另外,淹滿水與排放的時間比率也要注意一下,應該調整到讓硝化菌達到最佳的轉化狀態為宜。


註1: 植栽床的介質高度應依據所栽種蔬菜的種類而定,一般來說是 20~30cm,最好不要低於 10cm。因為介質的高度愈高在過濾及淨化水質的效果上會愈佳。








閃爍(Blink)

閃爍(Blink)

目的: 讓 LED 亮 1 秒暗 1 秒,持續地閃爍。


材料清單: 
1. Arduino 模組 x1
2. 麵包板 x1
3. 線材若干
4. LED x1
5. 220R 電阻 x1


電路圖:


接線圖:

LED 比較長那一支腳是(+)極,須先接上 220 歐姆電阻,再接 Arduino 的 13 pin,LED 比較短那一支腳是(-)極,直接接 Arduino 的 Gnd pin。


程式碼:

/*
Blink.pde
點亮 LED 1 秒鐘,然後關閉 1 秒鐘,如此持續地閃爍。
*/

void setup() {
  // 初始化數位腳槽作為輸出用。
  // 將 13 pin 設為輸出。
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH); // 將 LED 點亮
  delay(1000); // 持續 1 秒
  digitalWrite(13, LOW); // 熄滅 LED
  delay(1000); // 持續 1 秒

}


討論:

Q1: LED 和電阻的位置對調,這樣的線路接法可以嗎?












A1: 這樣是可以的。


Q2: 直接將 LED 插在 Arduino 插槽上,這樣可行嗎?

A2:
這樣做雖然也可以讓 LED 正常閃爍,但這樣做會有極大的風險,小則燒掉 LED,大則燒掉 Arduino 模組。所以最好還是要加上限流電阻。

在這裡要提醒您,必須把 LED 的工作電壓和所能承受的最大電流時常謹記在心。不同種類的 LED 有不同的工作電壓和所能承受的最大電流,一般紅色 5mm LED 的工作電壓是 1.8V,安全工作電流是 15mA~20mA。

Arduino 每一個插槽的輸出電壓是 5V,這電壓很明顯超過 LED 的工作電壓,為什麼 LED 不會被燒毀? 這是因為 Arduino 輸出的電流非常小, LED 還可以承受這樣的電流量。


相關連結:

1. Arduino 官網  http://arduino.cc/en/Tutorial/blink