0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用Arduino實現(xiàn)激光絆線

jefljel ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-02-24 14:36 ? 次閱讀

這篇文章來源于DevicePlus.com英語網(wǎng)站的翻譯稿。

ARDUINO激光絆線

目的

教程描述了如何使用Arduino Uno制作一個激光絆線。如果您不熟悉Arduino平臺,請參閱“Arduino設(shè)置教程”。

概述

在本教程中,您將學(xué)習(xí)如何設(shè)置激光絆線傳感器,并在光束被阻斷時觸發(fā)執(zhí)行器,在此例中為點亮LED。您將學(xué)習(xí)如何使用if/else循環(huán)、激光二極管以及光敏電阻。

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

設(shè)備

Arduino Uno R3

“DOT”激光模

20件光敏電阻套

9V、1A電源適配器

跳線

USB電纜(A-to-B)

面包板

目錄

電路設(shè)計

編寫代碼

引腳定義

設(shè)置

循環(huán)

上傳并運行程序

程序

1.1 電路設(shè)計

這個項目的電路設(shè)計相當(dāng)簡單。電路分為三部分:激光電源、光敏電阻接收器(傳感器)和LED指示燈(執(zhí)行器)。一般來講,單片機(jī)通過傳感器接收來自外界的信息,并通過執(zhí)行器傳遞信息或執(zhí)行操作。我選擇使用LED指示燈作為我的執(zhí)行器,但是執(zhí)行器可以是警報、短信,甚至是門鎖。

我總是喜歡用Fritzing繪制原理圖(圖1:電路原理圖)。Fritzing是一款開源原理圖設(shè)計和PCB布線軟件。這樣,將來可以作為參考。

pYYBAGPzF-qAK_dYAAKdWwAhYUM950.png

圖1:電路原理圖

電路的第一部分是激光二極管的電源。您可以用5V引腳(紅色導(dǎo)線)為激光二極管供電。我希望能夠打開/關(guān)閉激光器,但是Arduino上的數(shù)字輸出引腳無法為激光二極管提供足夠的功率。負(fù)極應(yīng)接地(黑色導(dǎo)線)。確保您的激光二極管不需要限流電阻。如果需要,請選擇適當(dāng)?shù)淖柚怠?/p>

接下來將創(chuàng)建我們的執(zhí)行器(LED指示燈)。執(zhí)行器的目的是告訴我們激光二極管光束已經(jīng)被阻斷。LED和電阻應(yīng)串聯(lián)在引腳9(淺藍(lán)色導(dǎo)線)和GND(黑色導(dǎo)線)之間。電阻的作用是限制流過LED的電流,并應(yīng)根據(jù)您的LED進(jìn)行相應(yīng)調(diào)整,以防止電流過大將LED燒壞。請記住,LED較長的引線是正極,應(yīng)連接到引腳9。

最后,電路的最后一部分是光敏電阻(圖2:光敏電阻),即我們的傳感器。光敏電阻是一種電阻,其阻值會隨電阻面上的光線強度變化而變化。電阻的一個引線應(yīng)連至引腳7(淺藍(lán)色導(dǎo)線),另一個引線應(yīng)連至GND(黑色導(dǎo)線)。我使用的光敏電阻在光線照射時具有高電阻,而在沒有光線時具有低電阻。

poYBAGPzF-uAIBH-AAEi1Qcod6Q090.jpg

圖2:光敏電阻

2.0 編寫代碼

2.1 引腳定義

代碼的第一部分是定義引腳。這一步是可選操作,但是為了便于記憶和跟蹤,我為引腳添加了描述性名稱。另外,如果我改變電路的連接方式,只需改變引腳定義即可,無需改變引用引腳編號的每一行代碼。

在我們的電路中,光敏電阻被定義為“引腳7”,LED被定義為“引腳9”。

poYBAGPzF-2AGiuHAACIzfhqjtk895.png

圖3:引腳定義

2.2 設(shè)置

在代碼的設(shè)置部分,我將LED引腳配置為數(shù)字輸出。

pYYBAGPzF-6AXmEpAACUaBe1ziQ121.png

圖4:設(shè)置代碼

我們還將光敏電阻配置為帶上拉電阻(INPUT_PULLUP)的數(shù)字輸入。我們正在創(chuàng)建的電路與下面的電路類似,這是一種常用電氣電路。在這種情況下,上拉電阻和電壓源位于單片機(jī)(Arduino)內(nèi)部,“按鈕”則是我們的光敏電阻。當(dāng)激光二極管照射在光敏電阻上時,它呈現(xiàn)高電阻,并且上拉電阻將輸入的電壓拉到數(shù)字高電平。當(dāng)光束被阻斷時,光敏電阻的電阻下降,輸入電壓變?yōu)閿?shù)字低電平。

poYBAGPzF_CAM8GSAAA7GVWjVZ8494.jpg

圖5:上拉電阻輸入電路

2.3 循環(huán)

對于重復(fù)循環(huán),我編寫了一個連續(xù)查詢光敏電阻數(shù)字輸入的IF/ELSE語句。如果數(shù)字輸入為高電平,LED輸出關(guān)閉;否則LED輸出開啟。

poYBAGPzF_KAS6IHAABx4aBFAtY201.png

圖6:循環(huán)代碼

3.0 上傳并運行程序

pYYBAGPzF_OACqQXAAHaVjjDoPw087.jpg

圖7:激光絆線的Arduino電路

將代碼上傳到Arduino。確保Arduino已經(jīng)連接9V電源適配器,因為USB電源不足以為Arduino和激光二極管同時供電。程序開始后,激光二極管應(yīng)該輸出一束激光。如果光束照射在光敏電阻上,LED應(yīng)熄滅(圖8:激光絆線)。當(dāng)光束被阻斷時,LED亮起,表明絆線已經(jīng)斷開(圖9:絆線斷開)。

pYYBAGPzF_iAX6KzAAG3qInvikQ667.jpg

圖8:激光絆線

poYBAGPzF_qAEsC1AAHCvdtTAwY639.jpg

圖9:絆線斷開

提示:如果您的LED沒有點亮,請使用萬用表分別檢查激光照射到光敏電阻上時光敏電阻的阻值以及光束阻斷時光敏電阻的阻值。光照射到光敏電阻上時,光敏電阻的阻值應(yīng)該在數(shù)千歐姆;沒有照射時,阻值應(yīng)為幾百歐姆或更低。

附件:激光絆線代碼

/*       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 編輯團(tuán)隊

設(shè)備升級版適用于所有熱愛電子和機(jī)電一體化的人。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2545

    文章

    50445

    瀏覽量

    751075
  • 激光
    +關(guān)注

    關(guān)注

    19

    文章

    3095

    瀏覽量

    64309
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6457

    瀏覽量

    186502
收藏 人收藏

    評論

    相關(guān)推薦

    利用LabVIEW來實現(xiàn)激光超聲檢測

    題目概括:我現(xiàn)在做一個激光超聲檢測系統(tǒng),想用LabVIEW進(jìn)行編程來實現(xiàn)可視化檢測缺陷。大致過程就是用脈沖激光照射工件表面使其產(chǎn)生超聲波,然后再利用超聲探頭進(jìn)行接收,再轉(zhuǎn)換成電信號,通
    發(fā)表于 12-15 10:59

    如何利用Arduino+TB6600驅(qū)動模塊控制兩相四42減速步進(jìn)電機(jī)?

    如何利用Arduino+TB6600驅(qū)動模塊控制兩相四42減速步進(jìn)電機(jī)?
    發(fā)表于 10-28 06:11

    如何利用Python去實現(xiàn)Arduino UNO的串口通信呢

    利用Python實現(xiàn)串口通信的原理是什么?如何利用Python去實現(xiàn)Arduino UNO的串口通信呢?
    發(fā)表于 12-21 06:32

    如何利用Arduino與蜂鳴器實現(xiàn)音樂的演奏呢

    如何利用Arduino與蜂鳴器實現(xiàn)音樂的演奏呢?其程序代碼該怎樣去實現(xiàn)呢?
    發(fā)表于 02-14 07:22

    利用激光實現(xiàn)的集裝箱定位系統(tǒng)

    介紹了利用激光的方向性好、亮度高、相干性好的特性實現(xiàn)的港口集裝箱定位系統(tǒng)。利用 ATmega8單片機(jī)實現(xiàn)了小功率
    發(fā)表于 09-08 14:51 ?15次下載
    <b class='flag-5'>利用</b><b class='flag-5'>激光</b><b class='flag-5'>實現(xiàn)</b>的集裝箱定位系統(tǒng)

    利用arduino UNO配合Orangepi 4B實現(xiàn)制作機(jī)器人

    利用arduino UNO配合Orangepi 4B實現(xiàn)制作機(jī)器人
    發(fā)表于 12-16 16:51 ?11次下載
    <b class='flag-5'>利用</b><b class='flag-5'>arduino</b> UNO配合Orangepi 4B<b class='flag-5'>實現(xiàn)</b>制作機(jī)器人

    Arduino激光玩具DIY

    電子發(fā)燒友網(wǎng)站提供《Arduino激光玩具DIY.zip》資料免費下載
    發(fā)表于 11-02 14:46 ?0次下載
    <b class='flag-5'>Arduino</b>貓<b class='flag-5'>激光</b>玩具DIY

    超級簡單有趣的激光

    電子發(fā)燒友網(wǎng)站提供《超級簡單有趣的激光.zip》資料免費下載
    發(fā)表于 11-10 09:46 ?1次下載
    超級簡單有趣的<b class='flag-5'>激光</b><b class='flag-5'>絆</b><b class='flag-5'>線</b>

    聲控開源硬件

    電子發(fā)燒友網(wǎng)站提供《聲控開源硬件.zip》資料免費下載
    發(fā)表于 11-16 10:13 ?0次下載
    聲控<b class='flag-5'>絆</b><b class='flag-5'>線</b>開源硬件

    Lane Tech PCL粒子氬激光開源

    電子發(fā)燒友網(wǎng)站提供《Lane Tech PCL粒子氬激光開源.zip》資料免費下載
    發(fā)表于 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激光貓玩具

    電子發(fā)燒友網(wǎng)站提供《LazerDazer:Arduino激光貓玩具.zip》資料免費下載
    發(fā)表于 11-23 11:45 ?0次下載
    LazerDazer:<b class='flag-5'>Arduino</b><b class='flag-5'>激光</b>貓玩具

    Arduino激光玩具開源分享

    電子發(fā)燒友網(wǎng)站提供《Arduino激光玩具開源分享.zip》資料免費下載
    發(fā)表于 11-23 11:39 ?0次下載
    <b class='flag-5'>Arduino</b>貓<b class='flag-5'>激光</b>玩具開源分享

    Arduino激光

    電子發(fā)燒友網(wǎng)站提供《Arduino激光.zip》資料免費下載
    發(fā)表于 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激光模塊項目

    電子發(fā)燒友網(wǎng)站提供《Arduino KY 008激光模塊項目.zip》資料免費下載
    發(fā)表于 02-10 14:04 ?1次下載
    <b class='flag-5'>Arduino</b> KY 008<b class='flag-5'>激光</b>模塊項目

    Arduino Nano控制的激光測量

    電子發(fā)燒友網(wǎng)站提供《Arduino Nano控制的激光測量.zip》資料免費下載
    發(fā)表于 06-19 16:33 ?0次下載
    <b class='flag-5'>Arduino</b> Nano控制的<b class='flag-5'>激光</b>測量