旋轉編碼器 Rotary Encoder
用旋轉編碼器的旋轉方向和旋轉量,來操控一個十段 LED排燈
簡介
簡介
旋轉編碼器 Rotary Encoder,是將旋轉方向或旋轉量,轉換成類比或數位訊號的裝置,容許 360 度旋轉,常用來控制喇叭音量、冷氣冷度、以及馬達的轉動位置和速度。
旋轉編碼器 Rotary Encoder,是將旋轉方向或旋轉量,轉換成類比或數位訊號的裝置,容許 360 度旋轉,常用來控制喇叭音量、冷氣冷度、以及馬達的轉動位置和速度。
比起可變電阻 (Potentiometer) ,旋轉編碼器有更廣泛的用途。
比起可變電阻 (Potentiometer) ,旋轉編碼器有更廣泛的用途。
旋轉編碼器的操作原理,是在 Output A (CLK) 和 Output B (DT) 兩個端子輸出兩個脈波。當編碼器被順時針旋轉時,脈波 A 領先脈波 B 半個脈波;反之,當逆時針旋轉時,脈波 A 則落後脈波 B 半個脈波。如此,旋轉編碼器的後方元件,如 Arduino 控制器,便能判斷旋轉的方向和旋轉量。本專題用旋轉編碼器的旋轉方向和旋轉量,來操控一個十段 LED排燈。
旋轉編碼器的操作原理,是在 Output A (CLK) 和 Output B (DT) 兩個端子輸出兩個脈波。當編碼器被順時針旋轉時,脈波 A 領先脈波 B 半個脈波;反之,當逆時針旋轉時,脈波 A 則落後脈波 B 半個脈波。如此,旋轉編碼器的後方元件,如 Arduino 控制器,便能判斷旋轉的方向和旋轉量。本專題用旋轉編碼器的旋轉方向和旋轉量,來操控一個十段 LED排燈。
先看看YouTube 成果影片:
先看看YouTube 成果影片:
材料和接線圖
材料和接線圖
Arduino Uno x1
Arduino Uno x1
用旋轉編碼器 Rotary Encoder (20格一圈) x1
用旋轉編碼器 Rotary Encoder (20格一圈) x1
十段 LED 排燈 x1
十段 LED 排燈 x1
麵包版 x1
麵包版 x1
電阻 220 -330 歐姆 x10
電阻 220 -330 歐姆 x10
電線
電線
LED 排燈一端接電阻,電阻另一端連接 GND。( LED 有方向性,請勿接錯。)
LED 排燈一端接電阻,電阻另一端連接 GND。( LED 有方向性,請勿接錯。)
LED 排燈另一端依序連接 Arduino pins 5-13 及 A0。
LED 排燈另一端依序連接 Arduino pins 5-13 及 A0。
旋轉編碼器 連接 Arduino
旋轉編碼器 連接 Arduino
CLK pin 2
CLK pin 2
DT pin 3
DT pin 3
SW pin 4
SW pin 4
+ 5V
+ 5V
GND GND
GND GND
上傳主程式
上傳主程式
複製下列程式於 Arduino IDE中,點擊 ”工具”,確認開發板是 Arduino/Genuino Uno, 序列埠 Port COM已接上,再點擊 ”上傳”。大功告成。
複製下列程式於 Arduino IDE中,點擊 ”工具”,確認開發板是 Arduino/Genuino Uno, 序列埠 Port COM已接上,再點擊 ”上傳”。大功告成。