學習Arduino就要從學習這些語句及基本函數開始,Arduino使用起來要比其他微處理器更易懂,與Basic Stamp有些相似,Arduino的編程語言更為簡單和人性化,Arduino編程語言基于C語言,但其實用性要遠高于C語言,主要由于它將一些常用語句組合函數化,例如:延時函數delay(1000)即為一秒。
在學語言之間,還要做的一個功課就是要明白程序的構架,這個也同樣簡單,大體可分為幾個部分。
1、聲明變量及接口名稱(int val;int ledPin=13;)。
2、setup()——函數在程序開始時使用,可以初始化變量、接口模式、啟用庫等(例如:pinMode(ledPin,OUTUPT);)。
3、loop()——在setup()函數之后,即初始化之后,loop() 讓你的程序循環地被執行。使用它來運轉Arduino。
接下來就開始學習一下幾個基本函數。
1、pinMode(接口名稱,OUTPUT或INPUT)將——接口定義為輸入或輸出接口,用在setup()函數里。
2、digitalWrite(接口名稱, HIGH或LOW)——將數字接口值至高或低。
3、digitalRead(接口名稱)——讀出數字接口的值。
4、analogWrite(接口名稱, 數值)——給一個接口寫入模擬值(PWM波)。對于 ATmega168芯片的Arduino(包括Mini或BT),該函數可以工作于 3, 5, 6, 9, 10和 11號接口。老的 ATmega8芯片的USB和 serial Arduino僅僅支持 9, 10和11號接口。
5、analogRead(接口名稱)——從指定的模擬接口讀取值,Arduino對該模擬值進行10-bit的數字轉換,這個方法將輸入的0-5電壓值轉換為 0到1023間的整數值。
6、delay()——延時一段時間,delay(1000)為一秒。
7、Serial.begin(波特率)——設置串行每秒傳輸數據的速率(波特率)。在同計算機通訊時,使用下面這些值:300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600或 115200。你也可以在任何時候使用其它的值,比如,與0號或1號插口通信就要求特殊的波特率。用在setup()函數里
8、Serial.read()——讀取持續輸入的數據。
9、Serial.print(數據,數據的進制)——從串行端口輸出數據。Serial.print(數據)默認為十進制等于Serial.print(數據,DEC)。
10、Serial.println(數據,數據的進制)——從串行端口輸出數據,跟隨一個回車和一個換行符。這個函數所取得的值與 Serial.print()一樣。
以上幾個函數是常用基本函數,還有很多以后會慢慢學習。
=================================================================================
Arduino自帶的Servo函數及其語句,先來介紹一下舵機函數的幾個常用語句吧。
1、attach(接口)——設定舵機的接口,只有9或10接口可利用。
2、write(角度)——用于設定舵機旋轉角度的語句,可設定的角度范圍是0°到180°。
3、read()——用于讀取舵機角度的語句,可理解為讀取最后一條write()命令中的值。
4、attached()——判斷舵機參數是否已發送到舵機所在接口。
5、detach()——使舵機與其接口分離,該接口(9或10)可繼續被用作PWM接口。
注:以上語句的書寫格式均為“舵機變量名.具體語句()”例如:myservo.attach(9)。
下面就來具體分析一個小程序。
#include <Servo.h>//定義頭文件,這里有一點要注意,可以直接在
Arduino軟件菜單欄單擊Sketch>Importlibrary>Servo,調用Servo函數,也可以直接輸入#include <Servo.h>,但是在輸入時要注意在#include 與<Servo.h>之間要有空格,否則編譯時會報錯。
Servo myservo;//定義舵機變量名
void setup()
{
myservo.attach(9);//定義舵機接口,9或10
}
void loop()
{
myservo.write(90);//設置舵機旋轉的角度
}