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

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

https://blog.csdn.net/sxhexin/article/details/94889079

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

gpio readall

树莓派raspberry 2b 继电器控制、GPIO环境设置_第1张图片
代码如下:使用了GPIO29.

#include 
#include 
#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.

你可能感兴趣的:(Raspberry,raspberry,pi)