Тёмный

Créer une Interface Graphique pour ARDUINO en C++ [Qt & QSerialPort] 

Developpe
Подписаться 2,3 тыс.
Просмотров 25 тыс.
50% 1

Dans cette vidéo je vous explique comment créer une interface graphique pour arduino, en utilisant le framework Qt et la classe QSerialPort ⬇️
Sommaire :
- 00:00 Introduction
- 01:41 Installation du framework Qt
- 03:18 Création du projet et découverte de QSerialPort
- 13:48 Création de l’application
- 18:43 Code côté Arduino
- 22:07 Exécution de l’application
_________________________________________
Ressources complémentaires :
- ATmega328P : Comment programmer les microcontrôleurs des Arduino ? • ATmega328P : Comment P...
- Commander un SERVOMOTEUR avec arduino
• Commander un SERVOMOTE...
_________________________________________
📚 Ma formation sur la programmation des microcontrôleurs STM32 : www.udemy.com/course/maitrise...
- Mon Instagram : developpe.y...
- Mon twitter : / developpe_ytb
📧 developpe.contact@gmail.com
_________________________________________
Les sources affichées dans cette vidéo :
- Installation du framework Qt
www.qt.io/
- Qt Main Window
doc.qt.io/qt-5/qmainwindow.html
- Variables fichier .pro
doc.qt.io/qt-5/qmake-variable...
- Qt Serial Port
doc.qt.io/qt-5/qtserialport-m...
- Classe QSerialPort
doc.qt.io/qt-5/qserialport.html
- void QIODevice ::readyRead
doc.qt.io/qt-5/qiodevice.html...
- QByteArray QIODevice ::readAll()
doc.qt.io/qt-5/qiodevice.html...
- QSerialPort ::close()
doc.qt.io/qt-5/qserialport.ht...
- QSerialPort::open(QIODevice::OpenMode mode)
doc.qt.io/qt-5/qserialport.ht...
- QIODevice::write(const char *data)
doc.qt.io/qt-5/qiodevice.html...
- QIODevice::isOpen()
doc.qt.io/qt-5/qiodevice.html...
- QIODevice::isWritable()
doc.qt.io/qt-5/qiodevice.html...
- Arduino Serial
www.arduino.cc/reference/en/l...

Наука

Опубликовано:

 

30 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 82   
@j-fcollieux8233
@j-fcollieux8233 Год назад
Je suis bluffé par la clarté et votre simplicité d’explications. Merci beaucoup pour vos partages 🙏👍👍👍🙏
@Franfran722
@Franfran722 Год назад
Superbes vidéos ! Diction agréable et explications claires Sans parler de la qualité video et prod Dommage qu il n y en ai pas plus !
@raizoki7487
@raizoki7487 2 года назад
Super vidéo, très claire du début jusqu'à la fin !
@laurentd9898
@laurentd9898 2 года назад
Le hasard fait que je tombe sur vos vidéos, qui sont excellentes. Au plaisir de vous voir plus souvent.
@jeromedebienne3393
@jeromedebienne3393 Год назад
Merci pour cette vidéo ! Effectivement diction impeccable, montage vidéo et explication nickel. Grâce à vous, soirée en mode TP sur l'ESP32 ! Bonne continuation.
@pvbt1141
@pvbt1141 Год назад
Un grand merci à ta vidéo concernant l'interfacage du port usb. Sur une plate-forme tel que fenêtre pour ne pas le citer. Une leçon qui me manquait à min arc á flèches . Rare de voir la gente féminine. CE fut avec plaisir et sans discernement...
@samuelbertin9381
@samuelbertin9381 Год назад
Bonjour ! Merci beaucoup de vos partages de grande qualité :-)
@dutoitdumonde3790
@dutoitdumonde3790 2 года назад
Merci toujours aussi intéressant.
@alexdabe
@alexdabe 2 года назад
Merci pour cette excellente vidéo. Bonne continuation !
@dominiquehusson1615
@dominiquehusson1615 2 года назад
Bonjour Vanessa, merci pour ce petit cour et cette information, je vais devoir regarder la vidéo plusieurs fois pour tenter de vraiment comprendre ce système.
@developpe6497
@developpe6497 2 года назад
Dans cette vidéo j'utilise le langage C++ et il est vrai que sans les bases, cela peut paraître compliqué. Dans tous les cas, d'autres vidéos arrivent plus accessibles.
@sergedefay581
@sergedefay581 7 месяцев назад
Merci pour cette belle présentation concise et complète. J’attends avec impatience les prochaines…encore Bravo!
@SofianMW
@SofianMW 2 года назад
une superbe manip. une bonne intro. merci. prochaine videos!
@bobdalah8374
@bobdalah8374 Год назад
Génial votre tutoriel, comme vous aimez QT, ça sera bien de nous en faire un pour QT embarqué.
@toussaintamadou6505
@toussaintamadou6505 2 месяца назад
merci pour la video c'est tros cool
@hoctrimededebutry8655
@hoctrimededebutry8655 Год назад
Tip top ces videos hyper détaillées et claires !! bravo. Dommage qu'elles soient rares 😉mais c'est vrai que faire tout cela prend beaucoup de temps !! en tout cas bravo encore pour la qualité
@JoelCosmono
@JoelCosmono 11 месяцев назад
Sympa ce tutorial ; çà me donne envie de le Réaliser :) Merci de ce jolie partage ^^
@jean-pierrep9340
@jean-pierrep9340 2 года назад
Bonjour, et merci pour cette video très formatrice qui permet de déboucher sur des tas d'applications Arduino avec liaison au PC... Je vais essayer de mettre en oeuvre ce tuto (ça me permettra de revoir mes bases en programmation orienté objet !) A très bientôt j'espère pour de nouveau sujets.
@smainebouladjeraf
@smainebouladjeraf Год назад
merci pour le partage de vos précieux savoir thanks for sharing your worth knowldge god bless you we're waiting for more videos
@ainasandratra433
@ainasandratra433 Год назад
super video, merci 💗
@Tibrus74
@Tibrus74 10 месяцев назад
Vivement la reprise des vidéos pour tout l'univers arduino
@ZirTaaah
@ZirTaaah 2 года назад
Suuuuuuuuuuuuuuuper merci :)
@talham8331
@talham8331 3 месяца назад
Grand merci bien expl
@38delphy
@38delphy 2 года назад
Bonjour, Pour moi, qui suis néophyte, les premières vidéos m’allaient bien, mais là, je décroche : il y a un écart trop important pour moi. Des vidéos avec des exemples plus concrets seraient un plus. Par exemple : une interface qui récupère des données (longueurs, températures, pressions…) et qui les stocke dans un fichier texte ou un tableur. J’espère vivement avoir été entendu. Merci.
@developpe6497
@developpe6497 2 года назад
C'est vrai que sans les bases de C++, cela peut paraître compliqué. Dans tous les cas d'autres vidéos arrivent plus accessibles 👌
@38delphy
@38delphy 2 года назад
@@developpe6497 Merci de penser aux débutants.
@mekateknik3717
@mekateknik3717 2 года назад
@@developpe6497 Salut,Moi pour debuter je compte faire un analyseur de spectre musical avec des RGB led. (WS2812 ou 2811) pour ceux qui connaissent. J'ai enfin reussi a televerser mon 1er programme au bout d un an😂
@alexandregirbaldiffusion5023
Merci pour cette vidéo vivement la suivante ;-)
@maeldaubaire5204
@maeldaubaire5204 Год назад
Génial ,merci
@ayoubhamid
@ayoubhamid Год назад
very helpful, I'm currently working on the sacara robot and this will surely help me make the interface I need to control it, thank you so much
@elafye2832
@elafye2832 2 месяца назад
C' est quand même bien dommage ... qu''il n'y ait plus de vidéos...
@cestlajoie8663
@cestlajoie8663 5 месяцев назад
Wow, il n'y a rien de comparable à ce que tu fais. Je ne sais pas si tu vas poursuivre, mais j'active la cloche dans l'espoir qu'elle sonne. 😊
@florentakpro8799
@florentakpro8799 2 года назад
je t'aime et j'adore tes videos
@franckkohoubi9333
@franckkohoubi9333 2 года назад
I love you déjà j'ai trop wait ca
@toutoune5980
@toutoune5980 3 месяца назад
Très bonne vidéo technique, cela va à l'essentiel. Le code ne sort pas de nulle part et très bien commenté.
@SofianMW
@SofianMW 4 месяца назад
Enrichissez votre chaîne RU-vid ❤
@marswaggcaffacid6747
@marswaggcaffacid6747 Год назад
t'es super interessante ! dommage que tu te soit arrêter si tôt 🥲
@philippe5394
@philippe5394 2 года назад
Bonsoir Vanessa, le sujet m'a intéressé, ne le connaissant pas. Ca m'ouvre des perspectives, on aurait souvent besoin de communiquer graphiquement avec nos ATmega!! En attendant la prochaine, me voilà abonné!
@ienienvador1352
@ienienvador1352 2 года назад
Salut super vidéo, mais j'aurai aimé voir l'étape finale avec le déploiement de cette petite application . Car après compilation l'exécutable a des dll manquants
@antoinebrunel8892
@antoinebrunel8892 Год назад
Super vidéo à quand une suite ?
@PG-qz6mg
@PG-qz6mg Год назад
merci beaucoup pour vos videos. En ferez-vous d'autres ?
@alarm4007
@alarm4007 2 года назад
Excellent ! j'ai testé ! cela fonctionne ! Je n'' ai pas encore compris tout le mécanisme de comptage d'octet, 2 pour allumer et 3 pour éteindre mais ça viendra !
@developpe6497
@developpe6497 2 года назад
J'ai décidé d'envoyer le message "on" pour allumer et "off" pour eteindre. 1 lettre = 1 octet donc on = 2 lettres = 2 octets et off = 3 lettres donc 3 octets. Mais tu peux mettre le message que tu veux.
@alarm4007
@alarm4007 2 года назад
@@developpe6497 Ah exact ! c'est la réponse de l'arduino ! j'avais focalisé mon attention que sur le code de l'interface et pas fait attention au code de l'arduino. Merci !!!!
@samuelclouet4952
@samuelclouet4952 10 месяцев назад
merci pour le détail ; fonctionne mais attention a la bufférisassions de la trame série dans le sens lecture vers le LCD_number sous peine d avoir des valeurs hiératiques et erronées
@fredtchiadeu1089
@fredtchiadeu1089 2 года назад
salut, merci pour le tuto, est-il possible d'utiliser qt pour faire de la cartographie en temps réel??
@christiancarre3392
@christiancarre3392 Год назад
Bonsoir et merci pour aide. Aurons nous d'autres vidéos. Bien à vous.
@developpe6497
@developpe6497 Год назад
Merci, oui d'autres vidéos arrivent ;)
@brunoduquesnoy6922
@brunoduquesnoy6922 Год назад
génial, merci beaucoup 😄
@radiog7413
@radiog7413 Год назад
Magnifique tuto, clair et précis. Merci pour ce beau partage. J'utilise 'Processing' pour effectuer des relevés cadastraux avec GPS. Un peu galère pour les calculs de grande précision. Peut-être avez-vous une solution efficace avec Qt?
@Lionel-mz3tl
@Lionel-mz3tl Год назад
Je t aime
@mekimr9736
@mekimr9736 Год назад
Merci pour ce partage, mais avouez quand même que QT est lourd à mettre en place
@samuelclouet4952
@samuelclouet4952 Год назад
bonjour ; j ai devellopez une interface graphique avec processing la partie code est simple mais limité sur les formes add on a prevoir j ai commencez avec QT .....
@jeanlucbabadjide6960
@jeanlucbabadjide6960 11 месяцев назад
merci pour tes vidéos. pour moi BLYNK est plus pratique. Merci de m'envoie fait découvrir l'Apl. QT.
@tonyabadia860
@tonyabadia860 Год назад
bonjour, merci pour ce tuto il m'aide beaucoup pour ce que je suis en train de développer, seulement j'ai une question: -Dans la fonction newData lorsque je n'exécute pas l'instruction ReadAll() alors le programme se fige (sur la console) à juste une entré dans cette fonction. Je le sais car j'affiche une chaine de caractère dans cette fonction et qu'elle ne s'affiche qu'une seule fois au lancement du programme dans ce cas. En revanche lorsque j'exécute dans la fonction new Data l'instruction ReadAll le programme semble fonctionner normalement, en effet la chaine de caractère s'affiche plusieur fois dans la console. PS: avec l'arduino j'envoie des chaine de caractètre représentant des doubles séparés par des virgules comme suit: 3,7..7.94,6.68,9.72.10,8.28,6.34,7.49,5.99,1.09,9.14,8.31,9.91,9.81,5.27,2.34,9.29,3 aurais je loupé quelque chose dans la compréhension du programme ? Merci par avance pour ton aide.
@sergejalet9679
@sergejalet9679 Год назад
Bonjour, Je découvre votre chaine super bien expliquée. Une question: Comment obtenir l'ensemble de vos vidéos ? Je ne trouve pas le nom de votre chaine ! Si vous pouvez m'expliquer, ce serait bien vu que je débute dans les microcontrôleur et arduino. Une autre question: Le ATmega 2560 peut-il fonctionner sans quartz externe, avec son seul oscillateur interne ? Merci d'avance et bien à vous, et félicitations pour vos explications.
@fabregatalbert6235
@fabregatalbert6235 2 года назад
Bonjour Vanessa j'adore ta vidéo ...j'ai acheté raspberry pi zero 2 w est-ce que tu penses qu'on peut faire la même chose pour pouvoir l'utiliser en tant que générateur graphique pour ARDUINO mon but étant de faire des captures de température et autres capteur car je voudrais mettre des widgets du style gauge encore merci pour ta vidéo car il n'y a pas beaucoup de vidéo un français sur ce sujet
@eddybash1342
@eddybash1342 2 года назад
Bonjour, Pourquoi est ce que le framework exige un login et password ? Ça doit fonctionner en étant online ?
@toussaintamadou6505
@toussaintamadou6505 2 месяца назад
J'aimerais savoir ci application fonctionne avec portable sans module Bluetooth
@nadembourkaib4185
@nadembourkaib4185 Год назад
تم
@stephanefouret304
@stephanefouret304 2 года назад
Bonjour , très intéressé par les vidéos précédentes ,là je suis complètement débarqué, autant la partie ARDUINO à été très simple ,autant la première partie est réservée à des experts .
@developpe6497
@developpe6497 2 года назад
Sans bases de C++, cela peut paraître compliqué. Des vidéos comme les deux précédentes arrivent 👌
@darkpassager
@darkpassager 2 года назад
@@developpe6497 Belle vidéo. C'est vrai que c est pas indiqué pour les débutants. Il y a quelques temps , j avais tenté de faire un truc dans le genre avec android studio, mais j ai échoué au niveau de la connection usb .
@darkpassager
@darkpassager 2 года назад
qt j avais tenté aussi, une fois, j avais trouvé cela plus complexe qu android studio!!!
@pierreolivier7022
@pierreolivier7022 Год назад
Bonjour t'es vidéo son très prometteur et riche.. Tu peux me dire si on peut mémorisé des données sur ce cervo-moteur Tomer pro ps9g qui vendus par les chinois. Nous donner des programmes pour programmer son eeprom du cervo-moteur. Pfff au secours madame.
@mouradcharbi6054
@mouradcharbi6054 Год назад
Bonjour Qt est une usine à gaz pour moi, prend Gambas3 sous Linux qui utilise des objets Qt et qui vas te permettre de faire en 10 minute un projet complet mes bon c'est juste une info !..
@MatthTube
@MatthTube 2 года назад
Merci pour cette vidéo. Enfin une femme qui fait des tutos en dev et en Français je suis fan :) La qualité est top, perso j'ai les bases du C++ mais je comprends que tu es perdu 80% des gens ^^. Pour le destructeur le ~ est spécifique à QT ou c'est toi qui le mets en convention?
@developpe6497
@developpe6497 2 года назад
En C++, si tu veux déclarer un destructeur, il faut qu'il ait le même nom que la classe, précédé d'un tilde (~).
@the-alien-mate
@the-alien-mate Год назад
Merci beaucoup tu m'a beaucoup aidé à apprendre mais j'ai une question, dans cette vidéo on apprend avec "serial.write" à écrire une variable "char", es que c'est possible d'écrire une variable "int" sur l'arduino si oui comment ?
@Franfran722
@Franfran722 Год назад
Un « int » est un nombre entier signé de 16 bits. Tu ne peux donc pas l envoyer nativement avec un seul char. Tu dois donc envoyer ton nombre en deux octets différents.
@leolerouge5898
@leolerouge5898 2 года назад
Bonjour, comment pourrait t-on ajouter la lecture d'un capteur de température par exemple et écrire le résultat sur un LCD NUMBER ?
@developpe6497
@developpe6497 2 года назад
Par exemple, côté Arduino, tu peux récupérer la température en sortie du capteur, la stocker dans une variable appelée « temperature » et l’afficher sur le port série. Du style : int lecture_adc = analogRead(A0); float temperature = lecture_adc*5/1024*100; //temperature en degrés Serial.println(temperature); Côté IHM sous Qt, tu peux modifier la fonction « updateGUI » pour récupérer la température, la convertir en String et l’afficher dans le lcd_number, du style : void MainWindow::updateGUI(QByteArray data){ QString temperature = QString::fromStdString(data.toStdString()); qDebug() display(temperature); }
@leolerouge5898
@leolerouge5898 2 года назад
@@developpe6497 Merci beaucoup, ça fonctionne. Par contre parfois je reçois uniquement le 2 si il fait 27, et quand je fais un Qdebug je vois que je reçois les trames de manières séparées. Comment je peux fixer ça ?
@developpe6497
@developpe6497 2 года назад
@@leolerouge5898 Cela vient du signal "&QSerialPort::readyRead",la doc dit : "This signal is emitted once every time new data is available for reading". Mais cela ne veut pas forcément dire que l'intégralité du message est disponible. Ce que tu peux faire c'est mettre dans un buffer (=mémoire tampon) les données entrantes. Puis extraire la donnée dans son intégralité. 1)Côté Arduino tu peux ajouter l'envoie d'un délimiteur juste après envoyé ta température (comme par exemple une virgule) Serial.print(temperature); Serial.print(","); 2)Côté IHM sous Qt, tu déclares un buffer dans le fichier "mainwindow.h". Du style : private: Ui::MainWindow *ui; seriallink *arduino; QString buffer; //mémoire tampon pour récupérer la dernière valeur mesurée sous la forme d'une chaine de caractère }; 3)Côté IHM sous Qt, tu changes la fonction "updateGUI", pour séparer en liste, les données entrantes avec comme délimiteur la virgule, tu remplis le buffer jusqu'à obtenir deux fois la donnée et tu récupères la deuxième valeur (car après des tests on constate que la première est toujours "foireuse" et la deuxieme est toujours dans son integralité). void MainWindow::updateGUI(QByteArray data){ QStringList bufferSplit = buffer.split(","); if(bufferSplit.length()
@leolerouge5898
@leolerouge5898 2 года назад
@@developpe6497 merci beaucoup, j'avais un code presque semblable après mes recherches mais une erreur bête que vous m'avez corrigé et maintenant l'ensemble est top !!
@mpm990
@mpm990 2 года назад
Très inintéressant; on voit rarement des tuto de développement Graphique en français , et d'autant plus pour les objets Arduino . J'aimerais bien d'autre tuto , mais svp essayer de pensez qu'il y a des vrai débutant ;)
@eddybash1342
@eddybash1342 2 года назад
Est ce que vous connaissez d'autres applications ou frameworks faisant la même chose avec un protocole hhtps ou mqtt ?
@mohammedmouhssine1488
@mohammedmouhssine1488 8 месяцев назад
Tu peux utiliser le mode sombre ,c mieux❤
@photomartial1
@photomartial1 2 года назад
Je trouve ça très compliqué. Moi j'utilise VB6 depuis très longtemps. Je trouve cela très simple et ça marche très bien
@gaspatchio
@gaspatchio 2 года назад
Salut perso j'utilise virtuino.....
@moi9472
@moi9472 Год назад
Claire diction.
@djcolmere
@djcolmere Год назад
Trop bien C'est passionnant d'écouter des passionnés :) même si actuellement je tourne avec une interface web Ethernet, donc html, je dois avouer que programmer en dur une app quasiment en cpp c'est sympa :) ps : je me fais un arduino DMX mais je n'ai pas twitter, que discord Si intéressé, me faire signe ps: le dmx fonctionne ultra bien, 4 spots leds branché dessus, test concluant en prod (durant un mini concert) trop parfait.
Далее
BEST WAY to make Desktop Applications in C++
26:00
Просмотров 898 тыс.
Каха заблудился в горах
00:57
Просмотров 7 млн
IQ Level: 10000
00:10
Просмотров 2,3 млн
Créer des applications graphiques avec Qt (C++)
2:39:51
Просмотров 114 тыс.
Oublie Arduino et utilise ça !👀
9:21
Просмотров 103 тыс.
Qt Programming - Serial Port
1:03:40
Просмотров 10 тыс.
How I program C
2:11:32
Просмотров 715 тыс.
Créer une app web moderne de A à Z avec Python
3:15:48
Просмотров 180 тыс.