Barrière automatique
Activité de synthèse : Comment faire discuter un ordinateur et un arduino ?
Problématique :

L’objectif du projet est de piloter un arduino à travers une interface windows sur notre PC. Le port série sera utilisé pour faire la liaison entre les deux de façon bi-directionnelle. On imagine un système d’ouverture de barrière piloté à distance par un opérateur. Celui-ci aurait un visuel sur une caméra de surveillance pour laisser entrer ou non les automobilistes sur le parking privé de l’établissement.
Pré-requis :
QT :
Créer un nouveau projet dans QT de type Windows Application.
Dans le fichier .pro du projet, ajouter cette ligne
QT += serialport
Vous utiliserez la classe QSerialPort pour manipuler le port série.
Idéalement en dessous de la ligne existante QT -= core gui
Vous utiliserez ce que vous avez vu dans l’exercice sur QT et la gestion des fenêtres.
Arduino :
On va utiliser le port série et stocker le résultat de l’envoi de QT dans un char et faire des actions en fonction des commandes.
char maDemandeDeQT;
while (Serial.available())
{
// get the new byte:
maDemandeDeQT = (char)Serial.read();
if(maDemandeDeQT == 'votreProtocole')
//vos actions
Exercices :
Le but de l’exercice est de faire dialoguer le PC et l’arduino. Pour des soucis de simplification, le moteur sera représenté par deux LED, rouge pour la position basse et verte pour la position haute. La barrière redescend d’elle-même au bout de 30 secondes et si il n’y a pas de voiture encore présente (on utilisera un bouton pour simuler la présence de la voiture) ou si l’opérateur appuie sur le bouton descente avant le délai de 30 secondes et qu’il n’y a pas de voiture. Celui-ci dispose également d’un synopsis qui sera l’état du système en temps réel.
Etape 1 : QT (sans gestion du véhicule)
Q1 : A partir de ce qui a été défini dans le cahier des charges, définissez les entrées/sorties du système.
Q2 : Définissez un protocole pour dialoguer avec l’arduino. Ce protocole doit rester simple et sera sous la forme de char.
Q3 : Dessinez un croquis de l’interface que vous aurez à réaliser.
Q4 : Réaliser un algorithme, un algorigramme et implémenter cette interface avec QT.
Etape 2 : Arduino (sans gestion du véhicule)
Q5 : Réaliser le schéma de câblage de la carte Arduino avec le logiciel Fritzing.
Q6 : Implémenter le programme de la partie arduino.
Q7 : Faites des tests de dialogue de QT vers Arduino. Vérifiez que tout est fonctionnel à l’aide d’un cahier de recette. Vous indiquerez ce que le système doit faire et ce qu’il fait réellement. Ajustez au besoin
Etape 3: Dialogue inverse + gestion du véhicule
Q8 : Il arrive parfois que l’opérateur ne soit pas derrière la caméra. Il faut donc pouvoir avertir celui-ci d’une demande d’ouverture de barrière. Proposez une solution et implémentez-la. On utilisera les mêmes étapes que ce qui a été fait précédemment avec en plus un dialogue de l’arduino qui va parler avec QT, toujours en sollicitant le port série.
Prenez le temps de rédiger votre mini-projet. Il faut que cela soit suffisamment détailler pour qu’une personne qui ne connaisse pas votre sujet puisse le comprendre. Cela vous aidera aussi à synthétiser vos idées et à ne pas faire fausse route.
Créé avec HelpNDoc Personal Edition: Qu'est-ce qu'un outil de création d'aide ?