Hľadať kód

Kód Arduina a video vysielač a laserový senzor

Kód Arduina a video vysielač a laserový senzor

V tomto návode sa naučíme, ako použiť laserový vysielač a prijímač na detekciu laserového lúča a spustenie bzučiaka alebo inej akcie. Toto zapojenie možno využiť v rôznych aplikáciách, vrátane automatizácie a robotiky. Na konci návodu budete rozumieť, ako zapojiť komponenty a napísať kód pre Arduino, aby všetko fungovalo bez problémov.

Laster RX or receiver module
Laster TX or transmitter module

V celom návode si rozoberieme kľúčové komponenty tohto projektu, vrátane toho, ako ich správne zapojiť a ako funguje kód. Pozrite si video pre podrobný postup (vo videu o 02:00).

Vysvetlenie hardvéru

Hlavné komponenty tohto projektu zahŕňajú laserový vysielač, laserový prijímač a bzučiak. Laserový vysielač vyžaruje svetelný lúč, zatiaľ čo prijímač tento lúč detekuje. Keď je lúč prerušený, prijímač pošle signál do Arduina, ktoré potom môže aktivovať bzučiak alebo vykonať inú akciu.

Vysielací modul pracuje pri 5 voltoch a obsahuje rezistor na obmedzenie prúdu. Prijímací modul možno pripojiť externým vodičom pre flexibilitu pri umiestnení. Bzučiak je tiež napájaný 5 voltmi a má dva kolíky: jeden pre kladný pól a jeden pre zem.

Podrobnosti z datasheetu

VýrobcaNeznámy
Číslo dieluLaserový vysielač/prijímač modul
Prevádzkové napätie5 V
Spotreba prúdu5 mA typ.
Typ výstupuDigitálny signál
Detekčný rozsahLíši sa podľa prostredia
RozmeryVysielač: 14,8 mm x 18,8 mm, Prijímač: 15,4 mm x 23,4 mm

  • Zabezpečte správne napájanie, aby nedošlo k poškodeniu.
  • Používajte krátke vodiče na minimalizáciu straty signálu.
  • Udržujte prijímač zarovnaný s vysielačom pre spoľahlivú detekciu.
  • Otestujte zapojenie v rôznych svetelných podmienkach.
  • Buďte opatrní pri odrazoch, ktoré môžu spôsobiť falošné detekcie.

Pokyny na zapojenie

Arduion wiring laser Transmitter and receiver
Arduion wiring laser Transmitter and receiver

Na zapojenie laserového vysielača pripojte jeho uzemňovací kolík na GND Arduina a kladný kolík na 5V Arduina. Stredný kolík vysielača sa nepoužíva. Pre laserový prijímač pripojte jeho uzemňovací kolík na GND, kladný kolík na 5V a výstupný kolík na pin 2 Arduina. Tento výstupný kolík bude čítať signál z laserového prijímača.

Ďalej pripojte bzučiak: jeho dlhší kolík (kladný) by mal byť pripojený na pin 8 Arduina, zatiaľ čo kratší kolík (uzemnenie) sa pripojí na GND. Uistite sa, že všetky spojenia sú pevné, aby sa predišlo občasným problémom počas prevádzky.

Príklady kódu a vysvetlenie

Kód Arduina začína definovaním pinov pre laserový senzor a akciu (bzučiak) pomocou identifikátorov DETECT a ACTION. Kód inicializuje sériovú komunikáciu na ladenie a nastavuje režimy pinov vo funkcii setup().

#define DETECT 2 // pin 2 pre senzor
#define ACTION 8 // pin 8 pre akciu na vykonanie niečoho

void setup() {
  Serial.begin(9600);
  pinMode(DETECT, INPUT); // definovať vstupný pin detekcie
  pinMode(ACTION, OUTPUT); // definovať výstupný pin ACTION
}

Tento úryvok ukazuje, ako nakonfigurovať piny pre vstup a výstup, čo je kľúčové pre funkčnosť zapojenia. Príkaz Serial.begin(9600) umožňuje komunikáciu so sériovým monitorom, čo nám umožňuje vidieť ladené správy.

Vo funkcii loop() kód nepretržite kontroluje stav laserového senzora. Ak je laserový lúč detekovaný, aktivuje bzučiak a vytlačí „Detected!" do sériového monitora.

void loop() {
  int detected = digitalRead(DETECT); // čítať laserový senzor
  if(detected == HIGH) {
    digitalWrite(ACTION, HIGH); // zapnúť bzučiak
    Serial.println("Detected!");
  } else {
    digitalWrite(ACTION, LOW); // vypnúť bzučiak
    Serial.println("No laser");
  }
  delay(200); // čakať 200 milisekúnd
}

Tento úryvok demonštruje základnú logiku programu. Premenná detected ukladá výstup funkcie digitalRead(), ktorá kontroluje, či je laserový lúč prítomný. V závislosti od stavu sa bzučiak zapne alebo vypne.

Demonštrácia / Čo očakávať

Keď je zapojenie správne a kód je nahraný, systém by mal fungovať podľa očakávania. Sériový monitor bude indikovať „Detected!", keď laserový lúč zasiahne prijímač, a bzučiak bude zvoniť. Ak je lúč prerušený alebo nie je detekovaný, zobrazí sa „No laser" a bzučiak sa vypne.

Je nevyhnutné zabezpečiť, aby bol laserový lúč správne zarovnaný s prijímačom pre spoľahlivú prevádzku. Buďte si vedomí potenciálnych odrazov, ktoré môžu spôsobiť falošné pozitívne výsledky, ako je diskutované vo videu (vo videu o 08:00).

Časové značky videa

  • 00:00 - Úvod
  • 02:00 - Vysvetlenie hardvéru
  • 04:30 - Pokyny na zapojenie
  • 06:15 - Vysvetlenie kódu
  • 08:00 - Demonštrácia

Obrázky

Laster RX or receiver module
Laster RX or receiver module
Laster RX or receiver module
Laster RX or receiver module
Laster TX or transmitter module
Laster TX or transmitter module
Laster TX or transmitter module
Laster TX or transmitter module
Laster TX or transmitter module
Laster TX or transmitter module
Arduion wiring laser Transmitter and receiver
Arduion wiring laser Transmitter and receiver
67-This is the Arduino code and video for a laser sensor module.
Jazyk: C++
++
/*
 * Laser Sensor module for Arduino
 * Turns ON a buzzer or you can control a motor or servo or any other action.

 * Watch the video https://youtu.be/h_y1y6eUvIY

 *  * 
Laser Sensor module for Arduino
Written by Ahmad Shamshiri for Robojax.com
on Feb 02, 2018 at 18:24 in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.* 
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 /*
/*


 */
  // Laser Sensor code for Robojax.com
#define DETECT 2 // pin 2 for  sensor
#define ACTION 8 // pin 8 for action to do something


void setup() {
  Serial.begin(9600);
  Serial.println("Robojax.com Laser Module Test");
  pinMode(DETECT, INPUT);//define detect input pin
  pinMode(ACTION, OUTPUT);//define ACTION output pin

  // Laser sensor code for Robojax.com

}

void loop() {
     // Laser Sensor code for Robojax.com

  int detected = digitalRead(DETECT);// read Laser sensor
 
  if( detected == HIGH)
  {
    digitalWrite(ACTION,HIGH);// set the buzzer ON
    Serial.println("Detected!");

  }else{
    digitalWrite(ACTION,LOW); // Set the buzzer OFF
    Serial.println("No laser");
     // Laser Sensor code for Robojax.com

  }
  delay(200);
}

Veci, ktoré by ste mohli potrebovať

Zdroje a referencie

Zatiaľ žiadne zdroje.

Súbory📁

Žiadne súbory nie sú k dispozícii.