Arduino Laser Tripwire
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicativos e serviços online
|
Sobre este projeto
Construindo um Tripwire Laser
Componentes
Precisaremos do seguinte:
- Alguns fios de jumpers
- 3 resistores de 10k
- 2 x resistores de foto
- Um botão
- Uma campainha
- Um laser
- Um Arduino
- Uma placa de ensaio
- e um espelho
Também usei uma placa de ensaio separada para o circuito de detecção de laser. (Isso ajudou muito a posicionar o laser no resistor fotográfico.)
Faça o detector de laser
Vou começar com a seção de detecção de laser do circuito.
Pegue dois fios de ligação em primeiro lugar. Eu tenho um Vermelho e um Amarelo. Coloque os dois fios do jumper em 2 tiras de terminais separadas. Pegue um resistor de foto e conecte-o ao fio vermelho e a uma barra de terminais. Coloque o outro fotorresistor entre uma tira de terminal diferente e o fio vermelho. Conecte um resistor de 10K do cabo amarelo a um dos fotorresistores e o outro resistor de 10K entre o outro fotorresistor e o cabo amarelo. Pegue mais dois cabos e conecte-os a cada interseção dos resistores fotoelétricos e resistores de 10k. Usei fios de jumper Verde e Laranja.
Conecte o cabo amarelo ao negativo da placa de pão e o vermelho ao positivo da placa de pão. Conecte o laranja ao A0 (o fotorresistor conectado a este será o detector a laser) e o verde ao A1 (o fotorresistor conectado a este será o detector de luz ambiente).
Vamos tocar a campainha em seguida
Coloque a campainha em qualquer lugar da placa de ensaio. Conecte um cabo entre o trilho negativo e o negativo da campainha. Conecte a extremidade positiva da campainha ao pino 3 do Arduino.
Faça o botão
Em seguida, faremos a seção de botões
Coloque o botão entre 2 tiras de terminais (certifique-se de que haja contato apenas quando o botão for pressionado entre as 2 tiras). Coloque o último resistor de 10k em uma extremidade do botão e um pino negativo. Usei um fio jumper para conectá-lo ao trilho de aterramento. Conecte a outra extremidade do botão ao trilho positivo. Em seguida, conecte a interseção do botão e resistor ao pino 4 do Arduino.
É hora da luz laser!
Por último, vamos conectar o laser ao pino 2 e ao aterramento. Usei os pinos do Arduino para ambos. Usei um laser barato que "hackeado" conectando clipes de crocodilo à mola e ao invólucro com um pouco de velcro mantendo o botão pressionado.
Eu escrevi um programa para executar o Laser Trip Wire.
Ele verifica continuamente se o botão está pressionado. Se for pressionado, entramos no modo de configuração, se pressionado novamente, entramos no modo armado.
Se estivermos no modo de configuração, ele fará o seguinte:
- Ele envia os valores para a porta serial.
- Quando a luz no resistor de foto é forte o suficiente, o pino 13 acende. Este recurso permite apontar o laser.
No modo armado, ele faz o seguinte:
- A cada 3 segundos, ele reporta por meio de comunicações em série.
- Verifica se o valor do resistor fotográfico diminui devido à quebra do laser, quando o feixe de laser é interrompido, o modo de viagem é iniciado.
No modo de desarme, o fio de desarme foi "desarmado":
- Emite 3 bipes e os dados são enviados para a porta serial,
- em seguida, retorna ao modo armado.
Código
- Tripwire laser
Laser Tripwire Arduino
// fio de viagem de 5 pinos // Variablesint mode =1; int ambiant; int trip =1000; // O valor da luz que obtenho ao usar meu laserint minLight =900; int makeBeep =1; // 0 para nenhum bip, 1 para bip! Int atA Average; long millisCount; // Output Pinsint laserPin =2; int ledPin =13; int buzzerPin =3; String modeNames [3] ={"SETTINGS", "ARMED", "TRIP"}; // Input Pinsint modePin =4; int tripPin =A0; int ambiantPin =A1; configuração vazia () {pinMode (ledPin, OUTPUT); pinMode (laserPin, OUTPUT); pinMode (buzzerPin, OUTPUT); pinMode (modePin, INPUT); Serial.begin (9600);} void loop () {// Quando o botão é pressionado if (digitalRead (modePin) ==1) {trip =analogRead (tripPin); modo =modo + 1; if (modo> =2) {modo =0; } bip (1); atraso (300); } // faz algo quando o modo muda switch (modo) {case 0:// modo de calibração digitalWrite (laserPin, HIGH); ambiant =analogRead (ambiantPin); trip =analogRead (tripPin); atA Average =ambiant + ((trip - ambiant) / 2); Estatísticas(); if (trip> =minLight) {digitalWrite (ledPin, HIGH); } else {digitalWrite (ledPin, LOW); } pausa; caso 1:// Modo armado digitalWrite (laserPin, HIGH); digitalWrite (ledPin, LOW); ambiant =analogRead (ambiantPin); atA Average =ambiant + ((trip - ambiant) / 2); if (analogRead (tripPin)=3000) {millisCount =millis (); Estatísticas(); } pausa; caso 2:// Modo de viagem if ((millis () - millisCount)> =1000) {millisCount =millis (); Estatísticas(); bip (3); modo =1; } pausa; } atraso (1); // aguarde um pouco} // Beepsvoid beep (int qty) {int count; if (makeBeep ==1) {para (contagem =1; contagem <=qty; contagem ++) {digitalWrite (buzzerPin, HIGH); atraso (50); digitalWrite (buzzerPin, LOW); atraso (50); }}} // Grava estatísticas nas estatísticas do Portvoid Serial () {Serial.print ("A:"); Serial.print (ambiante); Serial.print ("T:"); Serial.print (viagem); Serial.print ("AT:"); Serial.print (atA Average); Serial.print ("MODO:"); Serial.print (modeNames [modo]); Serial.println ("");}
Esquemas
Visão da placa de ensaio Visualização esquemáticaProcesso de manufatura
- Compilação de boneca Squid Games usando Arduino UNO
- Relógio Arduino com horas de oração islâmica
- Sistema de detecção de humanos usando Arduino Uno
- WebServerBlink usando Arduino Uno WiFi
- Calculadora UNO simples
- Exibindo uma imagem em uma tela LCD TFT com o Arduino UNO!
- Persistência da visão
- Controlando uma matriz de LED com Arduino Uno
- Wi-Servo:Servomotores controlados por navegador Wi-Fi
- Controle de ventilador PWM de 4 pinos de 25 kHz com Arduino Uno