树莓派外设开发之控制继电器(组)

控制继电器

选择7号引脚作为继电器信号输出控制端。

在这里插入图片描述
代码:

#include <wiringPi.h>
#include <stdio.h>
#define SWITCHER 7	// 7为树莓派物理引脚编码和wiringPi编码。在树莓派功能名为GPIO.7

int main()
{
	int cmd;
	if( wiringPiSetup() == -1){		//调用wiringPI库需要先wiringPiSetup()初始化
		printf("硬件接口初始化失败\n");
		return -1;
	}
	/* 通用GPIO控制函数 void pinMode (int pin, int mode)
	 * pin:配置的引脚
	 * mode:指定引脚的IO模式
	 * 可取的值:INPUT、OUTPUT、PWM_OUTPUT,GPIO_CLOCK
	 * 作用:配置引脚的IO模式
	 */
	pinMode(SWITCHER, OUTPUT);	
		
	while(1)
	{
		printf("请输入0或1:0->断开开关;1->导通开关\n");
		scanf("%d",&cmd);
		if(cmd == 1){
			digitalWrite(SWITCHER,LOW);		// void digitalWrite (int pin, int value)  pin:控制的引脚 value:引脚输出的电平值。可取的值:HIGH,LOW分别代表高低电平 让对一个已近配置为输出模式的 引脚  输出指定的电平信号
		}else if(cmd == 0){
			digitalWrite(SWITCHER,HIGH);
		}else{
			printf("输入错误\n");
		}
	}
}

运行程序:
在这里插入图片描述
继电器绿灯亮起
在这里插入图片描述

控制继电器组

GPIO引脚选择:
在这里插入图片描述

代码:

#include <wiringPi.h>
#include <stdio.h>
#define SWITCHER1 26
#define SWITCHER2 27	
#define SWITCHER3 28
#define SWITCHER4 29

int main()
{
	int cmd;
	if( wiringPiSetup() == -1){		//调用wiringPI库需要先wiringPiSetup()初始化
		printf("硬件接口初始化失败\n");
		return -1;
	}

	pinMode(SWITCHER1, OUTPUT);	
	pinMode(SWITCHER2, OUTPUT);	
	pinMode(SWITCHER3, OUTPUT);
	pinMode(SWITCHER4, OUTPUT);		
		
	while(1)
	{
		printf("请输入1~8:1->导通继电器1开关;2->断开继电器1开关;\n3->导通继电器2开关;4->断开继电器2开关;\n5->导通继电器3开关;6->断开继电器3开关;\n7->导通继电器4开关;8->断开继电器4开关\n");
		scanf("%d",&cmd);
		if(cmd == 1){
			digitalWrite(SWITCHER1,LOW);		
		}else if(cmd == 2){
			digitalWrite(SWITCHER1,HIGH);
		}else if(cmd == 3){
			digitalWrite(SWITCHER2,LOW);
		}else if(cmd == 4){
			digitalWrite(SWITCHER2,HIGH);
		}else if(cmd == 5){
			digitalWrite(SWITCHER3,LOW);
		}else if(cmd == 6){
			digitalWrite(SWITCHER3,HIGH);
		}else if(cmd == 7){
			digitalWrite(SWITCHER4,LOW);
		}else if(cmd == 8){
			digitalWrite(SWITCHER4,HIGH);
		}else{
			printf("输入错误\n");
		}
	}
}

运行程序:
在这里插入图片描述
继电器执行效果:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

行稳方能走远

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

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

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

打赏作者

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

抵扣说明:

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

余额充值