8.Arduino-類比轉換-map
程式碼說明
1.map(腳位,舊的最小值,舊的最大值,新的最小值,新的最大值):我們可以用map將原本的類比範圍從0~1024改成0~255,以便控制LED亮度或馬達轉速。假設收訊來源在A0,程式碼:map(A0,0,1024,0,255);
範例說明
透過可變電阻調整類比數值,進而改變LED亮度
線路圖
程式碼
int vr=A0;//可變電阻為A0
int led=9;//LED為9
int vr_read;//感應的類比數值
int vr_map;//修改後的類比數值
void setup() {
Serial.begin(9600);
//打開主機板通路,9600位元/秒
pinMode(led,OUTPUT);//LED為輸出裝置
pinMode(vr,INPUT);//可變電阻為輸入裝置
}
vr_read=analogRead(vr);//vr_read=感應可變電阻腳位的類比數值
vr_map =map(vr_read,0,1024,0,255);//轉換數值範圍1024變255
//因為用analogWrite控制LED的範圍是0~255
//而感應類比數值的範圍是0~1024,除4後最大值接近255
Serial.print("類比數值:");//顯示 類比數值(文字):
Serial.print(vr_map);//顯示 類比數值(數值)
Serial.println();//換行
Serial.println();//換行
analogWrite(led,
vr_map);
delay(150);
}
(透過旋轉可變電阻來改變LED亮度)
(analogRead從0~255)
留言
張貼留言