Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

Composants et fournitures

Fils de connexion (générique) × 1
Transistor NPN usage général × 1
Condensateur céramique 0,1 µF × 1
Résistance 1k ohm × 1
Résistance 221 ohm × 1
LED RVB diffuse cathode commune × 1
Module GPS GY-NEO6MV2 × 1
Moteur vibrant × 1
Support 2 piles AA pour RTC (UDOO) × 1
Arduino MKR Fox 1200 × 1

Outils et machines nécessaires

Applications et services en ligne

À propos de ce projet

Vue d'ensemble

Les parents s'inquiètent toujours pour leurs enfants. Ils veulent que leurs enfants arrivent à l'école à l'heure et rentrent à la maison à temps, en empruntant le chemin prévu.

SmartWay vise à éliminer cette inquiétude du quotidien des parents. SmartWay surveillera votre enfant pendant qu'il va et revient de l'école, en s'assurant qu'il emprunte toujours le chemin approprié pour arriver à destination, l'école.

SmartWay surveillera la géolocalisation de votre enfant via GPS et enverra immédiatement un e-mail au parent si l'enfant s'écarte du chemin que vous lui avez assigné. SmartWay enverra également un e-mail au parent lorsque l'enfant arrive à la maison ou à l'école, ainsi que s'il est en retard. Ainsi, les parents peuvent siroter leur café en toute tranquillité, sachant que leur enfant arrive sain et sauf à l'école et à la maison.

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

Fonctionnalité

SmartWay surveillera en continu la géolocalisation de votre enfant depuis son réveil jusqu'à son arrivée à la maison. L'appareil est également équipé d'une LED RVB et d'un moteur vibrant pour avertir votre enfant s'il n'emprunte pas le bon chemin vers l'école ou s'il est en retard, et le féliciter lorsqu'il arrive à l'école.

L'appareil fonctionne à travers de nombreuses fonctions pour assurer la sécurité de votre enfant.

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

L'appareil ne peut envoyer que 12 octets d'information, donc un paquet compact est nécessaire lors de l'envoi. D'autres variables seront configurées dans le backend SigFox.

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

Il y a quatre paquets que l'appareil peut envoyer :

Système d'avertissement

L'enfant portant l'appareil sera alerté chaque fois qu'il arrive à l'école, arrive à la maison, est en retard à une destination, ou s'est écarté du parcours.

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

L'appareil en action

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

Avantages

Les parents utilisant cet appareil bénéficieront de :

Construction du projet

Étape 1 : Appareillage requis

Pour commencer le projet, nous devons rassembler notre matériel. Pour ce projet, vous aurez besoin :

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

Étape 2 : Connexion du circuit

L'étape suivante consiste à connecter le circuit ; les images Fritzing ci-dessous illustreront comment cela est fait. Il y a plusieurs parties au câblage, elles sont donc divisées en différentes images.

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

Étape 3 : Comprendre le code

Le code se compose de plusieurs fonctions, chacune remplissant un rôle spécifique dans la composition du projet :

Ces sections sont expliquées ci-dessous.

Système d'avertissement

void setOutputs() {
  pinMode(R, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(motorPin, OUTPUT);
}

void vibrateMotor() { // vibrer le moteur
  digitalWrite(motorPin, HIGH);
  delay(1000);
  digitalWrite(motorPin, LOW);
}

void ledGreen() { // LED verte
  analogWrite(R, 0);
  analogWrite(G, 255);
  analogWrite(B, 0);
}

void ledOrange() { // LED orange
  analogWrite(R, 255);
  analogWrite(G, 45);
  analogWrite(B, 0);
}

void ledRed() { // LED rouge
  analogWrite(R, 255);
  analogWrite(G, 0);
  analogWrite(B, 0);
}

void resetLED() { // Éteindre LED
  analogWrite(R, 0);
  analogWrite(G, 0);
  analogWrite(B, 0);
}

Cette section du code se trouve dans le fichier functions.h. Le code notifiera l'enfant portant l'appareil sur l'état actuel. Globalement, ces boucles contrôlent la LED RVB et le moteur vibrant.

Obtenir GPS

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) {
    Serial.println("Erreur - Module GPS a répondu avec une erreur");
    Serial.println(" Arrêt du code");
    Serial.println("________________________________________");
    while (1) {};
  }
}

Cette boucle est chargée de recevoir la position et l'heure du module GPS. Elle fait 3 choses : elle est utilisée dans la boucle setup pour synchroniser le GPS, puis pour synchroniser l'horloge temps réel (RTC) intégrée avec celle du GPS, et elle est utilisée dans la boucle principale pour obtenir la géolocalisation de l'appareil.

Synchroniser RTC

void synchRTC() {
  Serial.println("Synchronisation RTC");
  Serial.println("________________________________________");
  Serial.println(" OK - Initialisation RTC");
  rtc.begin();
  Serial.println(" OK - Synchronisation de l'heure");
  // Il faut rogner les 2 premiers chiffres de la variable (2018 -> 18)
  uint16_t yearRAW = gps.date.year();
  String yearString = String(yearRAW);
  yearString.remove(0, 1);
  uint16_t year = yearString.toInt();
  rtc.setTime(gps.time.hour(), gps.time.minute(), gps.time.second());
  rtc.setDate(gps.date.day(), gps.date.month(), year);
  Serial.println(" Succès - RTC synchronisé");
  Serial.println("________________________________________");
  Serial.println("");
  Serial.println("");
  Serial.println("");
}

Cette section de code synchronise l'horloge temps réel (RTC) intégrée avec l'heure reçue du module GPS. Elle lit d'abord les données du module GPS puis les traite. La boucle définit ensuite l'heure actuelle du RTC intégré sur l'heure reçue et démarre le RTC.

Traiter la position

bool processData() {
  if (gps.location.isValid()) {
    latitude = gps.location.lat();
    longitude = gps.location.lng();
    latitude = 53.355504;
    longitude = -6.258452;
    if (check.isOut()) {
      if (check.track()) {
        Serial.println("HORS LIMITES");
        warn.offTrackLoop();
      }
    }
    if (check.isHomeTime() && arrivedSchool) {
      if (check.isHome()) {
        Serial.println("À LA MAISON");
        warn.arrivedHomeLoop();
      } else {
        Serial.println("EN RETARD -> MAISON");
        warn.lateLoop();
      }
    } else if (check.isSchoolTime() && arrivedHome) {
      Serial.println(".");
      if (check.isSchool()) {
        Serial.println("À L'ÉCOLE");
        warn.arrivedSchoolLoop();
      } else {
        Serial.println("EN RETARD -> ÉCOLE");
        warn.lateLoop();
      }
    } else {
      Serial.println("EN ROUTE");
    }
  }
}

Cette boucle traitera la position de l'appareil et la comparera à l'heure actuelle pour voir où l'enfant devrait être à ce moment. Elle effectuera ensuite l'action appropriée en fonction du résultat.

Exécuter les actions

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;
  }
};

Cette structure est appelée pour agir sur la réponse donnée par Traiter la position. Elle avertira l'enfant en basculant la LED RVB et le moteur vibrant. Elle enverra également un paquet à SigFox si nécessaire.

Envoyer le paquet

void parseData(int state) {
  SigFox.beginPacket(); // commencer le processus d'envoi du message
  if (state == 0) // hors parcours
    SigFox.print("off track");
  else if (state == 1) // en retard
    SigFox.print("late");
  else if (state == 2) // arrivé à la maison
    SigFox.print("at home");
  else // arrivé à l'école
    SigFox.print("at school");
  SigFox.endPacket();
}

Cette fonction envoie les données à SigFox. L'envoi du paquet commence, puis la valeur appropriée est analysée.

Configuration des variables

Le code contiendra plusieurs variables avec « TODO » écrit en commentaire après elles. Ces variables doivent être personnalisées pour s'adapter au client. Le client sera invité à configurer :

Le guide ci-dessous vous guide à travers la configuration des variables.

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

Bibliothèques

Configuration

Assurez-vous que le circuit est correctement câblé. Pour les détails sur la configuration de votre MKR Fox, cliquez ici pour le tutoriel Arduino. Si vous souhaitez en savoir plus sur la bibliothèque Arduino SigFox, cliquez ici.

Programme Backend

Vous devez avoir un Arduino MKR Fox 1200 enregistré pour programmer le backend.

  1. Ouvrez le backend SigFox et connectez-vous à votre compte.
  2. Cliquez sur « Device Type » dans le menu déroulant en haut de la page.
  3. Sélectionnez votre Arduino MKR Fox et cliquez sur modifier.
  4. Sélectionnez « callbacks » dans le menu de gauche et naviguez vers le bouton « new » en haut à droite.
  5. Après avoir cliqué sur new, vous serez présenté avec plusieurs options de configuration de callback. Cliquez sur « Custom Callbacks ».
  6. Une fenêtre s'ouvrira. Vous devez remplir le formulaire donné pour créer votre callback. À la fin, votre message devrait ressembler à ceci.
  7. Cliquez sur OK et c'est tout configuré.

Finalisation

La dernière chose à faire est de téléverser le code ci-dessous. Assurez-vous d'avoir personnalisé les variables marquées « TODO » selon vos préférences. Attendez que la lumière bleue du module GPS clignote, puis déconnectez le microcontrôleur de votre ordinateur et placez les piles dans le boîtier. Vous êtes prêt.

J'ai conçu un boîtier pour protéger l'appareil et le rendre attrayant. J'ai utilisé deux pièces d'acrylique et fondu les bords en les courbant à 90 degrés. J'ai placé tout le circuit à l'intérieur et le boîtier de piles en dessous, puis j'ai attaché les deux pièces de plastique ensemble avec deux colliers de serrage.

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200
SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

À la fin, j'ai couvert une partie du dessus (couverture transparente) pour cacher tous les fils de la vue et ne laisser visible que le cerveau du projet.

Contexte

Je sais personnellement à quel point il peut être stressant d'accomplir la simple tâche d'envoyer votre enfant à l'école. Tout le monde s'inquiète de toutes les choses qui peuvent arriver à son enfant pendant qu'il fait son chemin vers l'école.

Ce projet s'adresse à toutes les personnes qui se sentent stressées quand elles envoient leur enfant à l'école. SmartWay vous permettra de vous détendre, sachant que votre enfant arrivera sain et sauf à l'école.

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

Code

SmartWay

Le code complet

Pièces personnalisées et boîtiers

Non inclus dans Fritzing par défaut

arduino_mkr_fox_1200_fixed_gwlzp1tuih_uh8ucYEGxI.fzpz

Schémas

SmartWay : Kit complet pour moteur vibrant, LED RVB, module GPS et Arduino MKR Fox 1200

overall_WZeRYkIUCF.fzz

Processus de fabrication

  1. Comprendre les moteurs à collecteur à courant alternatif : conception, types et applications
  2. Raspoulette : Prototype de système autonome de porte de poulailler à énergie solaire
  3. Simple Pi Robot – Construire un rover autonome 2 roues motrices avec Raspberry Pi
  4. Guide Étape par Étape pour l'Inspection et le Diagnostic des Problèmes de Moteurs CC
  5. Comprendre les moteurs linéaires : de l'énergie électrique au mouvement linéaire précis
  6. Comprendre les moteurs BLDC : guide professionnel
  7. Réducteurs de motoréducteurs expliqués : fonctionnement et importance
  8. Servomoteurs expliqués : fonctionnement et importance
  9. Comprendre les réducteurs de servomoteurs : fonctions, avantages et applications