Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

SmartWay: Kit Integral para Monitorización Infantil GPS, Vibración, RGB y Sigfox (Arduino MKR Fox 1200)

Componentes y materiales

Arduino MKR Fox 1200 (Sigfox) 1
Módulo GPS GY-NEO6MV2 1
Motor vibrador (cell) 1
LED RGB difuso (cátodo común) 1
Transistor NPN (genérico, para motor) 1
Condensador cerámico 0,1 µF (motor) 1
Resistencia 1 kΩ (base transistor) 1
Resistencia 221 Ω (LED RGB) 1
Soporte 2xAA/AAA para RTC 1
Cables jumper 1 set

Herramientas

Software y servicios

Visión general

SmartWay monitoriza la ruta escolar de un niño. Usa GPS para geolocalización, Sigfox para enviar alertas (email) a los padres, y retroalimentación local (LED RGB + vibración) al niño.

Funcionamiento

Montaje

  1. Conecta GPS a Serial1 (pines TX/RX del MKR Fox).
  2. LED RGB: pines PWM (R, G, B) con resistencias 220 Ω.
  3. Motor vibrador: transistor NPN + base 1k Ω + condensador 0,1 µF en colector.
  4. Alimentación: 2 pilas AA en soporte (RTC) + batería LiPo opcional en MKR Fox.
  5. Carcasa: dos piezas acrílico curvadas 90°, unidas con bridas; tapa superior transparente con zona opaca para ocultar cableado.

Estructura del código (fragmentos clave)

Sistema de alertas (functions.h)

void setOutputs() { pinMode(R, OUTPUT); pinMode(G, OUTPUT); pinMode(B, OUTPUT); pinMode(motorPin, OUTPUT); }
void vibrateMotor() { digitalWrite(motorPin, HIGH); delay(1000); digitalWrite(motorPin, LOW); }
void ledGreen()  { analogWrite(R,0);   analogWrite(G,255); analogWrite(B,0); }
void ledOrange() { analogWrite(R,255); analogWrite(G,45);  analogWrite(B,0); }
void ledRed()    { analogWrite(R,255); analogWrite(G,0);   analogWrite(B,0); }
void resetLED()  { analogWrite(R,0);   analogWrite(G,0);   analogWrite(B,0); }

Obtención GPS + sincronía RTC


bool getGPS(int run) {
  while (Serial1.available() > 0) {
    if (gps.encode(Serial1.read())) {
      if (run == 1) processData();
      else if (run == 2) synchRTC();
      if (gps.location.isValid() && gps.time.isValid() && gps.date.isValid()) return true;
      else return false;
    }
  }
  if (millis() > 10000 && gps.charsProcessed() < 10) { /* error GPS */ while(1); }
}

Procesar ubicación y decidir acción


bool processData() {
  if (gps.location.isValid()) {
    latitude = gps.location.lat(); longitude = gps.location.lng();
    // TODO: reemplazar por coordenadas reales de escuela/casa
    latitude = 53.355504; longitude = -6.258452;

    if (check.isOut()) { if (check.track()) { warn.offTrackLoop(); } }
    if (check.isHomeTime() && arrivedSchool) {
      if (check.isHome()) warn.arrivedHomeLoop(); else warn.lateLoop();
    } else if (check.isSchoolTime() && arrivedHome) {
      if (check.isSchool()) warn.arrivedSchoolLoop(); else warn.lateLoop();
    } else { Serial.println("ON WAY"); }
  }
}

Acciones y envío Sigfox


struct Do {
  void offTrackLoop() { if (offTrackVar) parseData(0); vibrateMotor(); ledRed(); delay(1000); vibrateMotor(); resetLED(); offTrackVar = true; delay(120000); }
  void lateLoop() { if (!lateVar) parseData(1); vibrateMotor(); ledOrange(); delay(1000); resetLED(); lateVar = true; }
  void arrivedHomeLoop() { lateVar = false; offTrackVar = false; vibrateMotor(); ledGreen(); delay(1000); resetLED(); parseData(2); arrivedHome = true; arrivedSchool = false; }
  void arrivedSchoolLoop() { lateVar = false; offTrackVar = false; vibrateMotor(); ledGreen(); delay(1000); resetLED(); parseData(3); arrivedHome = false; arrivedSchool = true; }
};

void parseData(int state) {
  SigFox.beginPacket();
  if (state == 0) SigFox.print("off track");
  else if (state == 1) SigFox.print("late");
  else if (state == 2) SigFox.print("at home");
  else SigFox.print("at school");
  SigFox.endPacket();
}

Configuración backend Sigfox (callbacks)

  1. Inicia sesión en backend.sigfox.com.
  2. Menú "Device Type" → selecciona tu MKR Fox 1200 → "Edit".
  3. Pestaña "Callbacks" → "New" → "Custom Callback".
  4. Configura: Type=EMAIL, Channel=EMAIL, Recipient=tu@email.com, Subject="SmartWay Alert", Body={data}.
  5. Guarda.

Variables a personalizar (marcadas TODO)

Recursos

Proceso de manufactura

  1. Raspoulette: Sistema autónomo de puerta de gallinero alimentado por energía solar – Prototipo
  2. Simple Pi Robot: Construye un Rover Autónomo 2‑WD con Raspberry Pi
  3. Entendiendo los Motores Lineales: De Energía Eléctrica a Movimiento Lineal Preciso
  4. Entendiendo los motores BLDC: guía profesional
  5. Motorreductores: funcionamiento, tipos y aplicaciones esenciales
  6. Motores servo: funcionamiento, tipos y por qué son importantes
  7. Entendiendo los reductores para servomotores: funciones, beneficios y aplicaciones
  8. Motor de arranque: Funcionamiento, tipos, averías y diagnóstico
  9. Optimización del control de movimiento con motores servo sin bastidor Parker serie K
  10. Comprender los Motores de Conmutador de CA: Diseño, Tipos y Aplicaciones
  11. Guía Paso a Paso para Inspeccionar y Diagnosticar Problemas en Motores DC