树莓派raspberry 2b 继电器控制、GPIO环境设置

1.首先确定GPIO库已经安装,可以参考:

https://blog.youkuaiyun.com/sxhexin/article/details/94889079

2.用2种方式测试:
1)wiringpi 库测试
目前该库已经不维护了,官网无法下载。
安装包

gpio readall

在这里插入图片描述
代码如下:使用了GPIO29.

#include <wiringPi.h>
#include <stdio.h>
#define GPIO_NUM 29
int  main()
{
    int  cmd;//输入指令
    if(wiringPiSetup()==-1)//设备初始化
    {
          printf("Init GPIO fail\n");
          return -1;
    }
	
    pinMode(GPIO_NUM,OUTPUT);//设置为输出引脚
    digitalWrite(GPIO_NUM,HIGH);//断开状态
	
    while(1)
	{
		printf("Please input 0/1: 0 means switch off and 1 means switch on\n");
		scanf("%d",&cmd);
		getchar();//吸收回车符
	
		if(cmd==1)
		{
			printf("switch on\n");
			digitalWrite(GPIO_NUM,LOW);  //低电平导通开通
		}
		else  if(cmd==0)
		{
			printf("switch off\n");
           digitalWrite(GPIO_NUM,HIGH);  //高电平导通断开
		}
        cmd=99;
	}
}
  1. 使用pathon进行操作:
    GPIO口使用的是BCM编码的格式:
import time
import RPi.GPIO as gpio
GPIO_NUM=21
gpio.setmode(gpio.BCM)#BCM编码方式
print("set high switch off")
print(GPIO_NUM)
gpio.setup(GPIO_NUM,gpio.OUT)#设置为输出端
gpio.output(GPIO_NUM,gpio.HIGH)#设置高电平
time.sleep(5)
print("set low switch on")
gpio.output(GPIO_NUM,gpio.LOW)#低电平
time.sleep(5)
gpio.cleanup()

其中需要注意:GPIO ID使用要正确,否则不会生效,如python中使用的BCM编码,所以使用的是BCM 对应的ID.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值