|
|
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,
| |
− | ## ...
| |