0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用Arduino实现激光绊线

jefljel 来源:DevicePlus 作者:DevicePlus 2023-02-24 14:36 次阅读

这篇文章来源于DevicePlus.com英语网站的翻译稿。

ARDUINO激光绊线

目的

教程描述了如何使用Arduino Uno制作一个激光绊线。如果您不熟悉Arduino平台,请参阅“Arduino设置教程”。

概述

在本教程中,您将学习如何设置激光绊线传感器,并在光束被阻断时触发执行器,在此例中为点亮LED。您将学习如何使用if/else循环、激光二极管以及光敏电阻

警告: 激光可能对眼睛有害,切勿直视激光束。

设备

Arduino Uno R3

“DOT”激光模

20件光敏电阻套

9V、1A电源适配器

跳线

USB电缆(A-to-B)

面包板

目录

电路设计

编写代码

引脚定义

设置

循环

上传并运行程序

程序

1.1 电路设计

这个项目的电路设计相当简单。电路分为三部分:激光电源、光敏电阻接收器(传感器)和LED指示灯(执行器)。一般来讲,单片机通过传感器接收来自外界的信息,并通过执行器传递信息或执行操作。我选择使用LED指示灯作为我的执行器,但是执行器可以是警报、短信,甚至是门锁。

我总是喜欢用Fritzing绘制原理图(图1:电路原理图)。Fritzing是一款开源原理图设计和PCB布线软件。这样,将来可以作为参考。

pYYBAGPzF-qAK_dYAAKdWwAhYUM950.png

图1:电路原理图

电路的第一部分是激光二极管的电源。您可以用5V引脚(红色导线)为激光二极管供电。我希望能够打开/关闭激光器,但是Arduino上的数字输出引脚无法为激光二极管提供足够的功率。负极应接地(黑色导线)。确保您的激光二极管不需要限流电阻。如果需要,请选择适当的阻值。

接下来将创建我们的执行器(LED指示灯)。执行器的目的是告诉我们激光二极管光束已经被阻断。LED和电阻应串联在引脚9(浅蓝色导线)和GND(黑色导线)之间。电阻的作用是限制流过LED的电流,并应根据您的LED进行相应调整,以防止电流过大将LED烧坏。请记住,LED较长的引线是正极,应连接到引脚9。

最后,电路的最后一部分是光敏电阻(图2:光敏电阻),即我们的传感器。光敏电阻是一种电阻,其阻值会随电阻面上的光线强度变化而变化。电阻的一个引线应连至引脚7(浅蓝色导线),另一个引线应连至GND(黑色导线)。我使用的光敏电阻在光线照射时具有高电阻,而在没有光线时具有低电阻。

poYBAGPzF-uAIBH-AAEi1Qcod6Q090.jpg

图2:光敏电阻

2.0 编写代码

2.1 引脚定义

代码的第一部分是定义引脚。这一步是可选操作,但是为了便于记忆和跟踪,我为引脚添加了描述性名称。另外,如果我改变电路的连接方式,只需改变引脚定义即可,无需改变引用引脚编号的每一行代码。

在我们的电路中,光敏电阻被定义为“引脚7”,LED被定义为“引脚9”。

poYBAGPzF-2AGiuHAACIzfhqjtk895.png

图3:引脚定义

2.2 设置

在代码的设置部分,我将LED引脚配置为数字输出。

pYYBAGPzF-6AXmEpAACUaBe1ziQ121.png

图4:设置代码

我们还将光敏电阻配置为带上拉电阻(INPUT_PULLUP)的数字输入。我们正在创建的电路与下面的电路类似,这是一种常用电气电路。在这种情况下,上拉电阻和电压源位于单片机(Arduino)内部,“按钮”则是我们的光敏电阻。当激光二极管照射在光敏电阻上时,它呈现高电阻,并且上拉电阻将输入的电压拉到数字高电平。当光束被阻断时,光敏电阻的电阻下降,输入电压变为数字低电平。

poYBAGPzF_CAM8GSAAA7GVWjVZ8494.jpg

图5:上拉电阻输入电路

2.3 循环

对于重复循环,我编写了一个连续查询光敏电阻数字输入的IF/ELSE语句。如果数字输入为高电平,LED输出关闭;否则LED输出开启。

poYBAGPzF_KAS6IHAABx4aBFAtY201.png

图6:循环代码

3.0 上传并运行程序

pYYBAGPzF_OACqQXAAHaVjjDoPw087.jpg

图7:激光绊线的Arduino电路

将代码上传到Arduino。确保Arduino已经连接9V电源适配器,因为USB电源不足以为Arduino和激光二极管同时供电。程序开始后,激光二极管应该输出一束激光。如果光束照射在光敏电阻上,LED应熄灭(图8:激光绊线)。当光束被阻断时,LED亮起,表明绊线已经断开(图9:绊线断开)。

pYYBAGPzF_iAX6KzAAG3qInvikQ667.jpg

图8:激光绊线

poYBAGPzF_qAEsC1AAHCvdtTAwY639.jpg

图9:绊线断开

提示:如果您的LED没有点亮,请使用万用表分别检查激光照射到光敏电阻上时光敏电阻的阻值以及光束阻断时光敏电阻的阻值。光照射到光敏电阻上时,光敏电阻的阻值应该在数千欧姆;没有照射时,阻值应为几百欧姆或更低。

附件:激光绊线代码

/*       Project: Laser Tripwire Tutorial      
 *       Written by: Chris Marella                 
 *       Date: January 24, 2018
 *       Version: 1.0   
 *       
  */

//Pin Definitions
const int photo = 7;
const int LED = 9;

void setup() {
  //Pin Configurations
  //Outputs
  pinMode(LED, OUTPUT);
  digitalWrite(LED, LOW);

  //Inputs
  pinMode(photo, INPUT_PULLUP);

}

void loop() {
  //if/else loop checks if photoresistor is high or low
  if(digitalRead(photo)==HIGH){
    digitalWrite(LED, HIGH);
  }else{
    digitalWrite(LED, LOW);
  }

}

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 编辑团队

设备升级版适用于所有热爱电子和机电一体化的人。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2548

    文章

    50749

    浏览量

    752152
  • 激光
    +关注

    关注

    19

    文章

    3132

    浏览量

    64375
  • Arduino
    +关注

    关注

    187

    文章

    6464

    浏览量

    186688
收藏 人收藏

    评论

    相关推荐

    利用LabVIEW来实现激光超声检测

    题目概括:我现在做一个激光超声检测系统,想用LabVIEW进行编程来实现可视化检测缺陷。大致过程就是用脉冲激光照射工件表面使其产生超声波,然后再利用超声探头进行接收,再转换成电信号,通
    发表于 12-15 10:59

    如何利用Arduino+TB6600驱动模块控制两相四线42减速步进电机?

    如何利用Arduino+TB6600驱动模块控制两相四线42减速步进电机?
    发表于 10-28 06:11

    如何利用Python去实现Arduino UNO的串口通信呢

    利用Python实现串口通信的原理是什么?如何利用Python去实现Arduino UNO的串口通信呢?
    发表于 12-21 06:32

    如何利用Arduino与蜂鸣器实现音乐的演奏呢

    如何利用Arduino与蜂鸣器实现音乐的演奏呢?其程序代码该怎样去实现呢?
    发表于 02-14 07:22

    利用激光实现的集装箱定位系统

    介绍了利用激光的方向性好、亮度高、相干性好的特性实现的港口集装箱定位系统。利用 ATmega8单片机实现了小功率
    发表于 09-08 14:51 15次下载
    <b class='flag-5'>利用</b><b class='flag-5'>激光</b><b class='flag-5'>实现</b>的集装箱定位系统

    利用arduino UNO配合Orangepi 4B实现制作机器人

    利用arduino UNO配合Orangepi 4B实现制作机器人
    发表于 12-16 16:51 11次下载
    <b class='flag-5'>利用</b><b class='flag-5'>arduino</b> UNO配合Orangepi 4B<b class='flag-5'>实现</b>制作机器人

    Arduino激光玩具DIY

    电子发烧友网站提供《Arduino激光玩具DIY.zip》资料免费下载
    发表于 11-02 14:46 0次下载
    <b class='flag-5'>Arduino</b>猫<b class='flag-5'>激光</b>玩具DIY

    超级简单有趣的激光线

    电子发烧友网站提供《超级简单有趣的激光线.zip》资料免费下载
    发表于 11-10 09:46 1次下载
    超级简单有趣的<b class='flag-5'>激光</b><b class='flag-5'>绊</b><b class='flag-5'>线</b>

    声控线开源硬件

    电子发烧友网站提供《声控线开源硬件.zip》资料免费下载
    发表于 11-16 10:13 0次下载
    声控<b class='flag-5'>绊</b><b class='flag-5'>线</b>开源硬件

    Lane Tech PCL粒子氩激光线开源

    电子发烧友网站提供《Lane Tech PCL粒子氩激光线开源.zip》资料免费下载
    发表于 11-21 10:31 0次下载
    Lane Tech PCL粒子氩<b class='flag-5'>激光</b><b class='flag-5'>绊</b><b class='flag-5'>线</b>开源

    LazerDazer:Arduino激光猫玩具

    电子发烧友网站提供《LazerDazer:Arduino激光猫玩具.zip》资料免费下载
    发表于 11-23 11:45 0次下载
    LazerDazer:<b class='flag-5'>Arduino</b><b class='flag-5'>激光</b>猫玩具

    Arduino激光玩具开源分享

    电子发烧友网站提供《Arduino激光玩具开源分享.zip》资料免费下载
    发表于 11-23 11:39 0次下载
    <b class='flag-5'>Arduino</b>猫<b class='flag-5'>激光</b>玩具开源分享

    Arduino激光线

    电子发烧友网站提供《Arduino激光线.zip》资料免费下载
    发表于 02-09 10:00 0次下载
    <b class='flag-5'>Arduino</b><b class='flag-5'>激光</b><b class='flag-5'>绊</b><b class='flag-5'>线</b>

    Arduino KY 008激光模块项目

    电子发烧友网站提供《Arduino KY 008激光模块项目.zip》资料免费下载
    发表于 02-10 14:04 1次下载
    <b class='flag-5'>Arduino</b> KY 008<b class='flag-5'>激光</b>模块项目

    Arduino Nano控制的激光测量

    电子发烧友网站提供《Arduino Nano控制的激光测量.zip》资料免费下载
    发表于 06-19 16:33 0次下载
    <b class='flag-5'>Arduino</b> Nano控制的<b class='flag-5'>激光</b>测量