Système de stationnement automatique avec Arduino

Système de stationnement automatique

Bonjour à tous et bienvenue dans notre article.

Nous sommes Maxence, Victor et Margot, trois étudiants en 2ème année du cycle préparatoire intégré de Polytech Angers. Notre projet consiste à concevoir et mettre en place un système de stationnement basé sur Arduino (une maquette d’un parking automatisé). C’est à dire que la barrière s’ouvre et se ferme toute seule quand elle détecte une voiture. Les contraintes sur ce projet étaient de programmer avec Arduino, que le système doive permettre la gestion de stationnement: nombre des places inoccupées qui doivent être affiché sur un écran, la durée de stationnement (en heure) et le prix de stationnement pour chaque voiture garée dans le parking.​

Pourquoi avons nous choisie ce projet ?

Nous avons choisie ce projet car il permettait de toucher à tous les domaines : la conception, la programmation, la réalisation, l’impression 3D, etc. De plus, nous ne savions pas quelle spécialité choisir, donc travailler sur ce projet pouvait nous aider dans notre choix.

Étape de notre projet

  • Analyse fonctionnelle du système et de ses contraintes
  • Recherche de normes sur les vrais parkings
  • Recherche sur la maquette (pièces électroniques et planches)
  • Programmation sur Tinkercad
  • Devis
  • Fabrication pièces CAO
  • Construction maquette

Première phase: la recherche

Nous avons commencé notre projet par une phase de recherche, nous avons mis en commun nos idées sur le meilleur parking et ce que nous voulions faire. Tout d’abord nous avons fait un schéma fonctionnel pieuvre, que vous pouvez retrouver ci dessous. Grâce a cela nous avons eu une vision des contraintes : l’écologie, le prix, l’esthétique, etc.

schéma pieuvre

Ensuite nous avons fait un peu de recherche sur la construction d’un vrai parking, afin de respecter au mieux les normes est les dimensions.

La réflexion sur notre maquette

Après ces recherches, nous avons choisi à quoi notre maquette de parking allait ressembler. Nous voulions que le parking ait un étage, deux places handicapées ainsi que deux places électriques. Il y aura 23 places classiques avec une entrée et sortie différente. Les places libres seront indiqué grâce à deux écrans.

Nous avons fait plusieurs devis et commandes d’électronique et de bois pour la structure du parking.

Programmation sur Arduino

Au début nous avons utilisé le logiciel TINKERCAD avons d’avoir les composant. Ce logiciel est un simulateur Arduino avec les composant et la partie programmation. Cela nous a permis de commencé la programmation.

Ensuite nous avons programmé sur Arduino par l’intermédiaire d’une carte Arduino méga.

Conception support 3D

Nous avons principalement utilisé le logiciel SOLIDWORKS, c’est un logiciel de CAO très utilisé à Polytech. Nous y avons construit tout nos panneaux de signalisation ainsi que la barrière et un boitier pour couvrir les câbles et y mettre l’entrée et la sortie. Le point positif avec l’impression 3D est que l’on pouvait vraiment créer les pièces que nous voulions avec les mesures désirées.

le boitier d’entrée/sortie

Conception de la maquette

Une fois toutes nos planches reçues, nous avons commencé la construction de la maquette.

La première étape était de tracer toutes les places et passages sur les planches au crayon de bois. Cela nous a permis de voir comment rendait le parking et de faire quelque changement comme agrandir l’espace pour les barrières. Nous avons fait cela sur les deux planches.

première image de la maquette

Ensuite nous avons dimensionné et coupé les poteaux permettant de surélever le parking et de créer l’étage.

Après nous avons installé les capteurs et écrans (toutes l’électronique). Nous avons décidé de faire passer tous les fils sous la maquette pour que le rendu soit plus propre. Donc il a fallu faire plusieurs trous pour faire passer les capteurs.

En parallèle, nous avons imprimé les panneaux 3D ainsi que les barrières de protection et les barrières d’ouverture. Nous avons aussi créé des cartes de différentes couleurs avec des planches de bois et des stickers que nous avons conçu. Ces cartes vont permettre d’être reconnues par les capteurs couleur à l’entrée et à la sortie du parking, cela permet de simuler les cartes d’abonnement d’un parking réel.

Pour finir, nous avons tout fixer : les piliers sur l’étage, panneaux, barrière et toute la partie électronique, ainsi que repasser au crayon Posca tous les marquages. Notre maquette est prête ! Maintenant c’est le moment de tester. Nous vous avons mis ci-dessous une vidéo du fonctionnement complète de la maquette.

vidéo du fonctionnement du capteur couleur

Merci à vous !!!

Automatisation d’un Parking Autonome

Bonjour à toutes et à tous !

Dans cet article, nous présenterons notre projet sur l’automatisation d’un parking autonome réalisé en deuxième année de cycle préparatoire. Nous étions deux étudiants à être en charge de la rédaction du cahier de charge et de la conception d’une maquette CAO (en 3D).

Le parking automatisé a été mis en place pour augmenter la capacité de stockage d’un parking tout en diminuant l’espace utilisé et ainsi pouvoir créer des espaces verts.

En résumé, l’utilisateur arrive avec sa voiture à l’entrée du parking, qu’on appellera par la suite la salle de transfert. Une fois que la voiture est correctement positionnée dans la salle de transfert, l’utilisateur sort de sa voiture et se dirige vers la borne d’entrée pour recevoir un code. La voiture est ensuite transportée et rangée automatiquement dans la place qui lui a été affectée. L’utilisateur pourra donc aller faire ses courses, ou travailler sans se soucier de garer sa voiture. Lorsque l’utilisateur souhaitera récupérer sa voiture, il n’aura qu’à taper le code et payer. La voiture sera par la suite récupérée et positionnée dans la salle de transfert sans aucune intervention de la part de l’utilisateur.

Le parking automatisé s’adresse uniquement aux voitures. Motos, camionnettes, camions etc… en sont donc exclus. Le but principal est un gain de temps pour l’utilisateur : celui-ci n’a pas à chercher une place de parking, celle-ci vient directement à lui.

Documentation et rédaction du cahier des charges

Notre travail consistait à concevoir les différentes parties du parking, pour cette raison nous avons commencé par nous documenter sur le sujet. Nous nous sommes par la suite mis d’accord sur le type de parking envisagé qui dans notre cas est un parking droit en hauteur. En effet, le parking droit possède des avantages multiples. La taille et la forme du parking sont optimisées en fonction de l’espace disponible, ce qui crée une liberté de configuration.

Nous avons schématisé le parking

Schéma du parking vu de l’extérieur

Nous avons schématisé le système de déplacement

Schéma du système de déplacement

Le parking mis en place est un parking en hauteur de 5 étages et le rez-de-chaussée qui sera occupé par la salle de transfert. Chaque étage peut occuper 2 places de parking, une à droite et une à gauche. La surface de la base du parking sera donc équivalente à 3 voitures positionnées l’une à côté de l’autre (soit 2 places de parking + un système de rail).

Devant le parking se situera une barrière de sécurité pour indiquer la hauteur maximale acceptée. Cette barrière sera accompagnée d’une barrière levante automatique qui ne s’ouvrira que si une voiture souhaite intégrer le parking. Avant d’ouvrir la barrière, le système devra s’assurer que la salle de transfert est vide, qu’il y a de la place dans le parking et que le véhicule respecte la hauteur maximale.

Une fois que le conducteur sera entré dans le parking, il se dirigera vers la salle de transfert. Notre interface affichera alors le nombre de places disponibles, et donnera des indications (éteindre la voiture, fermer les rétroviseurs) à l’utilisateur. Il positionnera le véhicule sur une plaque creusée tournante qui sera elle-même sur notre système de rail.

Plaque creuse modélisée sous SolidWorks

Plaque creuse modélisée sous SolidWorks

Une fois que l’écran affichera que la voiture est bien positionnée, le conducteur pourra donc sortir de sa voiture et se diriger vers la borne d’entrée. À la borne d’entrée, le conducteur pourra cliquer sur un bouton poussoir qui générera un code aléatoire unique. Il recevra un ticket avec un code référant à la place de parking attribuée à son véhicule.

Pour cela, nous avons travaillé sur l’interface homme-machine qui permettra à l’utilisateur d’interagir avec notre système. Une fois que nous nous sommes mis d’accord sur le modèle des interfaces d’entrée et de sorties, nous avons programmé l’interface d’entrée sous python afin de mieux la visualiser.

Interface d’entrée programmée sous Python

Interface d’entrée programmée sous Python

Le véhicule posé sur la plaque est lui-même lié à notre système de rail, qui assurera le déplacement vers la place de parking choisi. Il sera garé dans le même sens que celui de l’entrée dans la salle de transfert.

Lorsque l’utilisateur souhaitera récupérer son véhicule, il devra se diriger vers la borne de sortie située à gauche du parking et cliquer sur le bouton qui permet de récupérer la voiture. Puis, il pourra rentrer le code donné précédemment. Une fois le code validé, l’utilisateur devra attendre que les portails de la salle de transfert s’ouvrent afin de récupérer sa voiture et sortir du parking. Pendant ce temps, le véhicule ira sur la plaque tournante qui le placera dans le sens de sortie.

Modélisation 3D

Lorsque nous avons finalisé la partie recherche, nous sommes passés à la partie développement. Il fallait dans un premier temps modéliser notre système via un logiciel de CAO. Nous nous sommes concentrés sur le système de déplacement, montée et descente de notre plateforme et donc des véhicules ainsi que sur la modélisation des plaques creusées. On a donc fait le choix d’utiliser le logiciel SolidWorks, car il est le plus adapté pour la modélisation des systèmes mécaniques.

Voici une animation du système de déplacement mis en place

Programmation Capteurs et servomoteurs

En parallèle au développement de la CAO, nous avons commencé le travail de programmation des capteurs en utilisant une carte Arduino et un Shield. En effet n’ayant aucune base dans la programmation des capteurs, nous nous sommes renseignés auprès de nos professeurs et d’autres encadrants tout en consultant en parallèle divers sites internet.

Dans un premier temps, nous nous sommes penchés sur le fonctionnement du servomoteur car il était plus simple et nous avons réussi à trouver une documentation plus riche en renseigements. Nous avons pu faire tourner le servomoteur dans les différents angles souhaités.

Puis, nous avons programmé les capteurs. Au début, nous avons essayé des codes pour tester le fonctionnement ainsi que la sensibilité des différents capteurs comme pour le capteur de pression ainsi que le capteur de distance. Ensuite, nous avons essayé de mettre en lien les capteurs avec les servomoteurs pour pouvoir les actionner à notre guise et simuler le fonctionnement.

Enfin, nous avons lancé la partie modélisation. Dans un premier temps, nous avons donc monté nos différents capteurs dans un premier temps en testant nos programmes test pour vérifier si notre utilisation était la bonne. Puis, nous avons fait le montage de la maquette en tenant compte uniquement de l’électronique, et ce, en effectuant les montages de nos différents servomoteurs ainsi que de nos capteurs (qui sont intégrés au même système).

Test du capteur de pression

Test du capteur de pression

Montage de l'un de nos capteurs de présence et de notre servomoteur

Montage de l’un de nos capteurs de présence et de notre servomoteur

Test du capteur de distance

Test du capteur de distance

Pour conclure, ce projet fut une expérience enrichissante. Cela a été l’occasion pour nous de découvrir le monde du travail, et d’allier la théorie à la pratique. Enfin, nous avons pu acquérir de nombreuses connaissances à la fois en mécanique et en programmation de capteurs.

Le parking intelligent et automatisé

Comment réaliser une maquette de parking autonome et adaptable ?

Cliquez sur le titre pour voir: Vidéo du compte rendu du projet.

Le choix du projet

Nous sommes deux étudiants à Polytech Angers, Ahmad IBRAHIM et Hakim BOUKDAIR. Nous avions pour but de réaliser un projet tout au long du 2ème semestre, en 100 heures de cours, de 2ème année à Polytech, ce projet validera ou non notre année. Nous avions le choix entre plusieurs projets mais celui-ci est celui qui nous as le plus intéressé car il alliait du codage, de l’électronique et de la réalisation 3D.

photo du parking obtenu

photo du parking obtenu

Le but du projet

Le projet consiste à réaliser un parking qui soit autonome et qui soit adaptable à taille réelle. Il faut que l’on puisse afficher le nombre de places disponibles et réussir à faire payer chaque voiture s’étant garé dans le parking en fonction du temps resté. La maquette réalisée devra être réutilisable par d’autres personnes et être autonome.

Modélisation de notre parking vue de face

Modélisation de notre parking vue de face

 

Les différents logiciels

– Tinkercad : C’est un logiciel de modélisation 3D qui permet aussi de pouvoir coder en Arduino et de modéliser les différents circuits pour voir si les codes marchent. Ce logiciel nous as permit de pouvoir modéliser en 3D notre parking et de tester tous nos codes avant de les transférer sur la carte Méga. Le grand défaut de ce logiciel c’est qu’il n’était pas assez précis en termes de CAO pour pouvoir ensuite imprimer certaines pièces tel que les barrières ou les escaliers.

Modélisation de notre parking vu de derrière

Modélisation de notre parking vu de derrière

– On Shape : On Shape est un logiciel de modélisation en CAO qui permet de créer des pièces en 3D pour ensuite les imprimer pour notre parking. Nous en avons eu besoin pour faire les deux escaliers, les deux barrières, les deux bras moteur, l’ascenseur et le boitier pour cacher l’électronique.

Escalier réaliser en CAO sur On Shape

Escalier réaliser en CAO sur On Shape

Arduino ide : C’est un éditeur de code qui permet d’envoyer plusieurs programmes sur une carte Arduino à travers un port USB. Ces cartes sont électroniques, elles sont composées d’un microcontrôleur, d’un port USB et de connecteurs d’entrés et de sortie. On peut programmer en C ou en C++ et il y a des fonctions à disposition pour lire des entrées et écrire sur des sorties. A partir d’une carte, nous pouvons gérer des moteurs, des capteurs, des systèmes d’affichage, … Dans notre cas cela permettra de coder tout le système de notre parking avec tous ces différents composants.

Code Arduino, ici pour faire fonctionner un afficheur à 7 segments

Code Arduino, ici pour faire fonctionner un afficheur à 7 segments

 

Ce que l’on a appris

– Nous avons tout d’abord appris à utiliser les différents logiciels. Nous ne connaissions ni Arduino, ni On Shape. Cela nous a permis de coder sur Arduino et de savoir créer un circuit électronique à partir de la carte. Avec On Shape nous avons appris à maitriser le CAO et savoir créer des pièces à imprimer en 3D.

– De plus nous savons maintenant passer des commandes, savoir chercher les références, gérer un budget et surtout rectifier quand il y a un problème. Ce qui sera utile pour nos futurs projets. C’était notre premier grand projet, sur une aussi longue durée, il a fallu savoir gérer le temps et les différentes tâches.

Exemple de pièce à commander, en gardant la référence

Exemple de pièce à commander, en gardant la référence

– Ensuite nous maitrisons le fait de bien travailler à deux, de savoir mettre ses idées en communs, se répartir les tâches en fonction du niveau de l’un et de l’autre. Aussi le fait devoir s’imposer un planning et de devoir le respecter fût une partie compliquer, ce n’était pas dans nos habitudes. Nous avons, par la même occasion, su prendre en compte les remarques de notre professeur référant pour pouvoir rendre notre projet le plus performant possible.

Notre planning simplifié du projet à respecter

Notre planning simplifié du projet à respecter

– Enfin, nous possédions des contraintes pour réaliser ce parking que nous avons respectés. Tout d’abord le temps, comme dit précédemment, mais encore la contrainte pour la taille car il devait être adaptable à taille réelle, soit avoir une échelle pour faire la conversion facilement. De plus il y a des normes au niveau du parking qu’il faut respecter pour la taille des places handicapés par exemple. Toutes les contraintes n’ont pas pu être respectées du fait qu’il manquait déjà des pièces 3D, au niveau du codage nous n’avons pas réussis à rendre le parking payant comme voulu et pour finir le traçage du parking n’est pas aussi esthétique que nous le souhaitions.

Place parking normé pour handicapé, https://www.bms-sols.com/marquage-sol-parking-regles/

Place parking normé pour handicapé, https://www.bms-sols.com/marquage-sol-parking-regles/

 

 

Système de stationnement automatisé sur Arduino​

Bonjour à toutes et à tous !

Introduction

Nous sommes Esteban Cornu, Mattéo Jupille et Alexis Maupas des élèves en deuxième année de cycle préparatoire ingénieur et nous allons vous présenter notre projet intitulé “Système de stationnement automatisé sur Arduino”. Ce projet nous a vraiment attiré lors de la sélection car il correspond au domaine dans lequel nous souhaitons évoluer dans le cycle d’ingénieur. En effet, le projet possède toute une partie basée sur la programmation qui fait écho à la filière SAGI ainsi que sur la partie qualité, innovation et fiabilité qui nous initie à la filière QIF.
Le but est dans un premier temps de découvrir l’Arduino sur laquelle aucun de nous n’avait travaillé auparavant, mais nous étions tous impatients de commencer. Dans un second temps, le projet a permis de nous faire découvrir toutes les étapes à suivre pour mener à bien un projet. Pour cela, il faut s’organiser en répartissant correctement les tâches au sein du groupe dans le but d’être plus efficace. Tout au long du projet nous avons été épaulés par Monsieur Haddad.

Objectifs du projet

  1. Trouver un moyen pour rendre un parking autonome
  2. Concevoir et Programmer un parking situé en plein cœur d’une ville
  3. Réaliser une maquette fonctionnelle de ce parking

Travail réalisé

1. Etude d’automatisation

Nous avons établi trois possibilités pour réaliser ce parking automatisé. La première option consiste à utiliser une carte Arduino avec deux caméras à reconnaissance de plaque d’immatriculation. La deuxième sollicite une carte Arduino avec des capteurs optiques et la dernière se compose d’une carte Raspberry Pi avec deux caméras à reconnaissance de plaque.

Comparaison des 3 options

Après avoir comparé les 3 alternatives en fonction du prix, de la fiabilité, de la complexité nous avons retenu la deuxième option.

Explication du fonctionnement :
Un écran LCD indique le nombre de places restantes si le nombre de place est supérieur à 0 alors un véhicule peut rentrer. Des capteurs optiques placés sous le sol avant et après la barrière vérifient si la voiture est bien rentrée avant de refermer la barrière. La barrière s’ouvre et se ferme à l’aide d’un servomoteur. Puis la voiture peut se garer sur n’importe quelle place libre. Pour aider le conducteur nous avons placés des LED vertes et rouges au bout de chaque place. Si la LED est verte alors la place est libre, elle passera au rouge lorsque le véhicule sera bien garé au-dessus du capteur optique présent sur chaque place. A chaque fois qu’une voiture se gare un chronomètre associé à la place est lancé ce qui permet de vérifier le temps passé dans le parking. Lorsqu’un automobiliste décide de partir, l’écran affiche le prix à payer en fonction du chronomètre lié à sa place puis il peut partir par la barrière de sortie fonctionnant de la même manière que celle d’entrée.

2. Conception du parking

A. Agencement Parking

Nous devions ensuite imaginer l’agencement des places de parking ainsi que la position des barrières d’entré et de sortie mais aussi prévoir un emplacement pour cacher la carte Arduino.

 Croquis Parking Arduino

Nous avons ajouté deux places de parking pour personnes à mobilité réduite selon l’arrêté du 1er août 2006 en respectant les normes.
Le temps était maintenant venu pour nous de réaliser ce parking en 3D à l’aide du logiciel en ligne OnShape en taille réelle. Cette étape a pour but de nous aider à dimensionner le projet mais aussi de nous projeter dans le futur pour connaitre précisément l’emplacement de chaque composant.

Parking En 3D

Parking de 30m x 16m

B. Programmation

Afin de pouvoir contrôler tous les composants nous avons utilisé une carte Arduino MEGA car il fallait beaucoup d’entrées analogiques pour les capteurs optiques ainsi que beaucoup de sorties digitales pour contrôler chaque LED.

Sachant que nous attendions la livraison des composants nous en avons profité pour réaliser des tests sur le logiciel en ligne TinkerCad qui permet de simuler une carte Arduino pour venir y connecter des composants eux aussi virtuels. Ces nombreux tests nous ont permis de comprendre le fonctionnement de chaque composant ainsi que la manière de le brancher à la carte. Nous avons donc utilisé les librairies ServoMoteur et LiquidCrystal pour contrôler la barrière et l’écran LCD facilement. Cette étape nous a fait gagner beaucoup de temps car dès la réception des composants nous avons pu passer à la réalisation sans trop se soucier si le parking fonctionnera une fois l’assemblage des pièces 3D et de la planche en bois terminé.

TinkerCad-LCD

TinkerCad-LCD

3. Réalisation de la maquette

La réalisation de la maquette à commencer lorsque nous avons reçu nos composants. Nous avons d’abord tracé l’emplacement de chaque élément (places, pièces 3D, …) pour ensuite commencer à découper la planche.

Découpage de la planche

Découpage de la planche

Perçage de la planche

Perçage de la planche

Soudure des composants

Soudure des composants

Après le découpage et le percage de la planche nous avons placé tous les composants ainsi que tous les pièces 3D.

L’étape suivant était de souder tous les composants entre eux afin de les connecter à la carte Arduino ce fut très long et périlleux en raison du nombre de composants à alimenter.

Nous avons ajoutés quelques détails comme les panneaux de sens interdit et les signalisations pour les places handicapées.

Résultat final

Conclusion

Pour conclure, nous sommes très reconnaissants d’avoir participé à ce projet pour clôture notre deuxième année préparatoire. En effet, nous avons pu découvrir ou approfondir plusieurs domaines comme la programmation Arduino, la conception assistée par ordinateur, la gestion du temps, la fabrication d’une maquette fonctionnelle, … En plus des connaissances, nous avons appris à concevoir de A à Z un projet ce qui va beaucoup nous aider dans nos futures missions en tant qu’étudiant en école d’ingénieur. Nous sommes très fiers car nous considérons avoir réussi à répondre correctement au cahier des charges en essayant d’innover. Nous profitons de cette conclusion pour remercier Monsieur Haddad pour nous avoir accompagné à concevoir ce projet.

Esteban Cornu Mattéo Jupille Alexis Maupas