遙控捕蠅草

一月 17, 2015
Facebook
Twitter
透過指令控制食肉植物,以探索機械生物!
我們將在這個簡單又有趣的專題裡創造一棵搖控捕蠅草,並將捕蠅草的葉片接上Arduino微控制器,再送出微小的電子訊號來觸發生物反應。材料費只需要40美元(不包括重複利用的Arduino),組裝所需的時間還不到90分鐘(但必須外加24小時讓捕蠅草休息),非常適合當作課堂範例。還可以加裝Wi-Fi模組和第二組電路來偵測葉子閉合的狀況,這樣你就有一棵可連上網路的捕蠅機械植物了!
運作原理

生物界中大部分的運動,主要由物質在不同濃度間流動的力量所驅動。在捕蠅草這樣的生物體中,細胞利用這樣的濃度差異來移動「離子」,也就是帶電的粒子。鈣(Ca2+)和鉀(K+)離子帶有正電,代表它們需要獲得電子(e-)以變成中性。氯(Cl–)離子則帶負電,代表其需要釋出電子來變成中性。捕蠅草的離子流動同時改變了離子濃度和電荷,電池也利用了同樣的原理。電池一端充滿電子,另一端缺乏電子,電子本來會從高濃度流動到低濃度,不過一道不可穿越的牆阻隔了它們,只有透過導線連接電池兩端才能形成通路。當有昆蟲刺激到捕蠅草表面的感覺毛時,其內部細胞的離子濃度會發生變化,而電荷(e-)的改變會讓葉子的主葉脈快速充水,促使葉片閉合。

如果我們把捕蠅草放到電路裡面會發生什麼事呢?從植物的觀點來看,湧入細胞的電荷會讓它「感覺」離子濃度發生變化。因此,我們可以利用電流來模擬蒼蠅停在葉片時所產生的生物反應。



材料

  • 捕蠅草(Venus Flytrap:學名Dionea muscipulosa(又稱King Henry),可在petflytrap.com購得。
  • 銀線,純度99.99%,長度5″2
  • 牙籤
  • 烈酒杯(SHOT杯)
  • 家用漂白水,10mL
  • 膠帶:透明膠帶、紙膠帶或電工膠帶。
  • Arduino Uno開發板Maker Shed網站商品編#MKSP99makershed.com)。
  • 一般A接頭轉B接頭的USB傳輸線
  • 麵包板:Maker Shed網站商品編號#MKEL3#MKKN3
  • 電線(15):Maker Shed網站商品編號#MKSEEED3
  • 電池座,2×AA
  • AA電池(2
  • 電阻,10kΩ2
  • 光耦合器積體電路(IC),4針腳DIP封裝125mA:如Lite-On LTV-814H
  • 運算放大器ICLM358

工具

  • 三用電表
  • Arduino IDE軟體的電腦:可至arduino.cc/en/Main/Software免費下載。


第一步:製作電極

  • 漂白水倒入烈酒杯,並注意水面高度。一次可以製作兩個電極,分別將兩條銀線都纏到牙籤上,留下大約1″的長度,剛好讓一端有1cm的長度可以浸到漂白水中。
  • 接著把牙籤放在酒杯上,讓銀線進行15分鐘的反應(圖1),以形成一層氯化銀,而完成後的顏色會比較暗沉一點。最後把銀線拆下,放在水龍頭下沖洗乾淨。

第二步:設置電極

  • 小心地把一個電極插入捕蠅草的主葉脈,此時葉子可能會闔上,不過沒關係,接著再把第二個電極插入其中一瓣葉片的中間(圖2)。
  • 將兩條電極分開,並用膠帶固定在花盆上,以減少移動來避免短路。

第三步:建立電路

  • AA電池座的兩條電線分別接到麵包板的正負極(紅線接正極、黑線接負極),再把電阻、運算放大器IC、光耦合器和電線依照圖3的方式接好。
  • 10kΩ電阻的一端接到正極,另一端接到運算放大器IC附近的一列(但是不要連接在同一列)。
  • 把第二個10kΩ電阻的一端跟第一個電阻連接到同一列,另一端則接到負極。
  • 電池放入電池座以測試電路。三用電表的紅色探針接到電源正極,黑色探針接到負極,你應該會讀到「3.0V」或略高。接著將三用電表的紅色探針移到兩個電阻的連接處,此時讀數應該只有一半。
  • 移除AA電池座和麵包板連接的紅色電線。

第四步:建置運算放大器IC

  • 依照圖4在麵包板中間跨接運算放大器IC,靠近(但不要相連)兩個電阻,針腳1最靠近電壓負極。
  • 針腳8跨接電壓正極;針腳4跨接電池負極;針腳1和針腳2相連;針腳3連接至兩個10kΩ電阻連接處。並在針腳1連接第二條電線,另一端不用連接到其他元件。
  • 重新接上AA電池座的紅色電線至麵包板以測試電路。三用電表的紅色探針接到IC針腳8,黑色探針接到針腳4,你應該會讀到「3.0V」;紅色探針接到針腳1,黑色探針接到針腳4,讀數恰為一半。

第五步:設置Arduino

图片

  • 先將麵包板放置一旁,然後開始設置Arduino,這可以讓你連接電路和避免失敗。用USB傳輸線連接電腦和Arduino,開始Arduino軟體,選擇檔案→範例→01.基本→閃爍(File Examples 01.Basics Blink
  • 按下上傳鍵並選擇適當的連接埠(例如/dev/cu.usbmodem1421),上傳成功之後,麵包板上的小燈會開始閃爍。拔除USB傳輸線以關閉Arduino電源。

第六步:設置光耦合器

  • 將光耦合器插入麵包板上未使用的孔洞,針腳1最靠近電壓負極。
  • 依照圖6跨接針腳:針腳1Arduino針腳2跨接;針腳2接地;針腳3跨接麵包板上的電壓負極;針腳4接上電線一端,電線另一端不用連接任何元件。

第七步:測試電路

  • 重新連接電池座紅色電線並確認其與麵包板已正確連接。
  • 接著用USB傳輸線連接電腦和Arduino,複製以下程式碼:

/*

 VenusTrigger

 

 A simple sketch to actuate the closure of a

 venus flytrap leaf using a simple circuit.




 Wait to receive a character on the serial port,

 then cause pin 2 to go high for 5 seconds.

 

 Distributed under the GPLv2 public license.

 

 Author: jordan.husney@gmail.com

 (c) 2013

 */

 

int incomingByte = 0;

 

void setup() {

  Serial.begin(9600);

  pinMode(2, OUTPUT);

  digitalWrite(2, LOW); 

}

 

void loop()

{

  Serial.print(“Waiting for keypress: “);

  while (Serial.available() == 0) {

    // Just hang out;

  }

 

  incomingByte = Serial.read();

  Serial.println(“triggered!”);




  digitalWrite(2, HIGH);

  delay(5000);

  digitalWrite(2, LOW);

}

  • 按下上傳鍵上傳至Arduino。選擇工具→序列埠監視器(Tools Serial Monitor)以打開序列埠監視器視窗,輸入「hi」並按下送出,便會看到視窗顯示出「Triggered!」和「Waiting for keypress:」的字樣。將三用電表的紅色探針接到光耦合器的針腳1上,黑色探針接到針腳2上,此時你應該會讀到「0V」。再從序列埠監視器送出一次「hi」之後,你則會讀到「5V且時間持續5秒鐘。
  • 接下來,將紅色探針同時接到運算放大器未連接的電線和光耦合器未連接的電線上,應該會讀到「0V」。接著在序列埠監視器中按下任何一個按鍵,應該會讀到「1.5V」且時間持續5秒鐘。如果結果是這樣,便可以將其與真正的植物相連了!

第八步:啟動機械植物

  • 先等待捕蠅草完全打開(可能需要1272小時,請耐心等候),再來便是大顯身手的時刻了。
  • 將運算放大器未連接的電線與主葉脈電極相連,而光耦合器未連接的電線則與葉片的電極相連,在此時葉片應該還是處於打開的狀態。
  • Arduino的序列埠監視器視窗中,準備按下按鍵。數到三,說「啟動捕蠅草!」然後按下任何一個按鍵,葉片就會闔上!如果沒闔上,可以再對它電擊一次,有時可能需要電個兩三次才能順利動作,現在你便可以操縱機械食肉植物了!

第九步:電路原理

原理是用兩個電阻作為分流器,它們連接的位置剛好就是總電流的一半。電極一端連接運算放大器作為緩衝,輸出經過電阻的電流量至捕蠅草葉脈。另一端電極連接光耦合器,光耦合器可以隔絕捕蠅草和「危險的」Arduino電壓,轉而連接「安全的」電池電壓。光耦合器內含LED和光感器,Arduino傳送脈衝時LED就會發亮,光感器感應到亮光後電流就會通過捕蠅草葉片,葉片就會關閉。原理跟電晶體一樣,其實這裡應該可以用電晶體取代,不過用LED連接生物體還是比較聰明的作法。所有的醫療診斷器材也是使用LED而不是使用電晶體,因為通路時光耦合器還是可以隔絕電流,但是電晶體等其他開關短路時才能隔絕電流,可能會傷害或殺害生物體。

第十步:探索更多可能

完成了遙控捕蠅草之後,你大概想出一堆如何使用它的點子,但這裡有幾個建議:

  • 考慮使用ArduinoWi-FiXBee擴充板來製作無線捕蠅草
  • 把連接到捕蠅草的電極當作模控蒼蠅偵測器,當感覺毛觸動時,電極上會出現很微弱(僅0.14V)且短暫(<2ms)的電壓突波,你可以使用一種叫做儀表放大器的晶片(如Analog Devices AD623)將這個微小的訊號放大幾百或幾千倍,得以讓Arduino進行偵測。


JORDAN HUSNEY
喬登哈斯尼Undercurrent的策略總監,而在工作之餘,他喜歡把所有東西都連上網路,目前他最大的挑戰則是烤肉架。jordan.husney@gmail.com


DR. SASHA WRIGHT
薩莎萊特博士是一位參與耶拿生物多樣性實驗的生態學家,負責設計預測氣候變遷效應的電腦模組,她目前是莎拉勞倫斯學院(Sarah Lawrence College)的生態學和植物生理學教授。sashajwright@gmail.com

(譯:屠建明)
原文

Social media & sharing icons powered by UltimatelySocial