抽了點時間在Arduino官方上看了很多資料,官方的資料解析都是英文的,看得有點吃力!其中如下圖:
- Arduino官方: http://www.arduino.cc/
- Arduino源碼: http://code.google.com/p/arduino/
- Arduino臺灣: http://www.arduino.tw/
- Liquidware : http://www.liquidware.com/
Arduino的軟件可以在http://code.google.com/p/arduino/downloads/list這里下載得到。
看了很多資料,得到的總結來分享下面的程序代碼:
#include <Servo.h> //這里是頭文件,可以在“sketch”-“Import Library”-“servo”調用出來
Servo myservo_1; //定義一號舵機名{Servo [聲明舵機的名字,可以隨意,后面需要調用]}
Servo myservo_2; //定義二號舵機名
void setup() //這里前面的文章提過了,指的是函數在程序開始時使用,可以初始化變量、接口模式、啟用庫等
{
myservo_1.attach(9); //定義一號舵機接口,連接到Arduino板子上的pin9
myservo_2.attach(10); //定義二號舵機接口,連接到Arduino板子上的pin10
Serial.begin(19200); //設置波特率為19200,波特率
Serial.print("Ready"); //板子運行的時候返回“Ready”提示
}
void loop()
{
static int v=0;
if (Serial.available()) //判斷語句
{
char ch = Serial.read(); //讀取串口數據
switch(ch)
{
case '0'...'9':
v = v*10 + ch - '0'; //字符轉換成十進制
break;
case 'a': //如果數據后帶a,則表示是一號舵機的數據,比如串口發送85a
myservo_1.write(v); //用于設定舵機旋轉角度的語句,可設定的角度范圍是0°到180°,“V”得到所輸入的值而改變角度,比如85a為85度角
v = 0;
break;
case 'b': //如果數據后帶b,則表示是二號舵機的數據,比如串口發送85a
myservo_2.write(v); //用于設定舵機旋轉角度的語句,可設定的角度范圍是0°到180°,“V”得到所輸入的值而改變角度,比如90b為90度角
v = 0;
break;
}
}
}
====================我用的擴展板是Roboduino I/O Expansion v3.0=============================