旋轉編碼器的操作原理,是在 Output A (CLK) 和 Output B (DT) 兩個端子輸出兩個脈波。當編碼器被順時針旋轉時,脈波 A 領先脈波 B 半個脈波;反之,當逆時針旋轉時,脈波 A 則落後脈波 B 半個脈波。如此,旋轉編碼器的後方元件,如 Arduino 控制器,便能判斷旋轉的方向和旋轉量。本專題用旋轉編碼器的旋轉方向和旋轉量,來操控一個十段 LED排燈。
先看看YouTube 成果影片:
材料和接線圖
Arduino Uno x1
用旋轉編碼器 Rotary Encoder (20格一圈) x1
十段 LED 排燈 x1
麵包版 x1
電阻 220 -330 歐姆 x10
電線
LED 排燈一端接電阻,電阻另一端連接 GND。( LED 有方向性,請勿接錯。)
LED 排燈另一端依序連接 Arduino pins 5-13 及 A0。
旋轉編碼器 連接 Arduino
CLKpin 2
DTpin 3
SWpin 4
+5V
GNDGND
上傳主程式
複製下列程式於 Arduino IDE中,點擊 ”工具”,確認開發板是 Arduino/Genuino Uno, 序列埠 Port COM已接上,再點擊 ”上傳”。大功告成。