1.接线
- 语音模块接线
树莓派跟语音模块接上后,语音模块D2灯亮起 ,如果没亮请检查接线。
- 继电器接线
继电器跟树莓派接上后,继电器电源灯亮起,如果没亮请检查接线。
- 电磁锁接线
2.编写代码控制
#include<stdio.h>
#include<wiringPi.h>
#include <wiringSerial.h>
#include <unistd.h>
#include <string.h>
#define PIN 7
int main()
{
int fd;
int nread;
char cmd[128]={'\0'};
wiringPiSetup();
pinMode(PIN,OUTPUT); //初始化引脚为输出口
digitalWrite(PIN,HIGH); //把引脚置为高电平,把锁初始化为开状态
fd=serialOpen("/dev/ttyAMA0", 9600); //打开并初始串口
while(1){
nread=read(fd,cmd,sizeof(cmd)); //获取串口内容
if(strlen(cmd)==0){ //一直没有内容读取,显示超时
printf("chaoShi\n");
continue;
}
if(nread!=0){
if(strstr(cmd,"open l")!=NULL){
printf("open clok\n");
digitalWrite(PIN,LOW); //把引脚置为低电平,关锁
}else if(strstr(cmd,"close l")!=NULL){
printf("close clok\n");
digitalWrite(PIN,HIGH); //把引脚置为高电平,开锁
}
}
memset(cmd,'\0',sizeof(128));
}
return 0;
}
3.运行效果
当我们唤醒语音模块并对说关锁的时候,锁关上:
重新唤醒语音模块并对说开锁的时候,锁打开: