Arduino函數

輸入輸出函數
git

pinMode(pin, mode)
將數位腳位(digital pin)指定爲輸入或輸出。
如:pinMode(7,INPUT); // 將腳位 7 設定爲輸入模式
dom

digitalWrite(pin, value)
將數位腳位指定爲開或關。腳位必須先透過pinMode明示爲輸入或輸出模式digitalWrite才能生效。
範例:digitalWrite(8,HIGH); //將腳位 8設定輸出高電位

int digitalRead(pin)
將輸入腳位的值讀出,當感測到腳位處於高電位時時回傳HIGH,不然回傳LOW。
範例:val = digitalRead(7); // 讀出腳位 7 的值並指定給 val

int analogRead(pin)
讀出類比腳位的電壓並回傳一個 0到1023 的數值表示相對應的0到5的電壓值。
範例:val = analogRead(0); //讀出類比腳位 0 的值並指定給 val變數

analogWrite(pin, value)
改變PWM腳位的輸出電壓值,腳位一般會在三、五、六、九、10與11。Value變數範圍0-255,例如:輸出電壓2.5伏特(V),該值大約是128。
範例 :analogWrite(9,128); // 輸出電壓約2.5伏特(V)

unsigned long pulseIn(pin, value) value值爲LOW或者HIGH
設定讀取腳位狀態的持續時間,例如使用紅外線、加速度感測器測得某一項數值時,在時間單位內不會改變狀態。
範例 :time = pulsein(7,HIGH); // 設定腳位7的狀態在時間單位內保持爲HIGH

shiftOut(dataPin, clockPin, bitOrder, value)
把資料傳給用來延伸數位輸出的暫存器,函式使用一個腳位表示資料、一個腳位表示時脈。bitOrder用來表示位元間移動的方式(LSBFIRST最低有效位元或是MSBFIRST最高有效位元),最後value會以byte形式輸出。此函式一般使用在延伸數位的輸出。
範例:shiftOut(dataPin, clockPin, LSBFIRST, 255);
函數

 


時間函數
控制與計算晶片執行期間的時間ui

unsigned long millis()
回傳晶片開始執行到目前的毫秒
範例:duration = millis()-lastTime; // 表示自"lastTime"至當下的時間
編碼

delay(ms)
暫停晶片執行多少毫秒
範例:delay(500); //暫停半秒(500毫秒)


delay Microseconds(us)
暫停晶片執行多少微秒
範例:delayMicroseconds(1000); //暫停1豪秒


數學函式
三角函數以及基本的數學運算

min(x, y)
回傳兩數之間較小
範例:val = min(10,20); // 回傳10


max(x, y)
回傳兩數之間較大者
範例:val = max(10,20); // 回傳20


abs(x)
回傳該數的絕對值,能夠將負數轉正數。
範例:val = abs(-5); // 回傳5


constrain(x, a, b)
判斷x變數位於a與b之間的狀態。x若小於a回傳a;介於a與b之間回傳x自己;大於b回傳b
範例:val = constrain(analogRead(0), 0, 255); // 忽略大於255的數


map(value, fromLow, fromHigh, toLow, toHigh)
將value變數依照fromLow與fromHigh範圍,對等轉換至toLow與toHigh範圍。時常使用於讀取類比訊號,轉換至程式所須要的範圍值。
例如:val = map(analogRead(0),0,1023,100, 200); // 將analog0 所讀取到的訊號對等轉換至100 – 200之間的數值。


double pow(base, exponent)
回傳一個數(base)的指數(exponent)值。
範例:double x = pow(y, 32); // 設定x爲y的32次方


double sqrt(x)
回傳double型態的取平方根值。
範例:double a = sqrt(1138); // 回傳1138平方根的近似值 33.73425674438


double sin(rad)
回傳角度(radians)的三角函數sine值。
範例:double sine = sin(2); // 近似值 0.90929737091


double cos(rad)
回傳角度(radians)的三角函數cosine值。
範例:double cosine = cos(2); //近似值-0.41614685058


double tan(rad)
回傳角度(radians)的三角函數tangent值。
範例:double tangent = tan(2); //近似值-2.18503975868


隨機數函式(產生隨機數)

randomSeed(seed)
事實上在Arduino裏的亂數是能夠被預知的。因此若是須要一個真正的亂數,能夠呼叫此函式從新設定產生亂數種子。你可使用亂數看成亂數的種子,以確保數字以隨機的方式出現,一般會使用類比輸入看成亂數種子,藉此能夠產生與環境有關的亂數(例如:無線電波、宇宙雷射線、電話和螢光燈發出的電磁波等)。
範例:randomSeed(analogRead(5)); // 使用類比輸入看成亂數種子

long random(max)
long random(min, max)
回傳指定區間的亂數,型態爲long。若是沒有指定最小值,預設爲0。
範例: long randnum = random(0, 100); // 回傳0 – 99 之間的數字
long randnum = random(11); // 回傳 0 -10之間的數字

串口通信spa


Serial.begin(speed)
你能夠指定Arduino從電腦交換訊息的速率,一般咱們使用9600 bps。固然也可使用其餘的速度,可是一般不會超過115,200 bps(每秒位元組)。
範例:Serial.begin(9600);
Serial.print(data)
Serial.print(data, encoding)

經序列埠傳送資料,提供編碼方式的選項。若是沒有指定,預設以通常文字傳送。
範例: Serial.print(75); // 列印出 "75"
Serial.print(75, DEC); //列印出 "75"
Serial.print(75, HEX); // "4B" (75 的十六進位)
Serial.print(75, OCT); // "113" (75 in的八進位)
Serial.print(75, BIN); // "1001011" (75的二進位)
Serial.print(75, BYTE); // "K" (以byte進行傳送,顯示以ASCII編碼方式)


Serial.println(data)
Serial.println(data, encoding)
與Serial.print()相同,但會在資料尾端加上換行字元( )。意思如同你在鍵盤上打了一些資料後按下Enter。

範例: Serial.println(75); //列印出"75 "
Serial.println(75, DEC); //列印出"75 "
Serial.println(75, HEX); // "4B "
Serial.println(75, OCT); // "113 "
Serial.println(75, BIN); // "1001011 "
Serial.println(75, BYTE); // "K "數學

int Serial.available()
回傳有多少位元組(bytes)的資料還沒有被read()函式讀取,若是回傳值是0表明全部序列埠上資料都已經被read()函式讀取。
範例:int count = Serial.available();


int Serial.read()
讀取1byte
範例: int data = Serial.read();

Serial.flush() 刷新緩衝區數據
範例:Serial.flush();it

相關文章
相關標籤/搜索