2016年2月14日 星期日

奶油蒼蠅2.0 的 研究 (1)


想要接觸四軸飛行器一陣了....可惜都還沒有行動....

剛好看到Ark Lab 的活動.... 就報名參加了....

買了一台奶油蒼蠅2.0 和一堂半天的課程.....


他用的晶片是  ATmega  328....相容於 arduino...

所以直接用Arduino 的IDE 來compile 和 upload....




插上usb 轉 TTL  (FTDI)  ...

然後看一下裝置管理員....


 在 連接阜那邊....如果有安裝好driver  就可以看到  USB-SERIAL CH340...

後面是他相對應的COM port number...以我的電腦來看是COM5....

如果沒有出現com port number.....需要安裝driver

driver 的 download path   :  http://www.driverscape.com/download/usb-serial-ch340

接下來就是連接  FDTI 和 電路板

兩邊都有寫  DTR.... 把線對上去就對了....  須注意...其實只需要5根線.... FDTI 的GND 不用連過去




接下來就是打開  Arduino  的 IDE ....



左上角的  分別為   compile (勾勾 符號) 和  upload ( -> 符號)

我直接用他的範例程式.....    

接下來設定  Serial port 和  Board....

Tool -> Serial Port -> COM5   (COM5 是要看你的裝置管理員)


Tool -> Board ->   XXX  ATmega 328..




接下來就是 compile 和  upload  了.....



接下來我們來看一下這個範例程式.....   

先來看setup ()  


void setup() {
  Serial.begin(9600);
  pinMode(3, OUTPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);pinMode(11, OUTPUT);
  analogWrite(3, 0);analogWrite(9, 0);analogWrite(10, 0);analogWrite(11, 0);
  
}

這裡他會用到 serial .... 所以先設baud rate : 9600...

然後這個程式碼是要看多少的電壓對應馬達多少的轉速....

四顆馬達所對應到的gpio number 為 3,9,10,11....

所以要把它們設成  output mode.... 然後給他們initial value 0 

接下來看  loop ()

void loop() {

  if (stringComplete) {
     Serial.print(inputString); 
     inputString.toCharArray(text, 5);
    Serial.print("flag is:"); Serial.println(text[0]);
    Serial.println("you type:"); Serial.println(text[1]);
     Serial.println(text[2]);
     Serial.println(text[3]);
     //Serial.println(text[4]);
     
     if(text[0] == '!'){
      output = str2DEC();
       analogWrite(3, output);
       analogWrite(9, output);
       analogWrite(10, output);
       analogWrite(11, output);
       Serial.print("Output is:"); Serial.println(output);
     } 
      inputString = "";
      stringComplete = false;    
  }
}  

==============================

這裡他設定成   傳送的字串第一個字元必須是'!'
然後後面接3個數字..... 第五個必須是'\n' 換行符號....

所以他會check  if(text[0] == '!')
然後呼叫 str2DEC ...把字串轉成數字....然後寫到四個 馬達....你就可以看到馬達開始轉動

程式的大概就是這樣.....把他upload 到 ATmega 328....然後按下 arduino IDE的右上角的

Serial Monitor...



 然後就會看到類似終端機的畫面....



 先選下面的option  改成  NewLine....  他會幫你在後面多加一個 '\n' 的字元....

 你可以打一個數字試試看...例如   !020

然後你就會看到四個馬達開始轉了..... 轉數最大為  !255

這個例子只是示範馬達轉速...

最後要燒錄的code為  MultiWii_x4_mpu6050_last_bluetooth

打開裡面點選   MultiWii_x4_mpu6050_last_bluetooth.ino

就會打開整個project...然後把它upload 進去...就可以準備用手機來控制它了....




 Reference :   http://ark-lab.blogspot.tw/

沒有留言:

張貼留言