树莓派——控制继电器(基于wiringPi库)

本人学习笔记,如有错误请指正

一、函数

  1. wiringPi库初始化函数:int wiringPiSetup();

返回值:

成功:执行状态;

失败:失败返回-1

注:当使用这个函数初始化树莓派引脚时,程序使用的是wiringPi引脚标号表,引脚编号为0~16需要root权限。

  1. GPIO控制函数:void pinMode(int pin,int mode);

pin : 配置的引脚

mode : 指定引脚的I/O模式

mode可取的值:

INPUT:输入

OUTPUT:输出

PWM_OUTPUT : PWM输出

GPIO_CLOCK :时钟

作用:配置引脚的I/O模式

注:

只有wiringPi引脚编号下的1脚(BCM下的18脚)支持PWM输出;

只有wiringPi编号下的7(BCM下的4号)支持GPIO_CLOCK输出。

3、输出 引脚的电平值:

void digitalWrite(int pin,int vslue);

pin : 控制的引脚

value: 引脚输出的电平值

HIGH : 高电平

LOW :低电平

作用:让对一个已经配置为输出模式的引脚输出指定的电平信号


二、硬件接线:

树莓派7脚 ———————————— 继电器IN1

树莓派gnd ———————————— 继电器 gnd

树莓派 3v ———————————— 继电器 vcc


三、程序实现:


/*
*           树莓派控制继电器
*/

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

#define relay 7

int main()
{
        int cmd;

        if(wiringPiSetup() == -1)        //初始化wiringPi库
        {
                printf("wiringPi init error!!!\n");
        }

        pinMode(relay,OUTPUT);       //配置引脚的I/O模式

        digitalWrite(relay,HIGH);    //初始化继电器


        while(1)
        {
                printf("输入0继电器动作:\n");
                getchar();            //吸收回车

                scanf("%d",&cmd);

                if(cmd == 0)
                {
                        digitalWrite(relay,LOW);
                }
                else if(cmd == 1)
                {
                        digitalWrite(relay,HIGH);
                }
                else
                  {
                          printf("命令错误!\n");
                  }
        }

        return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值