Cours:SaéSBC : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 22 : Ligne 22 :
 
*[[Cours:SaéSBC_domotique]]
 
*[[Cours:SaéSBC_domotique]]
 
*[[Cours:SaéSBC_balancingRobot]]
 
*[[Cours:SaéSBC_balancingRobot]]
 
 
 
 
==Lecture de fichier CSV==
 
 
Classes à utiliser :
 
*QFile
 
**méthode readline
 
*QString
 
**méthode split
 
 
==Documents==
 
[[Media:PromoDUT2021.zip]]
 
 
==Conserver le focus clavier sur la zone de saisie==
 
 
*Ajouter une zone de saisie dans l'interface : QLineEdit
 
*rendre active cette zone : ui->lineEdit->activateWindow();
 
*garder le focus sur cette zone : ui->lineEdit->setFocusPolicy(Qt::StrongFocus);
 
*empêcher la prise du focus clavier par d'autres widgets :
 
**sur chaque widget
 
**ui->unWidget->setFocusPolicy(Qt::NoFocus);
 
 
=Domotique=
 
 
*à minima
 
**3 cartes rpi
 
**communication par mqtt
 
**carte capteurs (i2c/gpio)
 
**carte actionneurs (i2c/gpio)
 
 
 
 
 
MQTT pour Qt : https://doc.qt.io/QtMQTT/qtmqtt-index.html
 
 
MQTT pour Arduino : https://pubsubclient.knolleary.net
 
 
NanoPi avec NodeRed ou QT
 
 
Adresses IP pour cartes Arduino : 10.98.9.XXX avec XXX = 211, 212, 213, 214 ou 215.
 
''Changer également l'adresse MAC pour la différencier des autres cartes''.
 
 
Adresse broker mosquitto : 10.98.35.245
 
 
=Balancing Robot=
 
 
*les communications se feront avec le protocole mqtt
 
*modifier avec une interface graphique les paramètres de l'asservissement
 
*télécommande avec boutons physique
 
*affichage de l'angle du robot sur un barregraphe
 
 
 
== Indications pour démarrer ==
 
 
Projet QTCreator pour commencer : [[Media:balancingBot_Minimal.zip]]
 
 
Il faudra configurer un kit de cross-compilation :
 
* Appareil mobile : linux générique (ip=192.168.7.2, login=root, mdp=geii)
 
* Racine du système : {{Rouge|/opt/electronique/bbBlue/sysroot}}
 
* Version de QT : pointer {{Rouge|/opt/electronique/bbBlue/qt5/bin/qmake}}
 
* Compilateurs : pointer l'executable du compilateur situé dans l'arborescence de {{Rouge|/opt/electronique/bbBlue/}}
 
 
Aide pour régulation PID : lire http://www.ferdinandpiette.com/blog/2011/08/implementer-un-pid-sans-faire-de-calculs/
 
 
==Guide de progression==
 
 
# Configurer le projet pour qu'il compile et s'exécute sur la carte du robot
 
# Analyser le code - inutile de rentrer trop dans le détail, mais comprendre l'articulation des classes utilisées dans le main.
 
# Afficher la valeur d'angle du gyroscope en temps réel avec qDebug()
 
# Implémenter une classe pour un régulateur PID qui interviendra entre le gyroscope et les moteurs. Vous pourrez commencer par un régulateur proportionnel uniquement et compléter ensuite.
 
# Implémenter une application graphique PC communiquant en tcp avec le robot permettant
 
## d'afficher les valeurs du gyroscope,
 
## de démarrer/éteindre le PID,
 
## de modifier les valeurs du PID,
 
## ...
 

Version du 17 octobre 2022 à 06:58

travail en trinôme


Ressources

Contraintes communes

Vous devrez configurer un réseau local pour connecter les cartes / ordinateurs que vous utiliserez.

Nous donnerons à chaque groupe les caractéristiques du réseau à créer.


Sujets