材料:arduino uno 两个继电器 薄膜按键 RGB三色灯 导线若干
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; //四列
//定义键盘上的按键标识
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);
}
}
两个继电器控制一个直流电机的正反转
程序不变,只需设置两个继电器不同时控制同一个接口即可
下面是控制电机连接方式
网友评论