Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Laser Tripwire

Componenten en benodigdheden

Arduino UNO
Of een compatibel Arduino Uno-bord
× 1
Soldeerloze breadboard halve grootte
× 1
Weerstand 10k ohm
× 3
Jumperdraden (algemeen)
× 1
Fotoweerstand
× 2
Laserdiode
× 1
SparkFun Drukknopschakelaar 12 mm
× 1
Zoemer
× 1

Apps en online services

Arduino IDE

Over dit project

Een lasertripwire bouwen

Componenten

We hebben het volgende nodig:

  • Enkele jumperdraden
  • 3 x 10k weerstanden
  • 2 x fotoweerstanden
  • Een knop
  • Een zoemer
  • Een laser
  • Een Arduino
  • Een breadboard
  • en een spiegel

Ik heb ook een apart breadboard gebruikt voor het laserdetectiecircuit. (Dit hielp enorm om de laser op de fotoweerstand te positioneren.)

Maak de laserdetector

Ik ga beginnen met het gedeelte Laserdetectie van het circuit.

Pak eerst twee jumperdraden. Ik heb een rode en een gele. Plaats de twee jumperdraden in 2 aparte klemmenstroken. Pak een fotoweerstand en sluit deze aan op de rode draad en een aansluitstrip. Plaats de andere fotoweerstand tussen een andere klemmenstrook en de rode draad. Sluit een weerstand van 10k van de gele kabel aan op een van de fotoweerstanden en de andere 10K-weerstand tussen de andere fotoweerstand en de gele kabel. Pak nog twee kabels en verbind ze met elk snijpunt van de fotoweerstanden en 10k-weerstanden. Ik heb groene en oranje jumperdraden gebruikt.

Sluit de gele kabel aan op de min van het breadboard en de rode op de plus van de breadboard. Sluit de oranje aan op A0 (de fotoweerstand die hierop is aangesloten, is de laserdetector) en de groene op A1 (de fotoweerstand die hierop is aangesloten, is de omgevingslichtdetector).

Laten we de zoemer doen

Plaats de zoemer ergens op het breadboard. Sluit een kabel aan tussen de negatieve rail en de negatieve van de zoemer. Sluit het positieve uiteinde van de zoemer aan op pin 3 van de Arduino.

Maak de knop

Vervolgens gaan we de knopsectie maken

Plaats de knop tussen 2 klemmenstroken (zorg dat er alleen contact is als de knop tussen de 2 klemmen wordt ingedrukt). Plaats de laatste 10k-weerstand aan het ene uiteinde van de knop en een negatieve pin. Ik heb een jumper draad gebruikt om het aan te sluiten op de grondrail. Sluit het andere uiteinde van de knop aan op de positieve rail. Verbind vervolgens het snijpunt van de knop en weerstand met pin 4 van de Arduino.

Tijd voor laserlicht!

Laten we tot slot de laser aansluiten op pin 2 en aarde. Ik heb voor beide de pinnen op de Arduino gebruikt. Ik heb een goedkope laser gebruikt die ik heb "gehackt" door krokodillenklemmen met de veer en de behuizing te verbinden met een klittenband die de knop ingedrukt houdt.

Ik heb een programma geschreven om de Laser Trip Wire uit te voeren.

Er wordt voortdurend gecontroleerd of de knop is ingedrukt. Als er op wordt gedrukt, gaan we naar de instelmodus, als we nogmaals op de knop drukken, gaan we naar de gewapende modus.

Als we in de setup-modus zijn, doet het het volgende:

  • Het voert de waarden uit naar de seriële poort.
  • Als het lampje op de fotoweerstand fel genoeg is, licht pin 13 op. Met deze functie kan men de laser richten.

In de ingeschakelde modus doet het het volgende:

  • Elke 3 seconden rapporteert het via seriële communicatie.
  • Het controleert of de waarde van de fotoweerstand daalt doordat de laser wordt onderbroken, wanneer de laserstraal wordt verbroken, wordt de Trip-modus gestart.

In uitschakelmodus is de uitschakeldraad "uitgeschakeld":

  • Het piept 3 keer en de gegevens worden naar de seriële poort gestuurd,
  • keert dan terug naar de ingeschakelde modus.

Code

  • Laser tripwire
Laser TripwireArduino
// 5 pins trip draad// Variablesint mode =1;int ambient;int trip =1000; // De lichtwaarde die ik krijg bij het gebruik van mijn laserint minLight =900;int makeBeep =1; //0 voor geen piep, 1 voor piep!int atAverage;long millisCount;// Output Pinsint laserPin =2;int ledPin =13;int buzzerPin =3;String modeNames[3] ={"INSTELLINGEN","GESCHAKELD", "TRIP"};// Input Pinsint modePin =4; int tripPin =A0;int ambiantPin =A1;void setup() { pinMode(ledPin, OUTPUT); pinMode (laserPin, UITGANG); pinMode (zoemerPin, UITGANG); pinMode(modePin, INPUT); Serial.begin(9600);}void loop() {// Wanneer de knop wordt ingedrukt if (digitalRead(modePin) ==1) { trip =analogRead(tripPin); modus=modus + 1; if (modus>=2) { modus =0; } piep(1); vertraging (300); } // doet iets wanneer de modus verandert schakelaar (modus) { case 0:// kalibratiemodus digitalWrite (laserPin, HIGH); ambient =analogRead (ambiantPin); trip =analoog lezen (tripPin); atAverage =omgeving + ((reis - omgeving)/2); statistieken(); if (trip>
=minLight) {digitalWrite(ledPin,HIGH); } else {digitalWrite(ledPin,LOW); } pauze; geval 1:// Ingeschakelde modus digitalWrite (laserPin, HIGH); digitalWrite (ledPin, LAAG); ambient =analogRead (ambiantPin); atAverage =omgeving + ((reis - omgeving)/2); if (analogRead (tripPin) =3000) { millisCount =millis(); statistieken(); } pauze; geval 2://Trip Mode if ((millis() - millisCount)>=1000) { millisCount =millis(); statistieken(); piep (3); modus =1; } pauze; } vertraging(1); // wacht even}// It Beepsvoid beep (int qty) { int count; if (makeBeep ==1) { for (count =1;count<=aantal;count++) {digitalWrite(buzzerPin, HIGH); vertraging (50); digitalWrite (buzzerPin, LAAG); vertraging (50); } }}//Schrijft statistieken naar de Serial Portvoid stats() { Serial.print("A:"); Serial.print(ambiant); Serial.print(" T:"); Serial.print(reis); Serial.print(" AT:"); Serial.print (bijGemiddelde); Serial.print ("MODUS:"); Serial.print(modeNames[mode]); Serial.println("");}

Schema's

Breadboard-weergave Schematische weergave

Productieproces

  1. Squid Games Doll gebouwd met Arduino UNO
  2. Arduino klok met islamitische gebedstijden
  3. Human Detection Robotics System met Arduino Uno
  4. WebServerBlink met Arduino Uno WiFi
  5. Eenvoudige UNO-rekenmachine
  6. Een afbeelding weergeven op een LCD TFT-scherm met Arduino UNO!
  7. Persistentie van visie
  8. Een LED-matrix besturen met Arduino Uno
  9. Wi-Servo:Wi-Fi Browser gestuurde servomotoren
  10. Arduino Uno + elektrisch apparaat (lamp) + Android-telefoon
  11. 25 kHz 4-pins PWM-ventilatorregeling met Arduino Uno