課程目標
相關知識
電位器是具有三個引出端、阻值可按某種變化規律調節的電阻元件。常用于音量調節,燈光調節,馬達調速,溫度調節等場合。
電路搭建
所需材料
ArduinoUNO * 1
可調電位器 * 1
220Ω電阻 * 1
任意顏色LED * 1
杜邦線若干
接線方式
程序編寫
練習一:串口讀取模擬輸入
通過串口讀取電位器的輸入值,并在串口監視器中顯示出來。
圖形化方式:
通過上傳下面的程序,可以在串口監視器中讀取到電位器的值,調節電位器旋鈕,能清晰發現取值范圍為0~1023。
由于傳感器表達的是模擬信號,它不會像數字信號那樣只有簡單的高電平和低電平,而有可能是在這兩者之間的任何一個數值。至于到底有多少可能的值則取決于模數轉換的精度,精度越高能夠得到的值就會越多。
Arduino所采用的ATmega8微處理器其有6個模數轉換器(ADC,Analog to Digital Converter),每一個模數轉換器的精度都是10bit,也就是說能夠讀取1024(2^10 = 1024)個狀態。
在Arduino的每一個模擬輸入管腳上,電壓的變化范疇是從0V到5V,因此Arduino能夠感知到的最小電壓變化是4.8毫伏(5/1024 = 4.8mV)。
代碼方式:
/* 項目名稱:串口讀取模擬值
* 項目日期:2022.02.18
* 項目作者:MRX
*/
int AR = 0;
void setup() {
pinMode(A0,INPUT);
Serial.begin(9600);
}
void loop() {
AR = analogRead(A0);
Serial.println(AR);
delay(1000);
}
練習二:編程實現電位器調節LED燈的亮度
用電位器做輸入,LED燈做輸出。
電路接線:
圖形化方式:
Arduino的模擬輸入量是0-1023,而模擬輸出卻是0-255。所以下面的程序通過映射的方式將模擬輸入量和輸出量進行了轉換。
代碼方式:
/* 項目名稱:串口讀取模擬值
* 項目日期:2022.02.18
* 項目作者:MRX
*/
int AR = 0;
int LEDpin = 3;
void setup() {
pinMode(A0,INPUT);
pinMode(LEDpin,OUTPUT);
}
void loop() {
AR = map(analogRead(A0), 0, 1023, 0, 255);
analogWrite(LEDpin,AR);
}
-
傳感器
+關注
關注
2541文章
49963瀏覽量
747538 -
電位器
+關注
關注
14文章
996瀏覽量
66504 -
模數轉換器
+關注
關注
26文章
3041瀏覽量
126560 -
模擬信號
+關注
關注
8文章
1082瀏覽量
52247 -
Arduino
+關注
關注
187文章
6453瀏覽量
185931
發布評論請先 登錄
相關推薦
評論