課程目標
相關(guān)知識
電位器是具有三個引出端、阻值可按某種變化規(guī)律調(diào)節(jié)的電阻元件。常用于音量調(diào)節(jié),燈光調(diào)節(jié),馬達調(diào)速,溫度調(diào)節(jié)等場合。
電路搭建
所需材料
ArduinoUNO * 1
可調(diào)電位器 * 1
220Ω電阻 * 1
任意顏色LED * 1
杜邦線若干
接線方式
程序編寫
練習一:串口讀取模擬輸入
通過串口讀取電位器的輸入值,并在串口監(jiān)視器中顯示出來。
圖形化方式:
通過上傳下面的程序,可以在串口監(jiān)視器中讀取到電位器的值,調(diào)節(jié)電位器旋鈕,能清晰發(fā)現(xiàn)取值范圍為0~1023。
由于傳感器表達的是模擬信號,它不會像數(shù)字信號那樣只有簡單的高電平和低電平,而有可能是在這兩者之間的任何一個數(shù)值。至于到底有多少可能的值則取決于模數(shù)轉(zhuǎn)換的精度,精度越高能夠得到的值就會越多。
Arduino所采用的ATmega8微處理器其有6個模數(shù)轉(zhuǎn)換器(ADC,Analog to Digital Converter),每一個模數(shù)轉(zhuǎn)換器的精度都是10bit,也就是說能夠讀取1024(2^10 = 1024)個狀態(tài)。
在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);
}
練習二:編程實現(xiàn)電位器調(diào)節(jié)LED燈的亮度
用電位器做輸入,LED燈做輸出。
電路接線:
圖形化方式:
Arduino的模擬輸入量是0-1023,而模擬輸出卻是0-255。所以下面的程序通過映射的方式將模擬輸入量和輸出量進行了轉(zhuǎn)換。
代碼方式:
/* 項目名稱:串口讀取模擬值
* 項目日期: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);
}
-
傳感器
+關(guān)注
關(guān)注
2552文章
51237瀏覽量
754753 -
電位器
+關(guān)注
關(guān)注
14文章
1012瀏覽量
66873 -
模數(shù)轉(zhuǎn)換器
+關(guān)注
關(guān)注
26文章
3209瀏覽量
126886 -
模擬信號
+關(guān)注
關(guān)注
8文章
1134瀏覽量
52517 -
Arduino
+關(guān)注
關(guān)注
188文章
6472瀏覽量
187349
發(fā)布評論請先 登錄
相關(guān)推薦
評論