Tripwire laser Arduino
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Applications et services en ligne
|
À propos de ce projet
Construire un fil de déclenchement laser
Composants
Nous aurons besoin des éléments suivants :
- Quelques fils de connexion
- 3 résistances de 10 k
- 2 x photorésistances
- Un bouton
- Une sonnerie
- Un laser
- Un Arduino
- Une planche à pain
- et un miroir
J'ai également utilisé une planche à pain séparée pour le circuit de détection laser. (Cela a aidé des tas à positionner le laser sur la photorésistance.)
Fabriquer le détecteur laser
Je vais commencer par la section de détection laser du circuit.
Prenez d'abord deux câbles de démarrage. J'en ai un rouge et un jaune. Placez les deux cavaliers dans 2 borniers séparés. Prenez une photorésistance et connectez-la au fil rouge et à un bornier. Placez l'autre photorésistance entre un bornier différent et le fil rouge. Connectez une résistance de 10k du fil jaune à l'une des photorésistances et l'autre résistance de 10K entre l'autre photorésistance et le fil jaune. Prenez deux autres fils et connectez-les à chaque intersection des photorésistances et des résistances 10k. J'ai utilisé des cavaliers vert et orange.
Connectez le fil jaune au négatif de la planche à pain et le rouge au positif de la planche à pain. Connectez l'orange à A0 (la photorésistance connectée à celui-ci sera le détecteur laser) et le vert à A1 (la photorésistance connectée à celui-ci sera le détecteur de lumière ambiante).
Faisons le buzzer ensuite
Placez le buzzer n'importe où sur la planche à pain. Connectez un fil entre le rail négatif et le négatif du buzzer. Connectez l'extrémité positive du buzzer à la broche 3 de l'Arduino.
Faire le bouton
Ensuite, nous allons créer la section des boutons
Placer le bouton entre 2 borniers (veiller à ce qu'il n'y ait contact que lorsque le bouton est enfoncé entre les 2 borniers). Placez la dernière résistance de 10k à une extrémité du bouton et une broche négative. J'ai utilisé un cavalier pour le connecter au rail de terre. Connectez l'autre extrémité du bouton au rail positif. Connectez ensuite l'intersection du bouton et de la résistance à la broche 4 de l'Arduino.
C'est l'heure de la lumière laser !
Enfin, connectons le laser à la broche 2 et à la masse. J'ai utilisé les broches de l'Arduino pour les deux. J'ai utilisé un laser bon marché que j'ai "piraté" en connectant des pinces crocodiles au ressort et au boîtier avec du velcro maintenant le bouton enfoncé.
J'ai écrit un programme pour exécuter le Laser Trip Wire.
Il vérifie en permanence si le bouton est enfoncé. S'il est enfoncé, nous entrons dans le mode de configuration, s'il est enfoncé à nouveau, nous entrons en mode armé.
Si nous sommes en mode configuration, il effectue les opérations suivantes :
- Il envoie les valeurs au port série.
- Lorsque le voyant de la photorésistance est suffisamment lumineux, la broche 13 s'allume. Cette fonction permet de viser le laser.
En mode armé, il effectue les opérations suivantes :
- Toutes les 3 secondes, il signale via des communications série.
- Il vérifie si la valeur de la photorésistance baisse en raison de la rupture du laser, lorsque le faisceau laser est interrompu, le mode Trip est lancé.
En mode déclenchement, le fil de déclenchement a été "déclenché" :
- Il bipe 3 fois et les données sont envoyées au port série,
- revient ensuite au mode armé.
Code
- Laser Tripwire
Laser TripwireArduino
// Fil de déclenchement 5 broches// Variablesint mode =1;int ambiant;int trip =1000; // La valeur de lumière que j'obtiens en utilisant mon laserint minLight =900;int makeBeep =1; // pour aucun bip, 1 pour bip!int atAverage;long millisCount;// Output Pinsint laserPin =2;int ledPin =13;int buzzerPin =3;String modeNames[3] ={"SETTINGS","ARMED", "TRIP"} ; // Entrée Pinsint modePin =4 ; int tripPin =A0;int ambiantPin =A1;void setup() { pinMode(ledPin, OUTPUT); pinMode(laserPin, SORTIE); pinMode(buzzerPin, SORTIE); pinMode(modePin, INPUT); Serial.begin(9600);}void loop() { // Lorsque le bouton est enfoncé if (digitalRead(modePin) ==1) { trip =analogRead(tripPin); mode=mode + 1 ; if (mode>=2) { mode =0; } bip(1) ; retard (300); } //fait quelque chose lorsque le mode change switch (mode) { case 0://mode d'étalonnage digitalWrite(laserPin,HIGH); ambiant =analogRead(ambiantPin); trip =analogRead (tripPin); atMoyenne =ambiant + ((trip - ambiant)/2); Statistiques(); if (voyage>=minLight) { digitalWrite(ledPin,HIGH); } else { digitalWrite(ledPin,LOW); } Pause; cas 1 :// Mode armé digitalWrite(laserPin,HIGH); digitalWrite (ledPin, LOW); ambiant =analogRead(ambiantPin); atMoyenne =ambiant + ((trip - ambiant)/2); if (analogRead(tripPin)=3000) { millisCount =millis(); Statistiques(); } Pause; cas 2 ://Mode de déclenchement if ((millis() - millisCount)>=1000) { millisCount =millis(); Statistiques(); bip(3) ; mode =1 ; } Pause; } retard(1); // attend un peu}//It Beepsvoid beep(int qty) { int count; if (makeBeep ==1) { for (count =1;count<=qty;count++) { digitalWrite(buzzerPin, HIGH); retard (50); digitalWrite(buzzerPin, LOW); retard (50); } }}//Écrit les statistiques dans le Serial Portvoid stats() { Serial.print("A:"); Serial.print(ambiant); Serial.print(" T:"); Serial.print(voyage); Serial.print(" AT:"); Serial.print(atAverage); Serial.print(" MODE:"); Serial.print(modeNames[mode]); Serial.println("");}
Schémas
Vue de la planche à pain Vue schématiqueProcessus de fabrication
- Construire une poupée Squid Games avec Arduino UNO
- Horloge Arduino avec heures de prière islamique
- Système robotique de détection humaine utilisant Arduino Uno
- WebServerBlink avec Arduino Uno WiFi
- Calculatrice UNO simple
- Afficher une image sur un écran LCD TFT avec Arduino UNO !
- Persistance de la vision
- Contrôler une matrice LED avec Arduino Uno
- Contrôle de ventilateur PWM 4 broches 25 kHz avec Arduino Uno