Bonjour,
Je fais des essais basés sur un serveur lighttpd sur Raspberry(maître) communicant avec un Arduino(esclave) par I2C. La communication se fait bien dans les deux sens. J'ai une limite de connaissances dans ce domaine qui fait que je n'arrive pas à envoyer autre chose que des entiers vers l'arduino qu'il lit bien mais pas dans une variable spécifique.
Actuellement par exemple j'envoie différentes valeurs :
0 à 9 -> positions angulaires d'un servomoteur ;
10 -> éteindre une led ;
11 -> allumer une led ;
30 à 50 -> positions en X du joystick virtuel (pilotage moteurs)
60 à 80 -> positions en Y du joystick virtuel (pilotage moteurs)
et en fonction de ces valeurs je génère les actions adaptées dans l'arduino. Mais je ne trouve pas ça très propre et surtout restrictif, notamment pour la gestion du joystick virtuel.
Dans l'autre sens (Arduino->Raspberry, j'envoie les données dans un tableau ce qui fait que selon l'index, le Raspberry sait à quoi ça correspond dans la limite de 4 octets par index du tableau. À moins qu'on puisse là aussi faire mieux.
Ma question est : peut-on à partir du code python (bus.write_byte(address, int(xy)) par exemple) envoyer la valeur dans une variable dédiée ou adresse registre spécifique de l'arduino pour la récupérer et savoir à quoi elle correspond exactement ?
Existe-t-il une doc à ce sujet, j'ai parcouru pas mal de choses mais je n'ai jamais trouvé de réponses précises à ce sujet.
Merci pour votre aide.
Olivier
[Résolu] I2C Raspberry <-> Arduino
Modérateur : Francois
-
- Messages : 6
- Enregistré le : mer. 21 déc. 2016 21:32
[Résolu] I2C Raspberry <-> Arduino
Modifié en dernier par Olivier-04 le lun. 2 janv. 2017 23:43, modifié 1 fois.
Re: I2C Raspberry <-> Arduino
Salut,
de mémoire tu peu faire un truc du genre
de mémoire tu peu faire un truc du genre
Code : Tout sélectionner
# adresse de l'esclave
DEVICE_ADDRESS = 0x22
#adresse du premier registre
DEVICE_REG_OUT0 = 0x01
#Valeur à envoyer
values = [0xff, 0xff, 0xff, 0xff, 0xff, 0xff]
bus.write_i2c_block_data(DEVICE_ADDRESS, DEVICE_REG_OUT0, values)
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
-
- Messages : 6
- Enregistré le : mer. 21 déc. 2016 21:32
Re: I2C Raspberry <-> Arduino
Merci beaucoup, j'essaie ça dès que possible !
-
- Messages : 6
- Enregistré le : mer. 21 déc. 2016 21:32
Re: I2C Raspberry <-> Arduino
Merci bien !!
Cette méthode fonctionne !
Olivier
Cette méthode fonctionne !
Olivier
Re: [Résolu] I2C Raspberry <-> Arduino
de rien
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.