A ideia de construir um Labirinto a Laser surgiu dos filmes de Hollywood, onde acontecem assaltos a bancos. Estes bancos possuem uma super segurança e o assaltante tem que percorrer um caminho até chegar ao cofre.
Como funciona:
Foi definido uma Caneta a Laser verde, para ser o emissor. E o receptor foi criado uma Protoboard, com um Buzzer e um Sensor LDR, que vai encaixada numa placa Arduino.
Para este projeto foi utilizado outro projeto: a Máquina de Fumaça.
O Laser sozinho ele não aparece a olho nú, portanto foi desenvolvido em paralelo a Máquina de Fumaça para podermos visualizar os feixes do laser.
1 Sensor LDR, 1 Buzzer/Sirene, vários espelhos, Jumpers, Caneta de Laser, 1 Arduino.
int sensorLDR = 0; //Sensor de luminosidade, porta analógica int laser = 0; //Variável para armazenar o valor do sensor int pinoLed = 6; //pino do led int sensibilidade = 3; int media = 0; //media da luz do ambiente #define tempo 10 //tempo para executar a sirene int frequencia = 0; //frequencia inicial da sirene int pinoBuzzer = 3; //pino no buzzer void setup(){ Serial.begin(9600); pinMode(pinoLed, OUTPUT); //LED verde pinMode(pinoBuzzer,OUTPUT); //Pino do buzzer configuraLuzAmbiente();//roda somente na inicialização } void loop(){ //captura o laser e verifica se o laser foi interompido ou não! laser = analogRead(sensorLDR); Serial.print("laser:");//min_luminosidade Serial.println(laser); //Saída da saída analógica Serial.print("max_luminosidade:"); Serial.println(laser * sensibilidade); Serial.print("media:"); Serial.println(media); Serial.println("----"); if(laser <= media){ //ok digitalWrite(pinoLed, LOW); }else{ //perdeu digitalWrite(pinoLed, HIGH); sirene(); } //delay(500); } //emula o som de uma sirene, variando a frequencia! void sirene(){ for (frequencia = 150; frequencia < 1800; frequencia += 1) { tone(pinoBuzzer, frequencia, tempo); delay(1); } for (frequencia = 1800; frequencia > 150; frequencia -= 1) { tone(pinoBuzzer, frequencia, tempo); delay(1); } } //metodo somente para executar a primeira vez do programa, para configurar a luz do ambiente. void configuraLuzAmbiente(){ Serial.println("--Configuração--"); laser = analogRead(sensorLDR); Serial.print("max_luminosidade:"); Serial.println(laser * sensibilidade); Serial.print("media:"); media = (laser * sensibilidade)/2; Serial.println(media); Serial.println("-----"); }