IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【树莓派C语言开发】实验05:激光传感器模块 -> 正文阅读

[C++知识库]【树莓派C语言开发】实验05:激光传感器模块

前言

我手头的资料上,又说了一堆和本实验相关但又毫不相关的内容

还是得自己找资料才能确认我的“猜想”,具体是啥,且往下细看!

关注本专栏,和我一起学习树莓派开发板30+经典实验

C语言代码,0基础剖析!

image-20220407163228434


1.实验器材

  • 树莓派开发板
  • 40p软排线+T型转接板+面包板
  • 激光传感器模块(其实只是一个发射器
  • 跳线若干

2.实验原理

激光传感器常见于测距用途。它由激光发射器、激光检测器和测量电路组成。它的优点是能够实现无接触远距离测量,速度快,精度高,量程大。

激光传感器模块由一个650nm红色激光二极管头和一个电阻器组成

IMG_20220407_163028

激光传感器工作时,先由激光发射二极管对准目标发射激光脉冲。经目标反射后激光向各方向散射。部分散射光返回到传感器接收器,被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,因此它能检测极其微弱的光信号,并将其转化为相应的电信号。


书上介绍了这么一堆,弄的好像这个小家伙就集成了上面3个传感器一样。我刚看书的时候,一脸懵逼,这么小一个玩意就能测距?自己找了资料才能勉强确认,它就是一个单纯的激光发射器罢了。

作为一个萌新,书上的内容的确对我产生了误导,还需要自己查阅资料,有点浪费时间。

QQ图片20220407164510

2.1电路图

5.激光传感器模块原理图

2.2接线图

树莓派T型转接板激光传感器模块
GIPO 0GPIO 17SIG(S)
5V5VVCC
GNDGNDGND(-)

05_Laser_bb

实物接线图如下,本实验接线比较简单

右上角的红黑线是接给树莓派散热风扇的,和本实验无关

IMG_20220407_161052


3.代码示例

老样子,给出C语言代码。

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

#define makerobo_LaserPin 0  //定义激光传感器管脚

int main()
{
	//初始化连接失败时,将消息打印到屏幕
	if(wiringPiSetup() == -1){ 
		printf("setup wiringPi failed !");
		return 1; 
	}
	
	pinMode(makerobo_LaserPin, OUTPUT); // 激光传感器设置为输出模式
	
	int k=2;
	while(k--)
	{
		digitalWrite(makerobo_LaserPin, HIGH); //打开激光传感器
		delay(1000); //延时1s                           
		digitalWrite(makerobo_LaserPin, LOW);  //关闭激光传感器
		delay(1000); //延时1s    
	}
	
	digitalWrite(makerobo_LaserPin, LOW); //循环结束后,恢复关闭状态
	delay(500); 
	
	return 0;
}

代码中的两个wiringPi函数在上篇实验博客中有讲解👉传送

3.1Genay编译器

老样子,三板斧(其实这句话都是从之前的博客复制过来的😂)

image-20220401163706498

在Geany里面用生成命令引用wiringPi库

在Geany的build(生成)-->set build commands(设置生成命令)中输入以下指令
gcc -Wall -c "%f" -lwiringPi

效果如下,激光发射器在延时后不断开关

请不要将激光发射器对准任何人!伤眼!!!

效果图


3.2LinuxGcc编译器

为了防止Linux-Gcc环境中无法正常终止程序,建议不要使用while(1)死循环。你可以将k设置得一点,方便观察实验结果

cd打开对应文件路径,ls显示当前路径下的文件

输入以下指令编译代码,生成可执行文件TEST

gcc -Wall 05laser.c -o TEST -lwiringPi

./TEST运行可执行文件

image-20220407165700203

如果没有报错,那就是编译成功了,你可以观察到相同的实验结果

结语

欸这博客都看到这里了,怎么不点关注啊?

就算你不想关注我,那就关注一下专栏嘛!👉传送门

TNND!关注,为什么不关注!

image-20220407170243012

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:05:39  更:2022-04-09 18:06:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:34:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码