1.接线方式
VCC接物理针脚2 5V
GND接物理针脚9
IN1接0口对应物理针脚3
IN2接1口对应物理针脚5
IN3接2口对应物理针脚7
IN4接5口对应物理针脚11
2.代码编写
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
#define SWITCH1 0
#define SWITCH2 1
#define SWITCH3 2
#define SWITCH4 5
int data1;
int data2;
void initSwitch(){
//初始状态下继电器为OFF
pinMode(SWITCH1,OUTPUT);
pinMode(SWITCH2,OUTPUT);
pinMode(SWITCH3,OUTPUT);
pinMode(SWITCH4,OUTPUT);
digitalWrite(SWITCH1,HIGH);
digitalWrite(SWITCH2,HIGH);
digitalWrite(SWITCH3,HIGH);
digitalWrite(SWITCH4,HIGH);
}
void caozuo(){
while(1){
//输入 1操作开关1 以此类推 5为操作全部
printf("please input 1-5 1:S1 2:S2 3:S3 4:S4 5:all\n");
scanf("%d",&data1);
printf("input 0-1 0:off 1:on\n");
//输入1为开 0为关
scanf("%d",&data2);
switch(data1){
case 1:
if(data2==1){
digitalWrite(SWITCH1,LOW);
}else{
digitalWrite(SWITCH1,HIGH);
}
break;
case 2:
if(data2==1){
digitalWrite(SWITCH2,LOW);
}else{
digitalWrite(SWITCH2,HIGH);
}
break;
case 3:
if(data2==1){
digitalWrite(SWITCH3,LOW);
}else{
digitalWrite(SWITCH3,HIGH);
}
break;
case 4:
if(data2==1){
digitalWrite(SWITCH4,LOW);
}else{
digitalWrite(SWITCH4,HIGH);
}
break;
case 5:
if(data2==1){
digitalWrite(SWITCH1,LOW);
digitalWrite(SWITCH2,LOW);
digitalWrite(SWITCH3,LOW);
digitalWrite(SWITCH4,LOW);
}else{
digitalWrite(SWITCH1,HIGH);
digitalWrite(SWITCH2,HIGH);
digitalWrite(SWITCH3,HIGH);
digitalWrite(SWITCH4,HIGH);
}
break;
}
}
}
int main(){
wiringPiSetup();
initSwitch();
caozuo();
return 0;
}