P5 IOT 2017

De Wiki d'activités IMA
Révision datée du 29 janvier 2018 à 01:31 par Mdiop (discussion | contributions) (Détail du travail de la quatrième séance)

Présentation du sujet

Contexte

Nous effectuons ce projet dans le cadre du module internet des objets (Internet of things).

L'objectif de ce module est de créer l'objet connecté de notre choix.

Nous avons donc choisi de créer un objet en rapport avec la sécurité routière: le système Safe&Drive.

Description du projet

Pour veiller au respect des distances de sécurité, le système S&D va tout d'abord évaluer la distance entre votre voiture et celle qui vous suit.

Grâce au GPS intégré, la distance de sécurité à respecter sera calculée en fonction de votre vitesse de circulation.

Si cette distance de sécurité n'est pas respectée, un message de mise en garde sera affiché sur votre pare-brise arrière à destination du conducteur qui vous suit de trop prêt.

Bien évidemment, ce message ne sera envoyé qu'après confirmation de l'utilisateur depuis l'application mobile du système Safe&Drive.

En mode marche arrière, le système devient une aide à la manœuvre avec une caméra de recul et un détecteur d'obstacle.

Réalisation

Matériel utilisé

  • Raspberry Pi
  • Arduino Uno
  • Arduino Mega2560
  • SparkFun GPS Shield
  • Adafruit 64x32 RGB LED Matrix - 5mm pitch
  • Garmin LIDAR-Lite v3

Suivi de réalisation

Séance 1 (08/01/2018) Choix de l'objet + Choix du matériel
Séance 2 (09/01/2018) Circuit shield pour la matrice LED + Test Li-DAR Lite
Séance 3 (16/01/2018) Circuit shield pour la matrice LED + Test du shield GPS
Séance 4 (17/01/2018) Circuit shield pour la matrice LED + Test Shield GPS
Séance 5 (22/01/2018) Soudage circuit shield pour la matrice LED + Test LED Matrix + RaspberryPI + Application mobile
Séance 6 (24/01/2018) Finitions + Resolutions des problèmes + Préparation orale (+poster)

Détail du travail de la première séance

Pour choisir notre projet nous avons débuté en faisant un pseudo-brainstorming duquel est ressorti 4 projets.

Nous donc dû réduire notre choix à un seul de ces quatre possibilités.

Notre choix final s'est donc porté sur le système Safe&Drive.

Après avoir affiné les divers fonctionnalités de notre projet, nous avons commencé à réunir le matériel dont nous aurions besoin.

Détail du travail de la deuxième séance

  • Début de la création du shield de la matrice de LED qui viendra se positionner sur l’Arduino Mega2560.
  • Test du capteur optique LI-DAR Lite et codage du programme pour le calcul de distance.

 LIDARLite Arduino Library
  GetDistanceI2c

  This example shows how to initialize, configure, and read distance from a
  LIDAR-Lite connected over the I2C interface.

  Connections:
  LIDAR-Lite 5 Vdc (red) to Arduino 5v
  LIDAR-Lite I2C SCL (green) to Arduino SCL
  LIDAR-Lite I2C SDA (blue) to Arduino SDA
  LIDAR-Lite Ground (black) to Arduino GND
  
  (Capacitor recommended to mitigate inrush current when device is enabled)
  680uF capacitor (+) to Arduino 5v
  680uF capacitor (-) to Arduino GND

  See the Operation Manual for wiring diagrams and more information:
  http://www.robotshop.com/media/files/pdf2/pli-06-instruction.pdf

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#include <Wire.h>
#include <LIDARLite.h>

LIDARLite myLidarLite;
int distance_reelle ;

void setup()
{
  Serial.begin(9600); // Initialize serial connection to display distance readings

  myLidarLite.begin(0, true); // Set configuration to default and I2C to 400 kHz

  myLidarLite.configure(0); // Change this number to try out alternate configurations
}

void loop()
{

  // Take a measurement with receiver bias correction and print to serial terminal
  distance_reelle = (myLidarLite.distance());
  if(distance_reelle < 1)
  {
	Serial.println('O');
  }
  else
  {
	Serial.println('N');
  }
}


Détail du travail de la troisième séance

  • Poursuite de la création du circuit (shield) pour la matrice LED.

Cela n'a pas été une tâche facile en raison de la répartition des différentes pâtes dont nous avions besoin et des liaisons à effectuer.

  • Test du GPS et codage du programme de calcul de vitesse.

Nous avons rencontré des problèmes avec le GPS, celui-ci ne renvoyait des message d'erreurs "NO GPS DETECTED" ou bien des données nulles du type "Date: 00/00/0000".

Détail du travail de la quatrième séance

  • Finition du circuit (shield) pour la matrice LED et envoi de la demande de fabrication

Nous avons rencontré un problème avec le logiciel nous avons donc dû refaire entièrement le circuit, cela nous a pas mal retardé dans notre projet.

[INSERER IMAGES DU CIRCUIT (Différentes vues)]

Circuitp5.jpg

  • Test du GPS et résolution des problèmes.

Nous avons rencontré beaucoup de problèmes avec le GPS, celui-ci se connectait bien aux satellites mais ne nous renvoyais que des données nulles ou bien un message d'erreur.

Il s'est en faite avéré que selon la position du GPD receiver sur le shield celui-ci affichait ou non les données.

Le problème a donc été résolu.

[INSERER LE CODE GPS]

Détail du travail de la cinquième séance

  • Soudage des barrettes et des ponts sur le circuit pour la Matrice LED (Shield)

[INSERER IMAGE CIRCUIT]

  • Test de la matrice LED et codage du programme pour l'affichage d'un message personnalisé coloré

Message choisi: Ne me collez pas au cul, PUTAIN!!

[INSERER LE CODE LED Matrix]

  • Configuartion de la RPI

[PARTIE ARAME]

[INSERER CODE RPI]

  • Codage de l'application Mobile

[PARTIE ARAME]

[INSERER CODE APPLI]

Détail du travail de la sixième séance

  • Test du fonctionnement du système complet

Problèmes rencontrés:

[Partie ARAME]

[INSERER Code final]

  • Préparation de l'oral et finition du poster

Rendu

Poster

Version électronique du poster :

2017 IOT P5 poster.png

Fichiers rendus

Notre application : Media:2017_IOT_P0_application.zip