一、树莓派接口讲解
这下面就是树莓派的接口展示,但是我们再配I/O口的时候还是得到树莓派下查看I/O口得序号 gpio readall用这个查询然后按照上面给的序号进行宏定义I/O配置即可。
继电器接线:
GND–板上的GND、VCC—5V、IN1-IN4-----分别接不同的GPIO口即可。
小灯接线:
二、继电器接口讲解
这个是单个继电器的接口展示,与我们开发板就比较好接,VCC—5V/3.7V、GND—GND、IN—开发的一个I\O口,然后与需要控制的电器相接的话就是注意电器的正负极,按照我们国家要求红色的为正极,黑色的为负极然后就按照电路图接上即可。
需要提一下就是我们的COM接口我们可以理解为一个单刀双掷开关,NC即normal close,常闭触点。NO即normal open,常开触点,这两个触点有什么区别呢?简单点说常开是不通电断开,通电之后闭合开关,所以按照我们的逻辑我们一般接常开,闭开则与之相反。
三、详细接线
四、程序编程实现
按照上面的接口,接好线之后就开始撸代码,代码不是特别难理解,主要就是以下几个步骤组成:
1.配置输出引脚;
2.将引脚状态调到低电平状态;
3.通过分支实现对于继电器的控制并且实现继电器对非可编程的小灯进行控制。
#include<stdio.h>
#include<string.h>
#include<wiringPi.h>
#define IOWrite1 26
#define IOWrite2 27
#define IOWrite3 28
#define IOWrite4 29
int main()
{
char str[13] = {'\0'};
int a = wiringPiSetup();//wiringPi库的初始化,一定要放到初始化前面
if(a==-1)
{
printf("erron!\n");
return -1;
}
pinMode(IOWrite1,OUTPUT);//配置为输出引脚
pinMode(IOWrite2,OUTPUT);
pinMode(IOWrite3,OUTPUT);
pinMode(IOWrite4,OUTPUT);
digitalWrite(IOWrite1,HIGH);//初始化为高电平
digitalWrite(IOWrite2,HIGH);
digitalWrite(IOWrite3,HIGH);
digitalWrite(IOWrite4,HIGH);
while(1)
{
memset(str,'\0',sizeof(str));
printf("please input your choose 1 on,2 on,3 on,4 on,5 off\n");
gets(str);
if(strcmp(str,"1 on")==0){digitalWrite(IOWrite1,LOW);}//低点平开启继电器1
else if(strcmp(str,"2 on")==0){digitalWrite(IOWrite2,LOW);}//低点平开启继电器2
else if(strcmp(str,"3 on")==0){digitalWrite(IOWrite3,LOW);}//低点平开启继电器3
else if(strcmp(str,"4 on")==0){digitalWrite(IOWrite4,LOW);}//低点平开启继电器4
else if(strcmp(str,"5 off")==0)
{
//off 关闭全部的继电器
digitalWrite(IOWrite1,HIGH);
digitalWrite(IOWrite2,HIGH);
digitalWrite(IOWrite3,HIGH);
digitalWrite(IOWrite4,HIGH);
}
else{
printf("please inout again!\n");
}
printf("\n");
}
return 0;
}
一切都要从点灯开始,不然怎么成为“电灯大师”呢?