Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Alarme de mochila

Componentes e suprimentos

Arduino UNO
× 1
Adafruit Acelerômetro de eixo triplo + placa de magnetômetro (bússola) - LSM303
× 1
Alarme piezoelétrico grande SparkFun - 3kHz
× 1
Bateria de 9 V (genérica)
× 1
Conector de áudio feminino de 6,35 mm (comutado)
Opcional
× 1
plugue de áudio de 6,35 mm
Opcional
× 1
Cabos de jumper masculino / feminino
× 1
9V para conector Barrel Jack
× 1

Aplicativos e serviços online

Arduino IDE

Sobre este projeto




Você já sentiu a necessidade de um alarme de mochila? Você já se sentou em uma área pública com sua mochila e temeu que alguém pudesse roubá-la? Se sim, este é o projeto certo para você!

Usando a bússola / acelerômetro LSM303, este projeto soa um alarme quando a mochila é movida. Ele usa a bússola para monitorar a orientação e, quando houver movimento de mais de 10 graus, soa um alarme.





Etapa 1:conecte o Arduino


Conecte a placa de breakout LSM303 ao Arduino da seguinte maneira:
  • SDA - SDA
  • SDL - SDL
  • VIN - 5v
  • GND - GND

Para mais detalhes, verifique o guia da Adafruit.

Conecte a campainha piezoelétrica ao Arduino da seguinte maneira:
  • + para o pino 13
  • - para GND





Etapa 2:instalar as bibliotecas


Baixe a biblioteca Adafruit_LSM303DLHC e a biblioteca Adafruit_Sensor como arquivos zip.

Abra o IDE do Arduino. Se você não tem, faça o download aqui.

Vá para Sketch> Incluir Biblioteca> Add.ZIP Library ...

Em seguida, localize e selecione os arquivos .ZIP que você baixou anteriormente.





Etapa 3:programar o Arduino


Abra o Arduino IDE e crie um novo arquivo. Exclua tudo que já estiver lá e cole o código a seguir.
  // Inclui bibliotecas #include  #include  #include  #include  // Ajuste a sensibilidade const int sens =10; / / Atribua um ID exclusivo a este sensor ao mesmo tempo Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified (12345); void setup (void) {// Just for Debugging //Serial.begin(9600); //Serial.println("Starting ... "); // Configuração do pino 13 pinMode (13, OUTPUT); // Inicialize o sensor if (! Mag.begin ()) {// Houve um problema ao detectar o LSM303 ... verifique suas conexões digitalWrite (13, HIGH); atraso (500); digitalWrite (13, BAIXO); atraso (500); digitalWrite (13, ALTO); atraso (500); digitalWrite (13, BAIXO); atraso (500); enquanto (1); } // Aguarde 5 segundos de atraso (5000); // Alerta quando iniciado digitalWrite (13, HIGH); atraso (500); digitalWrite (13, LOW);} // função para obter o valor do sensor int getDeg (void) {// Obter um novo evento do sensor sensor_event_t event; mag.getEvent (&event); float Pi =3,14159; // Calcula o ângulo do vetor y, x float header =int ((atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi); // Normaliza para 0-360 if (cabeçalho <0) {cabeçalho =360 + cabeçalho; } return header;} void loop (void) {// obtém os valores do sensor int oldDeg =getDeg (); atraso (1000); int newDeg =getDeg (); if (newDeg <(oldDeg-sens) &&oldDeg! =0 &&newDeg! =0) {// soa o alarme digitalWrite (13, HIGH); // Apenas para depuração //Serial.println("Triggered "); //Serial.println (""); } else if (newDeg> (oldDeg + sens) &&oldDeg! =0 &&newDeg! =0) {// soa o alarme digitalWrite (13, HIGH); // Apenas para depuração //Serial.println("Triggered "); //Serial.println (""); } // Apenas para depuração //Serial.print("New:"); //Serial.println(newDeg); //Serial.print("Old:"); //Serial.println(oldDeg); //Serial.println ("");}  

Conecte seu Arduino, compile e envie o código.





Etapa 4:teste!


Se você fez tudo corretamente, após pressionar o botão reset em seu Arduino, você será saudado com alguns bipes, 3 segundos de silêncio e, em seguida, um bipe mais longo. Se você girar o breakout do LSM303, deverá ouvir o alarme sendo ativado. Se o sensor for muito sensível, apenas aumente a variável 'sens' no código próximo ao topo. Se você quiser mais sensibilidade, diminua a variável 'sens'.

Se você receber 2 bipes longos antes do atraso de 3 segundos, significa que há problemas com a fiação. Verifique todas as conexões.

Se não funcionar, pode ser que as bibliotecas não estejam nomeadas corretamente. No código, remova as instruções '#include' no início. Em seguida, vá para Sketch> Include Library e selecione as bibliotecas 'Wire', 'Adafruit LSM303DLHC' e 'Adafruit Unified Sensor'. Se depois de tudo isso ainda não funcionar, certifique-se de que não haja nenhum campo magnético forte perto de você. Vá para uma sala diferente ou para fora. Além disso, certifique-se de que a placa de apoio esteja um pouco nivelada e paralela ao solo.





Etapa 5:adicionar uma chave


Você deve ter um projeto funcionando agora, basta conectar uma bateria de 9v na tomada do seu Arduino, montá-la na sua mochila e pronto. No entanto, desconectar e reconectar a bateria toda vez que quiser armar / desarmar o alarme é um tanto chato. É aí que entra em jogo o conector de áudio de 6,35 mm. Em vez de um conector de 3,5 mm que a maioria das pessoas tem nos fones de ouvido, o uso de um conector de 6,35 mm aumenta a segurança. No entanto, se você tiver uma chave com chave ou alguma outra chave que deseja usar, sinta-se à vontade para fazê-lo.

De qualquer forma, para adicionar a chave, conecte o interruptor / chave entre a bateria e o conector do barril DC.

Se você tiver um desses, corte apenas um dos fios, adicione fios de extensão se necessário e adicione o switch. No meu caso, eu tenho um conector de barril de bloco de terminais e conectei com ele. Como não estou muito preocupado com a segurança, minha chave é apenas um botão de alternância simples, mas você pode ser criativo. Use uma chave de palheta e um ímã, RFID, talvez até um aplicativo de smartphone!





Etapa 6:monte!


Parabéns! Agora você tem um alarme totalmente funcional com chave. Agora, basta montá-lo na mochila. Faça um buraco na lateral para a campainha e outro para a fechadura. Usei laços zip, mas uma solução mais permanente pode ser usada. Certifique-se de que o sensor esteja montado um pouco paralelo ao solo e que o orifício da campainha não esteja obstruído.





Indo além


Este alarme não se limita às mochilas. Adicione-o à porta, a um pote de biscoitos, à geladeira ou a qualquer coisa que você queira proteger. As possibilidades são infinitas!

Código

  • Código
Código Arduino
Código Arduino
 // Inclui bibliotecas #include  #include  #include  #include  // Ajuste a sensibilidade const int sens =10; // Atribua um ID exclusivo a este sensor ao mesmo tempo Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified (12345); void setup (void) {// Just for Debugging //Serial.begin(9600); //Serial.println("Starting ... "); // Configuração do pino 13 pinMode (13, OUTPUT); // Inicialize o sensor if (! Mag.begin ()) {// Houve um problema ao detectar o LSM303 ... verifique suas conexões digitalWrite (13, HIGH); atraso (500); digitalWrite (13, BAIXO); atraso (500); digitalWrite (13, ALTO); atraso (500); digitalWrite (13, BAIXO); atraso (500); enquanto (1); } // Aguarde 5 segundos de atraso (5000); // Alerta quando iniciado digitalWrite (13, HIGH); atraso (500); digitalWrite (13, LOW);} // função para obter o valor do sensor int getDeg (void) {// Obter um novo evento do sensor sensor_event_t event; mag.getEvent (&event); float Pi =3,14159; // Calcula o ângulo do vetor y, x float header =int ((atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi); // Normaliza para 0-360 if (cabeçalho <0) {cabeçalho =360 + cabeçalho; } return header;} void loop (void) {// obtém os valores do sensor int oldDeg =getDeg (); atraso (1000); int newDeg =getDeg (); if (newDeg <(oldDeg-sens) &&oldDeg! =0 &&newDeg! =0) {// soa o alarme digitalWrite (13, HIGH); // Apenas para depuração //Serial.println("Triggered "); //Serial.println (""); } else if (newDeg> (oldDeg + sens) &&oldDeg! =0 &&newDeg! =0) {// soa o alarme digitalWrite (13, HIGH); // Apenas para depuração //Serial.println("Triggered "); //Serial.println (""); } // Apenas para depuração //Serial.print("New:"); //Serial.println(newDeg); //Serial.print("Old:"); //Serial.println(oldDeg); //Serial.println ("");} 

Esquemas

Para a bússola:
Azul - SDA
Amarelo - SDL
Preto - GND
Vermelho - VIN

Processo de manufatura

  1. Design à prova de falhas
  2. Sensor de movimento, alarme, gravação de vídeo em HA no Raspberry Pi
  3. Alarme de água Raspberry pi 2 com t sapateiro mais
  4. Sistema de alarme de detecção de movimento
  5. Robô de alarme rotativo
  6. Alarme de planta de alerta de sede
  7. Sistema de alarme Arduino:SERENA
  8. Segurança do sistema de alarme colocada em teste
  9. Sensor ultrassônico com alarme, LCD e temperatura
  10. Despertador simples com DS1302 RTC