2013年2月18日 星期一

使用Raspberry Pi控制Arduino(3)--使用Scratch

因為Scratch for Arduino(S4A)的Linux版本無法在Raspberry Pi執行,所以後來就使用網路上別人寫好的Python interface to Scratch, 配合上一篇使用的函式庫,初步達到在Raspberry Pi中Arduino跟Scratch的互動。不過互動的情況還有需要改進之處!

測試過程記錄在以下影片:


2013年2月5日 星期二

使用Raspberry Pi控制Arduino(2)--使用Python GUI Programming (Tkinter)


以下為在Raspberry Pi使用GUI控制Arduino的測試影片。程式的部分是參考 The MagPi issue 7的封面文章(http://themagpi.com/view?issue=7)修改而成,是使用python的Tkinter模組提供的視窗介面。



2013年1月27日 星期日

Launchpad使用Energia(6)--太陽能供電



使用Li-Po rider的情形(跟www.mcuapps.com購買):
1.USB對鋰電池充電:
    (1)未充飽時:                                             (2) 充飽時:

2. 以太陽能板對鋰電池充電:

 

3.以太陽能板和鋰電池對Launchpad供電:

 

2013年1月25日 星期五

Launchpad使用Energia(5)--用手機控制


之前向www.motoduino.com購買的S4A sensor board中有附手機端的程式和Arduino端的程式。
在修改Arduino端程式以配合Launchpad的接腳後,即可透過手機控制跟Launchpad相連的S4A sensor board。以下為測試的影片:

在加上兩顆伺服馬達後也可以使用手機成功操控:



之前曾成功使用amarino於手機跟Launchpad間的通訊,但目前我還不能把amarino用在手機跟Launchpad間的通訊,連在Arduino端程式的編譯都有問題。

2013年1月14日 星期一

Launchpad使用Energia(4)--與Raspberry Pi溝通




以下是最近測試Launchpad與Raspberry Pi溝通的記錄:

一、用USB介面將二者相連:

1.Raspberry Pi安裝python-serial函式庫:
$sudo apt-get install python-serial

2.LaunchpadPC相連時用Energia上傳以下程式:

int a;
void setup()
{
  pinMode(RED_LED, OUTPUT);
  pinMode(GREEN_LED, OUTPUT);
  Serial.begin(9600);
}


void loop()
{
  if (Serial.available())
  {
     a=Serial.read() - '0';
     switch (a) {
     case 1:
       digitalWrite(RED_LED, HIGH);
       digitalWrite(GREEN_LED, LOW); 
     break;
     case 2:
       digitalWrite(RED_LED, LOW);
       digitalWrite(GREEN_LED, HIGH);
     } 
  }
 
}


3.在尚未將LaunchpadUSB連接埠插入Raspberry Pi時在Raspberry Pi執行ls /dev/tty*,然後將LaunchpadUSB連接埠插入Raspberry Pi後執行ls /dev/tty*,兩者不一樣的地方就代表Launchpad的代號:


連接前:


連接後:



4.執行python



(1)serial函式庫匯入:
import serial
(2)設定序列埠的Baud rate,其中/dev/ttyACM1 是上一個步驟中得到的Launchpad的代號:
s = serial.Serial(‘/dev/ttyACM0’,9600) 
(3)輸入s.write(‘1’)時紅色LED發光:



(4)輸入s.write(‘2’)時綠色LED發光:


5.以下為測試影片:





二、用Raspberry Pi的GPIO pins:
使用Launchpad的好處之一,就是跟Raspberry Pi的GPIO pins相連時不需經過電壓轉換的電路。


P.S.使用GPIO pins時,使用一般的Arduino時需要有轉換電壓的電路(5V->3.3V)。
如果是使用Funduino並將電壓調整成3.3V時也可以不用轉換電壓的電路,可以直接將二者接在一起。請看下面影片:








2013年1月12日 星期六

Launchpad使用Energia(3)--與Processing的結合




 Launchpad也可以像Arduino一樣來跟Processing結合喔!

在以下網址下載Processing


進入http://arduino.cc/en/Tutorial/Dimmer,然後將下面選起來的程式複製到processing中:
 


processing中按”Run”執行,會看到processing IDE下方的黑色部分有顯示出目前的COM埠。然後按”Stop”。以我現在的情況為例,我的Launchpad是使用COM19,號碼是第2號,就要把上圖中紅色框內的數字改為2




建構以下的電路:



Energia中開啟以下的範例程式並下載至Launchpad


再按一次processing”Run”,會出現下面的視窗:


移動滑鼠,滑鼠游標所在區域的明暗會影響LED的亮度。
實際測試電路照片如下:


2013年1月11日 星期五

Launchpad使用Energia(2)--伺服馬達實驗與函式庫


操作伺服馬達時使用伺服馬達的函式庫方便很多。
Energia的伺服馬達的函式庫內建在以下位置:



這次是執行這個範例:





下面標示出程式中跟腳位有關的內容:



 以下為Launchpad with MSP430G2553的腳位圖:



根據程式內容,對照腳位圖來進行接線:




下面為使用Arduino時的接線,用來對照用:(這次伺服馬達接到Arduino 3.3V接腳時馬達動不了,所以接到5V)


下面為測試時電路的實際照片:
Launchpad
 


 Arduino

程式也是不需修改,按”upload”鈕即可用可變電阻控制伺服馬達的轉動角度。

下面是實際操作的影片: