树莓派传感器编程,树莓派光敏传感器实验
文章目录前言1。实验设备。实验原理2.1电路图2.2接线图3。代码示例3.1Genay编译器3.2LinuxGcc编译器后记在我掌握的资料上,我已经说了一堆与这个实验相关但完全不相关的东西。
我还是得自己找资料来证实我的“猜测”。这是什么?往下看!
关注本专栏,和我一起学习树莓派开发板30的经典实验!
c语言代码,0基础分析!
你还在等什么?心动不如行动!为什么我不关注本专栏的代码仓库?覆盆子-做法
1.实验设备:Raspberry Pi开发板40p软排线T型转接板。面包板激光传感器模块(实际上只是一个发射器)有几个跳线。2.实验原理:激光传感器常用于测距。它由激光发射器、激光探测器和测量电路组成。其优点是速度快、精度高、测量范围大,可实现非接触式远距离测量。
激光传感器模块由一个650纳米红色激光二极管头和一个电阻组成。
激光传感器工作时,激光发射二极管对准目标发射激光脉冲。被目标反射后,激光向四面八方散射。部分散射光返回到传感器接收器,被光学系统接收并在雪崩光电二极管上成像。雪崩光电二极管是一种具有内部放大功能的光学传感器,因此可以探测到极其微弱的光信号,并将其转换成相应的电信号。
书上介绍了这么一堆,让这个小家伙看起来像是集成了以上三个传感器。刚读一本书的时候,我看起来很傻。这么小的东西能测出距离吗?找资料也勉强能确认。这只是一个简单的激光发射器。
作为一个初出茅庐的学生,书上的内容确实误导了我,需要我自己去查阅资料,很浪费时间。
2.1电路图
2.2接线图Raspberry Pi
t形适配器
激光传感器模块
GIPO 0
GPIO 17
签名
5V
5V
VCC
地线
地线
GND(-)
物理接线图如下,本实验接线比较简单。
右上角的红黑线连接的是树莓Pi散热风扇,与本实验无关。
3.代码示例相同,给出C语言代码。
#包含wiringPi.h
#包含stdio.h
#define makerobo_LaserPin 0 //定义激光传感器Pin。
int main()
{
//当初始连接失败时,将消息打印到屏幕上。
if(wiringPiSetup()==-1){
printf(安装wiringPi失败!);
返回1;
}
pinMode(makerobo_LaserPin,输出);//激光传感器设置为输出模式。
int k=2;
while(k -)
{
digitalWrite(makerobo_LaserPin,高);//打开激光传感器
延时(1000);//延迟1s
digitalWrite(makerobo_LaserPin,低);//关闭激光传感器。
延时(1000);//延迟1s
}
digitalWrite(makerobo_LaserPin,低);//循环结束后,恢复关闭状态。
延迟(500);
返回0;
}
代码中的两个wiringPi函数在上一篇实验博客中解释过?传递
3.1Genay编译器也是一样,三轴(其实这句话是抄袭之前的博客?)
使用generate命令引用Geany中的wiringPi库。
在Geany的build - set build命令中输入以下命令
gcc-Wall-c“% f”-lwiringPi
效果如下:激光发射器在延迟后持续打开和关闭。
请不要将激光发射器对准任何人!伤眼睛!
3.2LinuxGcc编译器
为了防止Linux-Gcc环境下程序的异常终止,建议不要使用while(1)无限循环。可以把k设置的大一点,方便观察实验结果。
Cd打开对应的文件路径,ls显示当前路径下的文件。
输入以下指令来编译代码并生成可执行文件TEST。
Gcc-wall05laser.c-o测试-lwiringpi。/test运行可执行文件
如果没有错误,编译成功,可以观察到同样的实验结果。
结论这个博客已经看完了。为什么不重视呢?
就算不想关注我,也要关注专栏!入口
TNND!注意,有何不可!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。