树莓派控制继电器

选择gpio 7做输出,控制继电器导通关断

#include<wiringPi.h>
#include<stdio.h>

#define SWITCHER 7
int main()
{
	int cmd; 
	/*对wiringPi库的初始化*/
	if(wiringPiSetup() == -1){
		printf("硬件接口初始化失败!\n");
		return -1;
	}
	pinMode(SWITCHER,OUTPUT);	//对引脚的初始化,配置成输出功能
	digitalWrite(SWITCHER,HIGH);	//上电关断,高电平继电器关断

	while(1){
		printf("请输入0/1:0-断开开关,1-导通开关\n");	//低电平继电器导通
		scanf("%d",&cmd);
		getchar();
		if(cmd == 1){
			digitalWrite(SWITCHER,LOW);
		}else if(cmd == 0){
			digitalWrite(SWITCHER,HIGH);
		}
		cmd = 2;
	}
}

控制继电器组

#include<wiringPi.h>
#include<stdio.h>
#include<string.h>

#define SWI1 26
#define SWI2 27
#define SWI3 28
#define SWI4 29
int main()
{
	char cmd[12] = {'\0'}; 
	/*对wiringPi库的初始化*/
	if(wiringPiSetup() == -1){
		printf("硬件接口初始化失败!\n");
		return -1;
	}
	pinMode(SWI1,OUTPUT);	//对引脚的初始化,配置成输出功能
	pinMode(SWI2,OUTPUT);	//对引脚的初始化,配置成输出功能
	pinMode(SWI3,OUTPUT);	//对引脚的初始化,配置成输出功能
	pinMode(SWI4,OUTPUT);	//对引脚的初始化,配置成输出功能
	digitalWrite(SWI1,HIGH);	//上电关断,高电平继电器关断
	digitalWrite(SWI2,HIGH);	//上电关断,高电平继电器关断
	digitalWrite(SWI3,HIGH);	//上电关断,高电平继电器关断
	digitalWrite(SWI4,HIGH);	//上电关断,高电平继电器关断

	while(1){
		printf("请输入1/2/3/4/all on/off:off-断开开关,on-导通开关\n");	//低电平继电器导通
		//scanf("%s",cmd);	//scanf有bug
		memset(cmd,'\0',sizeof(cmd));
		gets(cmd);
		//getchar();
		if(strcmp(cmd,"1 on") == 0){
			digitalWrite(SWI1,LOW);
		}else if(strcmp(cmd,"1 off") == 0){
			digitalWrite(SWI1,HIGH);
		}else if(strcmp(cmd,"2 on") == 0){
			digitalWrite(SWI2,LOW);
		}else if(strcmp(cmd,"2 off") == 0){
			digitalWrite(SWI2,HIGH);
		}else if(strcmp(cmd,"3 off") == 0){
			digitalWrite(SWI3,HIGH);
		}else if(strcmp(cmd,"4 on") == 0){
			digitalWrite(SWI4,LOW);
		}else if(strcmp(cmd,"4 off") == 0){
			digitalWrite(SWI4,HIGH);
		}
	       	if(strcmp(cmd,"all on") == 0){
			digitalWrite(SWI1,LOW);
			digitalWrite(SWI2,LOW);
			digitalWrite(SWI3,LOW);
			digitalWrite(SWI4,LOW);
		}else if(strcmp(cmd,"all off") == 0){
			digitalWrite(SWI1,HIGH);
			digitalWrite(SWI2,HIGH);
			digitalWrite(SWI3,HIGH);
			digitalWrite(SWI4,HIGH);
		}else{
			printf("请输入正确指令\n");
		}

	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunshime.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值