材料:arduino uno 兩個繼電器 薄膜按鍵 RGB三色燈 導(dǎo)線若干
1,將兩個繼電器的vcc端接到一起,用一個I/O口控制
2,兩個繼電器一個控制高壓,一個控制接地,將接地的繼電器的公共端與兩個繼電器的接地端連接到一起(如果你的板上GND多可以分別連接)
3,將接高壓的繼電器公共端接VCC,常閉和常開分別接三色燈的兩個引腳,接地繼電器的常閉和常開接三色燈的接地引腳。
4,薄膜按鍵正面朝上,分別接1,2,5,6,7五個引腳,用板的4,5,8,9,10端口控制
5,燒寫程序,完成
程序(有冗余部分,不影響)
#include <keypad.h>
int D=2;//繼電器為2端口
int LED=3;//高電壓為端口3
const byte ROWS = 4; //四行
const byte COLS = 4; //四列
//定義鍵盤上的按鍵標(biāo)識
char hexaKeys[ROWS][COLS] = {
? {'1','2','3','A'},
? {'4','5','6','B'},
? {'7','8','9','C'},
? {'*','0','#','D'}
};
byte rowPins[ROWS] = {4, 5, 6, 7}; //連接到行掃描的輸入輸出端口
byte colPins[COLS] = {8, 9, 10, 11}; //連接到列掃描的輸入輸出端口
//定義Keypad類的實例
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup(){
? Serial.begin(9600);
? pinMode(2,OUTPUT);
? pinMode(3,OUTPUT);
}
void loop(){
? char customKey = customKeypad.getKey();
? if (customKey=='1'){
? ? digitalWrite(D,LOW);
? ? digitalWrite(LED,HIGH);
? //? Serial.println(customKey);
? }
? if (customKey=='2'){
? ? digitalWrite(D,HIGH);
? ? digitalWrite(LED,HIGH);
? //? Serial.println(customKey);
? }
? if (customKey=='3'){
? ? digitalWrite(D,HIGH);
? ? digitalWrite(LED,LOW);
? //? Serial.println(customKey);
? }
}
兩個繼電器控制一個直流電機(jī)的正反轉(zhuǎn)
程序不變,只需設(shè)置兩個繼電器不同時控制同一個接口即可
下面是控制電機(jī)連接方式
