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 para Mochila com Arduino e Bússola LSM303 – Detecção de Movimento

Componentes e Materiais

Componente Quantidade
Arduino UNO 1
Adafruit LSM303 - Acelerômetro + Magnetômetro (Bússola) Triple-axis 1
Buzzer Piezo Grande 3kHz - SparkFun 1
Bateria 9V (genérica) 1
Jack fêmea 6.35mm (com chave) - Opcional 1
Plug 6.35mm - Opcional 1
Jumpers Macho/Fêmea 1 kit
Conector 9V para Jack Barril 1

Aplicativos e Serviços

Sobre o Projeto

Já sentiu necessidade de alarme para mochila? Sentou em área pública com a mochila e temeu roubo? Este projeto é para você!

Usando a bússola/acelerômetro LSM303, o alarme dispara quando a mochila é movida. Monitora a orientação via bússola; se houver movimento > 10°, soa o alarme.

Passo 1: Ligar o Arduino

Conecte o breakout LSM303 ao Arduino:

Detalhes no guia Adafruit.

Buzzer piezo:

Alarme para Mochila com Arduino e Bússola LSM303 – Detecção de Movimento

Passo 2: Instalar Bibliotecas

  1. Baixe Adafruit_LSM303DLHC e Adafruit_Sensor como ZIP
  2. Abra Arduino IDE (baixe aqui se não tiver)
  3. Sketch → Include Library → Add .ZIP Library...
Alarme para Mochila com Arduino e Bússola LSM303 – Detecção de Movimento
Alarme para Mochila com Arduino e Bússola LSM303 – Detecção de Movimento

Passo 3: Programar o Arduino

Novo arquivo na IDE, apague tudo, cole o código:

// Incluir Bibliotecas
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_LSM303_U.h>
#include <Adafruit_LSM303.h>

// Ajustar sensibilidade (graus)
const int sens = 10;

// ID único para o sensor
Adafruit_LSM303_Mag_Unified mag = Adafruit_LSM303_Mag_Unified(12345);

void setup(void) {
  // Serial.begin(9600); // Para debug
  // Serial.println("Iniciando...");
  pinMode(13, OUTPUT);
  
  if(!mag.begin()) {
    // Problema detectando LSM303 - verifique conexões
    digitalWrite(13, HIGH); delay(500);
    digitalWrite(13, LOW); delay(500);
    digitalWrite(13, HIGH); delay(500);
    digitalWrite(13, LOW); delay(500);
    while(1);
  }
  
  delay(5000); // Aguarda 5 segundos
  
  // Alerta de pronto
  digitalWrite(13, HIGH); delay(500);
  digitalWrite(13, LOW);
}

int getDeg(void) {
  sensors_event_t event;
  mag.getEvent(&event);
  float Pi = 3.14159;
  float heading = int((atan2(event.magnetic.y, event.magnetic.x) * 180) / Pi);
  if (heading < 0) heading = 360 + heading;
  return heading;
}

void loop(void) {
  int oldDeg = getDeg();
  delay(1000);
  int newDeg = getDeg();
  
  if (newDeg < (oldDeg - sens) && oldDeg != 0 && newDeg != 0) {
    digitalWrite(13, HIGH); // Alarme
    // Serial.println("Disparado");
  } else if (newDeg > (oldDeg + sens) && oldDeg != 0 && newDeg != 0) {
    digitalWrite(13, HIGH); // Alarme
    // Serial.println("Disparado");
  }
  
  // Serial.print("Novo:"); Serial.println(newDeg);
  // Serial.print("Antigo:"); Serial.println(oldDeg);
  // Serial.println();
}

Compile e carregue.

Passo 4: Testar

Após reset: alguns bips, 3s silêncio, bip longo. Gire o LSM303 → alarme soa. Ajuste sens (aumente para menos sensível, diminua para mais).

2 bips longos antes dos 3s = problema na fiação. Verifique conexões.

Se não funcionar: remova #include iniciais, use Sketch → Include Library → selecione Wire, Adafruit LSM303DLHC, Adafruit Unified Sensor. Evite campos magnéticos fortes (mude de cômodo ou vá fora). Mantenha breakout nivelado e paralelo ao solo.

Passo 5: Adicionar Chave (Arm/Desarm)

Bateria 9V no jack barril do Arduino, monte na mochila. Mas desplugar/repluggar para armar/desarmar é chato. Use jack 6.35mm (mais seguro que 3.5mm de fone). Ou chave comutada, reed switch + ímã, RFID, app smartphone.

Alarme para Mochila com Arduino e Bússola LSM303 – Detecção de Movimento

Corte um fio da bateria, estenda se necessário, intercale a chave. Usei terminal block barrel jack. Minha chave é toggle simples, mas seja criativo.

Passo 6: Instalar na Mochila

Alarme para Mochila com Arduino e Bússola LSM303 – Detecção de Movimento
Alarme para Mochila com Arduino e Bússola LSM303 – Detecção de Movimento
Alarme para Mochila com Arduino e Bússola LSM303 – Detecção de Movimento

Fure lateral para buzzer e chave. Usei zip ties (solução permanente melhor). Sensor deve ficar paralelo ao solo; furo do buzzer desobstruído.

Indo Além

Não se limita a mochilas. Adicione a porta, pote de biscoitos, geladeira, ou qualquer coisa que queira proteger. Possibilidades infinitas!

Código

Código (Arduino)
// Incluir Bibliotecas
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_LSM303_U.h>
#include <Adafruit_LSM303.h>

// Ajustar sensibilidade
const int sens = 10;

// ID único para o sensor
Adafruit_LSM303_Mag_Unified mag = Adafruit_LSM303_Mag_Unified(12345);

void setup(void) {
  pinMode(13, OUTPUT);
  if(!mag.begin()) {
    digitalWrite(13, HIGH); delay(500);
    digitalWrite(13, LOW); delay(500);
    digitalWrite(13, HIGH); delay(500);
    digitalWrite(13, LOW); delay(500);
    while(1);
  }
  delay(5000);
  digitalWrite(13, HIGH); delay(500);
  digitalWrite(13, LOW);
}

int getDeg(void) {
  sensors_event_t event;
  mag.getEvent(&event);
  float Pi = 3.14159;
  float heading = int((atan2(event.magnetic.y, event.magnetic.x) * 180) / Pi);
  if (heading < 0) heading = 360 + heading;
  return heading;
}

void loop(void) {
  int oldDeg = getDeg();
  delay(1000);
  int newDeg = getDeg();
  if (newDeg < (oldDeg - sens) && oldDeg != 0 && newDeg != 0) {
    digitalWrite(13, HIGH);
  } else if (newDeg > (oldDeg + sens) && oldDeg != 0 && newDeg != 0) {
    digitalWrite(13, HIGH);
  }
}

Esquemáticos

Para a Bússola:
Azul - SDA
Amarelo - SCL
Preto - GND
Vermelho - VIN

Alarme para Mochila com Arduino e Bússola LSM303 – Detecção de Movimento

Processo de manufatura

  1. Projetando Sistemas de Controle Fail-Safe para Segurança e Confiabilidade
  2. Monitoramento Residencial Seguro com Home Assistant no Raspberry Pi: Movimento, Alarme e Captura de Vídeo
  3. Construa um Alarme de Água Headless para Raspberry Pi 2 com Adafruit T-Cobbler Plus
  4. Sistema de Alarme de Detecção de Movimento com Java e Reactive Blocks – Deploy no Raspberry Pi e Envio de SMS
  5. Robô Alarme Rolante: Sistema Móvel Inteligente de Despertar com Raspberry Pi e Google Calendar
  6. Alerta Inteligente de Sede para Plantas – Sensor DIY para Hidratação Ideal
  7. SERENA: Sistema de Alarme Personalizado Arduino Mega 2560 com Touchscreen TFT LCD
  8. Avaliando a Segurança de Sistemas de Alarme com Arduino e Módulos RF
  9. Monitor de Distância Ultrassônica e Temperatura com Arduino, LCD e Sistema de Alarme
  10. Construa um Relógio Despertador Confiável com RTC DS1302 e Arduino UNO