Allumer 1 LED en appuyant sur une touche du PC ?

Bonjour,

j'ai actuellement une arduino 2009 et je voudrais pouvoir dialoguer avec elle en temps réel.

J'ai un Eee PC sous Ubuntu et j'aimerai réaliser un programme en python, si possible sinon avec le langage arduino, pour me permettre d'allumer une LED (qui est reliée sur la carte) si j'appuie sur flèche de gauche et une autre LED si j'appuie sur la flèche de droite par exemple.

Ce petit programme va me servir déjà à comprendre comment se passe le dialogue entre l'eeepc et les capteurs à travers l'arduino (qui est reliée en USB)

si besoin je peux le faire sous Windows mais je préfèrerais avec linux et python.

Pouvez-vous m'aider ?

Cordialement

XpBot

Bonjour XpBot,

Du peu d'expérience que j'ai je vais essayer de te conseiller :slight_smile:
Moi j'aurais pensé à utiliser le langage Processing (dont Arduino est tiré), il faut que tu télécharges le logiciel sur Download Processing / Processing.org et tu pourras aussi regarder les tutoriels et tu peux créer ton interface avec tes flèches sur l'écran, ou tu peux aussi lire les touches du clavier ou les click de souris.

Sinon je pense que simplement si tu veux seulement utiliser les touches du clavier tu utilises un Serial.read() (l'Arduino est connecté en série avec l'USB) et tu met une condition comme:

if (Serial.available>0)
{
char temp = Serial.read();
if(temp == "le code ASCII de la touche flèche droite")
{
// alors tu allumes ta LED
}
}

Dis moi si j'ai pas bien compris la question (au début je pensais vraiment que tu voulais un interface sur l'écran avec des boutons à cliquer puis je me suis rendu compte que la flèche était celle du clavier^^)

retxed68

Merci pour la réponse,

en fait j'ai trouvé un début de réponse sur différents site. Voici un exemple de code:

import serial  
import time  
  
locations=['/dev/ttyUSB0','/dev/ttyUSB1','/dev/ttyUSB2','/dev/ttyUSB3',  
'/dev/ttyS0','/dev/ttyS1','/dev/ttyS2','/dev/ttyS3']    
  
for device in locations:  
    try:  
        print "Trying...",device  
        arduino = serial.Serial(device, 9600)  
        break  
    except:  
        print "Failed to connect on",device     
  
try:  
    arduino.write('Y')  
    time.sleep(1)  
    print arduino.readline()  
except:  
    print "Failed to send!"

(http://www.stealthcopter.com/blog/2010/02/python-interfacing-with-an-arduino/)

Il me permet de faire la connexion, ensuite il faut que je trouve comment lire sur le clavier mais je pense pas que se soit le plus dur

Salut,

ce projet m'interresse également et j'aimerai savoir si tu as réussi à finir le code stp :slight_smile:

euh je pense, il faut que je fasse les tests, je suis en vacances actuellement (comment ca j'ai pris mon PC?!!! :-? ::))

J'essaye de te faire ca pour la fin de la semaine prochaine

Ah ok merci, si j'arrive à trouver quelques trucs pour t'aider je te tiens au courant :wink: