Projet IMA3 P7, 2017/2018, TD2

De Wiki de Projets IMA
Révision datée du 13 juin 2018 à 07:10 par Jwicart1 (discussion | contributions) (Séance 1)

Smart Car Park

Projet informatique

Cahier des charges

Titre du projet

Maquette Smart Car Park

Description du système

Pour notre projet, nous avons pensé à réaliser une maquette sur le thème de la ville intelligente. En effet, notre sujet consiste à concevoir un parking intelligent: le Smart Car Park.

Tout d'abord, le parking sera composé de 3 places de parking qui détecteraient la présence de voitures grâce à 3 capteurs ultrasons et qui indiqueraient si les places sont libres ou non sur un écran LCD positionné à l'entrée du parking et relié aux capteurs. De plus, nous avons pensé à ajouter un système de barrière automatique qui détecterait une voiture et s'ouvrirait ensuite pour la laisser passer. Nous y avons ajouté quelques conditions comme le fait qu'elle ne s'ouvre plus quand le parking affiche complet.

Tout ce projet sera présenté sous forme de maquette, qui semble être un moyen ludique et efficace de présenter ce genre de système.

Matériels nécessaires

Photo des différents capteurs et du servo-moteur




  • 1 servo-moteur
  • 1 résistance
  • 1 potentiometre
  • 1 afficheur LCD alphanumérique
  • 3 capteurs ultrason
  • 1 capteurs de mouvements
  • 2 breadboard
  • 1 lot de jumpers en tout genre (males/femelles)
  • 1 Raspberry Pi
  • 1 Arduino Mega
  • matériels en tout genre permettant de faire une barrière automatique
  • matériels en tout genre pour concevoir la maquette

Séance 1

Aperçu de la maquette

Durant cette séance, nous avons eu l'idée de travailler sur le thème de la ville intelligente, thème en rapport avec la société actuelle mais également celle de demain. Nos premières idées ont été quelque peu ambitieuses. En effet, nous voulions, à la base, créer une ville entière, composée d'un parking intelligent, d'un éclairage automatique de rue et d'une maquette de maison composée d'un volet automatique. Nous l'avions explicité en précisant les éléments dont nous aurions plus tard besoin : des leds (pour l'éclairage des rues et peut être du parking), des capteurs ultrasons (pour détecter si la place de parking est occupé par une voiture ou non ), d'un écran LCD (pour afficher le nombre de places libres du parking), des servo moteurs (pour la barrière automatique du parking et pour le volet automatique), des capteurs de mouvement (pour détecter les piétons dans la rue ou les voitures) , une Arduino UNO, une rapsberry Pi. ( cela nous a pris deux bonnes heures )

La photo ci-dessus résume de façon schématique notre première idée.

A partir du temps qu'il nous restait, nous nous sommes séparées en deux groupes: l'un travaillant sur la configuration de la Rapsberry Pi et l'autre sur le tutoriel compteur sur ALTIUM. Cela nous a pris beaucoup de temps de réflexion et de compréhension.

A la fin de la séance, nous nous sommes rendu compte que notre temps été compté et que la réalisation de la ville entière nous paraissait impossible.Nous nous sommes donc demandés si le fait de réaliser seulement le parking intelligent ne serait pas plus judicieux, du fait du manque de temps.

Activité électronique

Nous avons consacré une partie de la première séance à la découverte du FPGA. Ceci étant tout nouveau pour nous et n’en ayant encore jamais utilisé, nous avons commencé par réaliser le tutoriel proposé par nos professeurs. Ce tutoriel nous a permit de nous familiariser avec les différents éléments électroniques proposés: la Nanoboard ainsi que la programmation graphique et la réalisation de schéma électronique d’Altium.

Nous avons constaté qu’il était possible d’utiliser des interfaces d’Entrée/Sortie afin d’interagir avec notre FPGA, mais aussi qu’il nous était possible d’avoir accès à des instruments virtuels directement sous Altium nous permettant de régler des Entrées/Sorties virtuelles ou encore d’adapter la fréquence de l’horloge du FPGA suivant nos besoins.

Séance 2

circuit composé de 3 capteurs ultrasons


Partie informatique : Durant cette séance, nous nous sommes occupées de finir la configuration de la Rapsberry Pi, cela n'a pas été finalisé lors de la 1 ère séance car nous avons été retardées par l'installation de Raspbian ainsi que la configuration du système. Pour ce, il fallait exécuter quelques commandes non-renseignées sur le tuto que nous suivions (ce qui explique les conflits entre les paquets que nous rencontrions). A la fin de la séance, notre Raspberry Pi était opérationnelle, nous pouvions désormais entamer la partie programmation de notre application !


Partie électronique : Nous nous sommes occupées de réaliser notre circuit Arduino, composé tout d'abord d'un seul capteur ultrason (une seule place de parking) relié à l'Arduino et à l'écran LCD, lui même relié a l'Arduino, ainsi que notre programme. Ayant eu rapidement un résultat positif avec un capteur ultrasons, nous avons réalisé le même circuit avec 3 capteurs ultrasons (3 places de parking). Pour cela, nous avons du changé de carte Arduino et opter pour une Arduino Mega, avec plus de ports entrées afin de pouvoir brancher tous nos capteurs.

En remarquant une bonne réussite dans notre partie électronique, nous avons décidé de rajouter une option, en plus de l'affichage des places libres et des capteurs détectant si une place était occupée ou non. Cette option consistait à réaliser une barrière automatique à l'entrée du parking. Celle-ci s'ouvrirait dès que le capteur de mouvement aurait détectée une voiture. La barrière resterait fermée si le parking affiche complet.

Séance 3

Durant cette séance, nous avons du accélérer le pas pour réussir à finir dans les temps.

Partie informatique : Nous avons continuer à effectuer des recherches afin de mettre en place la configuration de notre futur site web, où les données du parking seraient envoyées. Nous avions quelques idées en tête:

- permettre aux usagers de pouvoir vérifier en temps réel les données du parking (si il y a des places libres ou non et combien)

- réaliser une interface attractive (dans la mesure du possible et avec nos connaissances limitées)

- réaliser 2 grandes parties: l'une pour l'affichage du nombre de places disponibles, l'autre composée de deux boutons pour l'ouverture de la barrière


Partie informatique : Nous avons fini de réaliser notre circuit Arduino avec notre option supplémentaire: la barrière automatique.


Partie maquette : Durant cette dernière séance, il nous a fallut passer par la case "Réalisation de la maquette". Nous voulions créer une maquette afin de permettre aux enseignants et autres personnes intéressées de comprendre notre projet de façon ludique. C'est dans cette perspective que nous avons commencé notre travail. Dans un premier temps nous avons essayer de rassembler des idées pour mettre en place la configuration de la maquette. Nous avons décidé de mettre 4 places sur notre maquette, donc trois équipées de capteur de détection de place (nous avions que 3 capteurs en stock et cela nous suffisait).

schéma de notre future maquette


Séances supplémentaires

Afin de mener à bien notre projet, nous avons du effectuer des séances supplémentaires, notamment pour finaliser notre site web mais également pour réaliser notre maquette.


Partie informatique :


Partie maquette : A l'aide des machines du Fabricarium notamment la découpe laser, nous avons réaliser des voitures qui permettront la détection d’obstacles pour les capteurs. Nous avons ensuite acheté différents éléments indispensables comme la plaque en bois support de notre maquette (40*40cm) et des planches de bois pour réaliser les petits abris des places de voitures. Après assemblage, nous avons remarqué que placer l'arduino mega sous la plaque support était une bonne idée.

Voici le résultat obtenu pour notre maquette

Bilan

En conclusion, notre Smart Car Park est terminé et est fonctionnel. En effet le serveur Websocket envoie des caractères permettant d'ouvrir fermer ou donner le nombres de places disponibles à l’Arduino, et elle à son tour entraîne le servo moteur ou renvoie la valeur des places disponibles. L’objectif principal de notre projet est donc réalisé avec succès.

Contrairement à la partie du serveur WebSocket où nous avions eu du mal à comprendre l’enchaînement des taches et la manière de l'utiliser même si nous avons tout de même réussi à faire ce que nous voulions et nous en étions très satisfaites et contentes.

Nous avons eu l’occasion de découvrir les FPGA et la manière de les programmer graphiquement.Mais cette partie n'a pas pu être aboutit malheureusement, et c'est dommage, car c'est une technologie intéressante, et plus optimisé et rapide qu'une Arduino (mais nous supposons que nous aurions l'occasion de mieux le comprendre et l'élaborer en IMA4). Nous avons constaté tout de même les nombreux avantages du FPGA (fiabilité, flexibilité, coût) qui font que c'est une excellente alternative d’avenir face aux microcontrôleurs traditionnels.

En outre, ce projet nous a permis d'avoir un aperçu sur la filière systèmes communicants En effet, il nous a été très enrichissant, en alliant la pratique à la théorie notamment quelques cours de modules vu cette année, nous avons beaucoup cherché pour comprendre et réaliser nos fonctions, nous n'avions jamais utilisé de Raspberry Pi ni fait une configuration dessus (cela nous a aidé à nous développer en autonomie). Nous avons donc eu l'occasion de voir la capacité et la force de ce petit objet! et bon nombre d'entre nous a pour objectif cet été de faire des petits projets et tutoriels dessus afin de se familiariser davantage avec les objets et les technologies connectés et pourquoi pas choisir la filière SC l'an prochain.

De plus, ce projet nous a permis de confronter la difficulté du débogage. Mais en pensant au "Voyager 1" que l'on peut localiser et communiquer avec depuis plusieurs millions de kilomètres, nous avons admis que faire communiquer une Arduino avec une Raspberry pi ne devrait pas être si difficile pour un ingénieur !


La démonstration du fonctionnement du Smart car Park, est disponible à l'adresse suivante : Le git du projet se trouve à l'adresse suivante :

Activité électronique

Nous avons consacré une partie de la première séance à la découverte du FPGA. Ceci étant tout nouveau pour nous et n’en ayant encore jamais utilisé, nous avons commencé par réaliser le tutoriel proposé par nos professeurs. Ce tutoriel nous a permit de nous familiariser avec les différents éléments électroniques proposés: la Nanoboard ainsi que la programmation graphique et la réalisation de schéma électronique d’Altium. Nous avons constaté qu’il etait possible d’utiliser des interfaces d’Entrée/Sortie afin d’interagir avec notre FPGA, mais aussi qu’il nous etait possible d’avoir accès à des instruments virtuels directement sous Altium nous permettant de régler des Entrées/Sorties virtuelles ou encore d’adapter la fréquence de l’horloge du FPGA suivant nos besoins.