Je voudrais créer un programme en C (et non en C++, comme proposé dans le tuto à l'aide de Qt) avec la bibliothèque nommée "SDL" qui permettrait de gérer le couleur d'une LED RGB relié à l'arduino, elle même relié à l'ordinateur.
Mon souci, c'est que je n'ai aucune idée de comment m'y prendre. Je m'y connais en C, je me débrouille en Arduino/électronique, mais pour faire le lien ... Je galère. Donc merci de m'aider, et si un sujet traite déjà le thème aborder, faites moi signe !
Merci ! =)
- Edité par Aero-Lighteur 26 février 2013 à 19:17:00
La communication avec l'Arduino est uniquement possible par le port série comme tu l'a dit dans le titre du sujet.
Pour moi la question c'est pourquoi le C et non le C++ ? Tu peux très bien le faire en C++ avec SFML ce que tu fais en C avec SDL.
En C++ tu peux utiliser le .net Framework : http://msdn.microsoft.com/fr-fr/library/system.io.ports.serialport.aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1 Ou bien la lib Boost : http://www.boost.org/doc/libs/1_40_0/doc/html/boost_asio/overview/serial_ports.html
Sinon en C en utilisant les vielle API Win32 voir : http://www.ensta-bretagne.fr/lebars/tutorials/Serial%20port%20C.pdf
Désolé de ne pas pouvoir t'aiguiller plus que ça !
Soit tu envoies ton nombres direct en RGB, Style 255153000 -> 255 de rouge, 153 de vert, 0 de bleu ce qui donne un orange.
Pour la communication Série, j'ai un petit code en Python par exemple :
import serial
import time
import system
port = "/dev/ttyACM0" #La on met le nom du port
ser = serial.Serial(port, 9600)
time.sleep(3) #On attends 3 secondes le temps que la connexion soit niquelle
ser.write(sys.argv[1]) #On envoie le premier argument passé en commande à l'Arduino
En C c'est pas plus difficile. La j'ai juste à entrer dans le terminal
Pourquoi C au lieu de C++ ?! parce que : forum ( ne vous moquez pas de moi, j'ai beaucoup de problème, je sais bien )
Et je vais voir du coté de l'API win32, c'est exactement ce que je cherchais :D
et merci à amarOK pour la confirmation de l'utilisation d'une led RGB, par contre pour le python, ça ne me va pas, ce n'est pas du tout le genre de langage que j'apprécie !
Le problème avec Qt, c'est que c'est tellement bien fait, que j'ai l'impression de ne plus rien avoir à faire x) [ en même temps, c'est un peu l'interêt de la POO, mais ... j'apprécie pas autant que la SDL, même si je reconnais que c'est vraiment un super truc ! ], mais s'il s'avère que je peux faire un joli programme, au lieu d'un truc brouillon et hard en SDL, j'opterais pour Qt, je look l'API windows, et je vous redirais :)
Non mais le code que j'ai filé c'est juste pour te dire comment faire. En C c'est exactement pareil, tu fais ta communication sur le port série de ton choix et tu lui envoies l'argument. Après que tu le fasses en JAVA en Brainfuck en C en Python on s'en fiche un peu, je parlais juste pour la communication. En C doit bien y avoir un truc pour la com Série. Et oui tu peux combiner l'API win et SDL.
Ouaip ! Donc je pars bien pour combiner l'API windows et la SDL en C, merci de votre aide, j'ai trouvé mon bonheur
Je marque le sujet "résolu" !
Merci encore !
====EDIT====
j'utiliserais l'API windows ... ou pas, je cherche des tutos/infos depuis tout à l'heure, et rien à faire, rien n'explique clairement comment utiliser les fonctions ! Donc je vois ...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.