Arduino第九課(可變電阻)
宜蘭縣竹林國小 陳金助老師

可變電阻:又稱為可變電阻器,可經由滑動(轉動)而改變滑動端與兩個固定端間電阻值的電子零件。

線性尺度式:電阻值的變化與旋轉角度或移動距離呈線性關係,此種電位器稱為 B 型電位器

 

註:滑動式可變電阻,價格稍貴。

一、直接控制LED亮度

利用Arduino的5V供電,經過LED再接電阻然後接可變電阻的中間腳再接GND,形成一個迴路

轉動可變電阻,改變電阻值就可以調整LED亮度

二、電壓計

可變電阻兩端各接GND及5V,中間腳接類比腳A0輸入。

當轉動可變電阻時,中間接腳得到的電壓也會改變,類比腳A0也就讀到不同的電壓資料。

1.讀取類比腳A0的資料:

使用[說類比腳位A0]指令,螢幕上就會出現0到1023的數值

程式下載: 讀可變電阻.sb2

2.電壓計

同上面一樣接線。

輸入的電壓是0到5V,讀到的數值為0到1023,顯示時需要做公式轉換

程式下載: 電壓計.sb2

3.電壓計(顯示時加說明)

增加文字說明指令,讓顯示時更清楚。

程式下載:電壓計A.sb2

三、變大變小隨我變

同上面一樣接線。

使用可變電阻調整腳色(人物、圖片)大小。

將大小設定為類比腳位A0得到的值。

因為讀到的值為0到1023,所以轉換時要將得到的值除以10.23,才是正確的百分比。

程式下載:可變電阻(變大小).sb2

四、移動腳色位置

同上面一樣接線。

使用可變電阻移動腳色(人物、圖片)大小。

舞台左右X座標為-240到240,共480個座標點。

因此做一些轉換可以得到正確的座標。

程式下載:可變電阻(移動).sb2

延伸:

1.如果增加一些飛彈射擊,就可以變成射擊遊戲。

2.如果加一些水果掉下來,就可以變成猴子接水果遊戲。

3.打磚塊遊戲的棍子可以使用可變電阻來操控。

4.如果再多加一組可變電阻,就可以控制腳色的Y座標位置,變成2D(維)的遊戲設計。

五、控制LED亮度

轉動可變電阻,調整LED亮度

 

可變電阻兩端各接GND及5V,中間腳接類比腳A0輸入。

當轉動可變電阻時,中間接腳得到的電壓也會改變,類比腳A0也就讀到不同的電壓資料。

另外接一組紅色LED(請參考第五課)。由數位腳D11來控制輸出的模擬電壓(PWM)大小。

設置數位腳位D11為PWM輸出,輸出的模擬電壓大小由A0來決定。

類比腳位A0讀到的值為0到1023,PWM11的輸出值為0到255,因此需要做公式轉換。

增加一個說的指令,可以顯示公式轉換結果,驗證公式是否正確。

程式下載:可變電阻(調亮度).sb2

六、可變電阻改變音調

可變電阻兩端各接GND及5V,中間腳接類比腳A0輸入。

當轉動可變電阻時,中間接腳得到的電壓也會改變,類比腳A0也就讀到不同的電壓資料。

另外接一組蜂鳴器(請參考第七課)。由數位腳D11來控制輸出的音調(頻率)。

設置數位腳位D11為音調輸出,輸出的音調(聲音頻率)由A0來決定。

當轉動可變電阻時,A0讀到的值改變,音調也跟著改變。

註:真正音符的頻率(赫茲)轉換有些複雜,這裡只簡單的讓學生體驗音調的改變。

程式下載:可變電阻調音調.sb2

延伸:節拍器:(請參考林信良老師的書)

———————————-

相關連結:

Arduino初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605771

Arduino課程準備
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599681

Arduino第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599732

Arduino第二課(LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599733

Arduino第三課(用鍵盤控制LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600369

Arduino第四課(LED紅綠燈)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600422

Arduino第五課(pwm)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600854

Arduino第六課(RGB三色LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600855

Arduino第七課(蜂鳴器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602388

Arduino第八課(按鍵)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602288

Arduino第九課(可變電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602290

Arduino第十課(光敏電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602291

Arduino第十一課(伺服馬達)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605139

Arduino第十二課(離線執行)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605798

文章來源:Arduino第九課(可變電阻) 由 roc 發表。