Arduino (3) 4X4薄膜型鍵盤+步進馬達28BYJ | arduino按鈕控制步進馬達
接下來要玩的是用4X4薄型鍵盤控制步進馬達。介紹一下重要模組。步進馬達(28BYJ-48-5V)。這馬達額定電流很高,需要外接電源,而我額外接了5V2A的變壓器,但記得要共地讓Offset一致。驅動板ULN2003。四顆LED可以大致看出馬達轉動邏輯,排PIN分別裝在處理器的四個數位腳位。4X4薄型鍵盤。很薄一片,需要接8個腳位。每個按鍵讓步進馬達轉動的幅度和方向都不一樣,"#"字鍵我寫了正轉+反轉且幅度也不相同。程式如下:#include
接下來要玩的是用4X4薄型鍵盤控制步進馬達。
介紹一下重要模組。
步進馬達(28BYJ-48-5V)。這馬達額定電流很高,需要外接電源,而我額外接了
5V 2A的變壓器,但記得要共地讓Offset一致。
驅動板ULN2003。
四顆LED可以大致看出馬達轉動邏輯,排PIN分別裝在處理器的四個數位
腳位。
4X4薄型鍵盤。
很薄一片,需要接8個腳位。每個按鍵讓步進馬達轉動的幅度和方向都不一樣,
"#"字鍵我寫了正轉+反轉且幅度也不相同。
程式如下:
#include <Keypad.h>
#include <Stepper.h>
#define STEPS 200
//宣告步進馬達步數。
Stepper stepper(STEPS, A0, A2, A1, A3);
#define KEY_ROWS 4
#define KEY_COLS 4
char keymap[KEY_ROWS][KEY_COLS] = {
{1, 2, 3, A},
{4, 5, 6, B},
{7, 8, 9, C},
{*, 0, #, D}
};
byte colPins[KEY_COLS] = {9, 8, 7, 6};
byte rowPins[KEY_ROWS] = {13, 12, 11, 10};
Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, KEY_ROWS, KEY_COLS);
//以上都是4X4鍵盤的宣告。
void setup(){
Serial.begin(9600);
//序列阜9600。
...