arduino設計
基本指令篇
---數字輸入輸出接口
digitalRead(pin);//讀值
digitalWrite(pin,HIGH);//寫高或低
pinMode(pin,) //工作模式設置INPUT, OUTPUT, or INPUT_PULLUP上拉輸入
---模擬輸入輸出
analogRead() 讀入模擬電壓返回0-1023
analogReference();//參量配置INTERNAL、INTERNAL1V1、INTERNAL2V56
analogWrite(pin,value);//輸出多大占空比
---Advanced I/O接口
pulseIn(pin, value, timeout);//返回PIN引腳的高電平或低電平脈沖,timeout為時間限制。
---Math部分
map();
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}類似於分辨率的放大縮小
constrain(x,a,b)//限制
abs;//絕對值
max,min;/最大最小值
sq(x);//x的平方
sqrt(x);//x的平方根
---時間模塊
delay(ms);//延時模塊;
delayMicrosecond(us);//微秒級
millis();//返回顯示運行時間
micros();//返回顯示當前運行微秒級時間
【庫文件】
1、Servo類 伺服
The angle of the servo, from 0 to 180 degrees.
serve.attach();//綁定引腳
servo.read();//讀角度
servo.write(angle) //寫角度
writeMicroseconds()精確控制到us
serve.detach();//釋放引腳
舵機是以PWM周期進行控制的。
1500脈沖代表中值 90度
1000 0度
2000 180度
2、Serial串口
Serial.begin(波特率);//開啟傳輸
(1)打印數據
Serial.print(" ");//打印
Serial.print(變量);//打印變量
(2)接收數據
SoftwareSerial: available();接收到的字節數量
需要先判斷是否有接收數據,
Serial.read();//接收數據
【中斷】
attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
//中斷;三個參量;
中斷引腳(數字引腳轉為中斷標)
中斷函數(隨意函數名)
中斷源方式(上升沿RISING;下降沿FALLING;低電平LOW,高電平HIGH)