2012年5月24日 星期四

四旋翼-SmartSensor

http://www.catcan.com.tw/resources/file_download/smartsensorlitemanualv1.0.pdf?attredirects=0&d=1
CATCAN網站上有使用Arduino讀SmartSensor的接線和程式教學

#include <Wire.h> //library of arduino wire.h
byte Data[6]={0,0,0,0,0,0}; // data array used to receive data from sensor
uint8_t start_offset = 0x00;
float Pitch; // after divided by100, pitch should be float
float Roll; // after divided by100, pitch should be float
float Yaw; // after divided by100, pitch should be float
void setup()
{
Wire.begin();
Serial.begin(115200); // for serial monitoring
}

void loop(){
   Wire.beginTransmission(0x18); // indicate the slave address 0X18
   Wire.write(start_offset); // send the starting register address 0x00=pitch
   Wire.endTransmission();
   Wire.requestFrom(0x18, 6); // read 2 bytes from 0X18
   while(Wire.available()){
     Data[0]=Wire.read(); // first received data LSB
     Data[1]=Wire.read(); // second received data MSB
     Data[2]=Wire.read(); // first received data LSB
     Data[3]=Wire.read(); // second received data MSB
     Data[4]=Wire.read(); // first received data LSB
     Data[5]=Wire.read(); // second received data MSB
  }
  Pitch=(Data[1] <<8|Data[0] )*0.01; // combine MSB,LSB and divided by 100
  Roll=(Data[3] <<8|Data[2] )*0.01; // combine MSB,LSB and divided by 100
  Yaw=(Data[5] <<8|Data[4] )*0.01; // combine MSB,LSB and divided by 100
  Serial.print("X:");
  Serial.println(Pitch); // show pitch data on serial monitor
  Serial.print("Y:");
  Serial.println(Roll); // show pitch data on serial monitor
  Serial.print("Z:");
  Serial.println(Yaw); // show pitch data on serial monitor
  delay(1000);
}

接線方式:黑線是接地,綠線接VCC,藍線接Arduino上的SDA,黃線接Arduino上的SLC。

2012年5月14日 星期一

四旋翼計劃_尋求贊助

這幾天查了許多關於ArduPilot的資料http://code.google.com/p/ardupilot-mega-tw/wiki/Home?tm=6
配備齊全,玩家多,資料豐富,問題是照著這種方案下去實在是會花不少錢,沒關西我想窮有窮的玩法,有錢人有有錢人的玩法><~,所以小弟我從以前跟朋友從超便宜遙控車拆下來的遙控器電路板拿來用,接收距離大概才5公尺左右吧...而且干擾的還很嚴重,經過Arduino的實測之後都還可以接收使用,我可以控制4種狀態,因為他原本是控制兩顆馬達的正反轉4條線,第一組10、01 第二組10、01 這四種狀態可以發送至我的Arduino,那麼最基本的四旋翼自主平衡我打算使用之前CATCAN公司大大贊助我們機器人研究社去做測試的SmartSensor http://www.catcan.com.tw/products/smartsensor-series/imu
該感測器具有高級的姿態演算法並且每秒會回傳20次以上的值,傳輸協定是I2C,Arduino上的寫法近期有成果再回報囉。


Arduino連結遙控接收板

焊好的電調電源

通電之後也沒問題


SmartSensor
今天一直在測試電調的設置,因為他的PWM訊號通常都可以由遙控器去做控制,高電位才可以進入設置的模式,該電調可以設置7種狀態的參數詳情請見說明書,進入之後聽到逼逼聲之後要轉換高低電位才能夠確認,因此我在這種沒有遙控器的方法之下只能寫個簡單的Arduino程式來使用電腦的Serial monitor控制我的PWM訊號,以下是我寫的Arduino程式控制pin9的PWM訊號程式


void setup() {              

  pinMode(9, OUTPUT);
  Serial.begin(115200);
  delay(500);
}

int incomingByte = 0;

void loop() {
   if (Serial.available() > 0) {
                incomingByte = Serial.read();
                if(incomingByte == 48){
                  analogWrite(9, 100);
                  Serial.println("low");
                }else{
                  analogWrite(9, 220);
                  Serial.println("high");
                }
                Serial.print("I received: ");
                Serial.println(incomingByte,DEC);
        }

}

程式寫的似乎不太好,因為當我輸入不是1或0時常常會有失控的現象,我認為非0應該就會跑else才是,但是卻會有跳0又跳1的現象發生,我不知道原因,不過輸入1和0就不會有這種問題。

另外真的希望有人可以贊助我們社團做這些研究,謝謝。

2012年5月10日 星期四

四旋翼計劃

本計劃是希望以後社團招生可以利用四旋翼做大大的宣傳,也可以讓想學習Arduino、ADK、手機等等有個有趣的應用平台,以後大家拿來做專題也是非常好的一個想法,所以我就在露天拍賣買了一套的四旋翼零件除了飛控板。


這幾天稍為跟社員們測試了一下,威力還蠻強大的,可是他正反槳的外圍沒有保護的裝置,我覺得這相當的危險,並且我們是在完全沒有飛行控制基礎的條件下去研究的,如果有對四旋翼小有研究的同好們,希望可以給我們一點建議,或是控制飛行的理論資料的謝謝。


好盈 SkyWalker-20A 無刷電變(四顆)/HobbyWing/天行者/普及版[KK032-1]*1
450級930KV無刷馬達(四顆)(附子彈頭/槳夾)/A2212/X2212[KK052-1]*1
外銷歐美高品質10吋正反槳/黑色/1045/六軸/四軸/三軸/二軸/多軸[KK004-4]*4
TURNIGY 11.1V 2200MAH 20C*2+電池專用袋[Su5]*1
IMAX B6 充電器+電源供應器/變壓器[PW001-1]*1
新款SK450四軸機架,歡迎搶購!!![SK450]*1




電調說明書:http://www.fftrc.com.tw/card.pdf
充電器說明書:http://www.fftrc.com.tw/download_B6.php
這是我大至上的購買商品
購買網站:http://www.fftrc.com.tw/download_card.php


SK450四軸機架

IMAX B6 充電器

10吋正反槳/黑色/1045
11.1V 2200MAH 20C*2

大致上組裝完


2012年4月30日 星期一

智慧型手機與嵌入式系統的邂逅~圓滿落幕






在這裡非常感謝大家願意犧牲假日的時間來參加本次的活動
以後若本社團還有什麼特殊活動或是研究也會在這邊公告~

2012年4月8日 星期日

智慧型手機與嵌入式系統 開發環境教學

智慧型手機與嵌入式系統

本次活動由於內容豐富,為了不耽誤大家的時間,請大家務必先安裝好各自筆電的開發環境以下有個開發環境的安裝教學,有任何問題歡迎提出,謝謝。

.安裝完整的開發環境Eclipse並下載安裝Android SDK
.安裝Arduino0023的開發環境並新增ADK函式庫



下載官方ADK的範例和函式庫adk_release_0512.rar

ADK_release_0512\firmware\arduino_libs內的函式庫放入arduino-0023\libraries裡面

下載CapSense函式並放入arduino-0023\libraries裡面

如果使用Arduino開發環境會有Delay現象請看以下連結


2012年3月26日 星期一

智慧型手機與嵌入式系統的邂逅




智慧型手機與嵌入式系統的邂逅

 

Google2011年發佈了周邊開發套件規格ADK,讓 Android 裝置可透過符合ADK規格的Arduino MEGA ADK開發板來控制各種周邊裝置例如燈號,伺服機與顯示器甚至自製的I/O裝置等等,一躍成為嵌入式系統的核心。亦可搭配NXShield-M來直接轉接相容於樂高NXT機器人的各種感測器與馬達,從Arduino的開放式精神出發,讓您的機器人能搭配更多配件,延展無限可能!在此誠摯地邀請您參加本次的研習活動,一同來體驗Android結合機器人的新紀元。

時間 : 101428日星期六  13:00~17:00

地點 : 淡江大學E819

主辦單位:淡江大學電機工程學系、淡江大學-機器人研究社。

協辦單位:CAVE教育團隊、翰尼斯企業有限公司

備註:
1. 
活動現場將配有Arduino MEGA ADK開發板與NXShield-M擴充板乙套使用(至多兩位參加者共用造成不便敬請見諒)

2.
自行攜帶筆記型電腦與Android裝置,以便實際操作。

3.
規格限定:Android手機版本需為2.3.4以上,平板版本需為3.1以上方能使用ADK功能。如不確定您的設備是否支援請來電或來信詢問。(0973108985劉几銘/ giming@cavedu.com

收費:在校生100元,名額有限請儘早報名。

匯款方式:
銀行名稱 :郵局 淡江大學郵局 
戶名 :淡江大學機器人研究社劉几銘
銀行代號 :700
帳號 :2441285-0408338

超級好禮相贈:
  1. Android ADK材料包乙包,不包含Arduino MEGA ADK控制板與 NXShield-M擴充板和麵包板。

活動議程:

13:00 CAVE教育團隊簡介

13:20 安裝EclipseAndroid環境 (建議先行安裝完成)
            Arduino 1.0 環境安裝與介紹
            第一支Arduino程式
            匯入CapSense AndroidAccessory / USB_Host_Shield函式庫
            搭配 NXShield 控制樂高機器人(感測器存取, 馬達控制).

14:30 中場休息、茶敘

14:50  使用Android裝置控制周邊:LED,伺服馬達,按鈕等

15:40  使用Android裝置控制樂高機器人(姿態感測器)
           [
小型專題]           

16:50 結語、賦歸

注意:主辦單位保留修改與解釋活動之所有權利。

聯絡方式:0973108985 劉几銘 / giming@cavedu.com


 活動報名請點我


 若不方便轉帳繳費,我們預計會有幾天在淡江大學體育館SG121(機器人研究社社辦)進行收費處理,由於人數有限制,活動以已繳費對像為優先錄取。



以下是當日活動會帶到的內容: