栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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

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

gpio readall


代码如下:使用了GPIO29.

#include 
#include 
#define GPIO_NUM 29
int  main()
{
    int  cmd;//输入指令
    if(wiringPiSetup()==-1)//设备初始化
    {
          printf("Init GPIO failn");
          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 onn");
		scanf("%d",&cmd);
		getchar();//吸收回车符
	
		if(cmd==1)
		{
			printf("switch onn");
			digitalWrite(GPIO_NUM,LOW);  //低电平导通开通
		}
		else  if(cmd==0)
		{
			printf("switch offn");
           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.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/628789.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号