語法結構
#include <avr pgmspace.h="">
//define and const 都是常數定義,如Array一定要用const,且優先使用const。
#define ledPin 3
const int buttonPin = 10;
void setup()
{
Serial.begin(9600);
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop()
{
// ...
}
- pinMode(pin, mode)︰指定某DIGITAL腳位為INPUT/OUTPUT
- Parameters
- mode:
INPUT(輸入) 高電壓為HIGH,低電壓為LOW。下拉電阻接地。
OUTPUT(輸出) 輸出5v 40mA
INPUT_PULLUP(輸入-啟用內建上拉電阻) 讓PIN腳維持在HIGH。上拉電阻接電源。狀態會與INPUT相反。
- Returns
None
- digitalWrite(pin, value)︰數位寫入
- Parameters
- pin: 指定作用的數位腳位PIN
- value: HIGH or LOW
- Returns
- digitalRead(pin)︰數位讀取
- Parameters
- Returns
- HIGH or LOW 高電壓為HIGH,低電壓為LOW
- analogRead(pin)︰類比讀取,調用時不需設定pinMode IN,只隻持Analog Pin腳使用。
- analogWrite(pin, value)︰類比寫入,調用時不需設定pinMode Out,只支持PWM~ Pin腳使用。
- Parameters
- pin: 指定作用的類比腳位PIN
- value: (0 to 255階) 8bit
- Returns
- map(value, fromLow, fromHigh, toLow, toHigh)︰將一個數值從一個範圍映射到另外一個範圍。
- Parmeters
- value︰需要映射的值
- fromLow︰來源範圍值的下限
- fromHigh︰來添範圍值的上限
- toLow︰目標範圍值的下限
- toHigh︰目標範圍值的上限
- Returns
- 範例︰
- Q︰從analogRead(x)取得一個值。要輸出到PWM。
- A︰
int a = analogRead( x );
int b = map( a, 0, 1023, 0, 255 );
analogWrite( y, b );
- Q︰從analogRead(x)取得一個值,要轉換成0~9的值。
- A︰
int a = analogRead( x );
int b = map( a, 0, 1023, 0, 9 )
- tone(pin, frequency, duration) ︰控制產生特定頻率方波。
- Parmeters
- pin︰產生頻率的PIN
- frequency︰產生的頻率,單位Hz。無符號的整數int。
- duration︰(可選),持續的時間,單位ms,無符號的長整數long。
- Returns
- Serial.print(val, format)︰列印資料到serial port
- Parameters
- val: the value to print - any data type
- format: specifies the number base (for integral data types) or number of decimal places (for floating point types)
- Returns
- size_t (long): print() returns the number of bytes written, though reading that number is optional
- Example︰
- Serial.print(78) gives "78"
- Serial.print(1.23456) gives "1.23"
- Serial.print('N') gives "N"
- Serial.print("Hello world.") gives "Hello world."
- -------------------------------------------------------------
- Serial.print(78, BIN) 二進位 gives "1001110"
- Serial.print(78, OCT) 8進位 gives "116"
- Serial.print(78, DEC) 10進位 gives "78"
- Serial.print(78, HEX) 16進位 gives "4E"
- Serial.println(1.23456, 0) 小數點0位 gives "1"
- Serial.println(1.23456, 2) 小數點2位 gives "1.23"
- Serial.println(1.23456, 4) 小數點4位 gives "1.2346"
- ss
- dd
沒有留言:
張貼留言