微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 树莓派DIY之无线感应报警

树莓派DIY之无线感应报警

时间:11-28 来源:互联网 点击:

fp=fopen("/sys/class/thermal/thermal_zone0/temp","r"); //读取树莓派温度
fgets(temp_char,9,fp);
float Temp;
Temp=atof(temp_char)/1000;
lcdPosition (fd, 0, 1);lcdPrintf (fd, "%3.1fC", Temp) ;
fclose(fp);

fp=fopen("/proc/meminfo","r"); //读取内存信息
fgets(Total,19,fp);
fgets(Total,4,fp);
fgets(Free,9,fp);
fgets(Free,19,fp);
fgets(Free,4,fp);
lcdPosition (fd, 7, 1);
lcdPrintf (fd, "%3d/%3dMB", atoi(Free),atoi(Total)) ;
fclose(fp);

sleep(1);
}

return 0;

}

这里面用到了很多的函数,包括关于LCD显示的函数,PWM波引脚初始化等函数。这些都是Wiring里面已经包含好了的。在利用时,我们需要查看函数的具体调用的原理即可。

这个大家千万要注意就是调用函数的参数要和我们实际试验中的引脚对应起来,否则调用函数不会有结果的。一些错误的连线还可能烧坏树莓派

软件写完以后,我们就是编译,调试和实验了。

现在我们来整理一下思路哈,这都是在树莓派系统终端执行!

(1)进入树莓派系统终端, 安装版本管理软件

sudo apt-get install git

(2)clone程序pi-screen。这个程序只有相应的显示功能,我们需要根据自己的需要添加

git clone https://github.com/qtsharp/pi-screen

(3)更改源程序,根据自己想实现的功能,添加相应的函数和功能。

这主要包括更改LCD1602函数的引脚,PWM波

(4)编译源文件,生成可执行文件。使用如下语句:

gcc 1602.c -o 1602 -L lin -l wiringPi -lwiringPiDev

(5)最后执行文件,使用如下语句:

sudo ./1602

到了这一步,我们就可以看实验结果了。

下面是我自己调试的一些过程。

这是感应没有输出的时候:

可以看到:

DETECT:FALSE ,感应模块LED没亮,同时蜂鸣器没有输出

这是感应模块有输出的时候:

显示可以看到此时:

DETECT:TRUE,感应模块LED亮起,同时蜂鸣器有输出。

到这里这个实验就结束了,大家也可以自己试试哈。

中间调试过程也出了一些bug,以后我总结一下再和大家分享哈!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top