Communication i2C Arduino Mega-Arduino Mega-Rotoshield

Un shield de pilotage pour 4 moteurs à courant continu ou 2 moteurs pas à pas, qui permet une alimentation sur 12V et qui n'utilise que 4 sorties Pwm (sur 6) et 2 entrées analogiques (sur 6) de l'Arduino

Communication i2C Arduino Mega-Arduino Mega-Rotoshield

Message non lude newton » Mar 8 Sep 2015 12:51

Bonjour,

Je reviens une fois de plus vers vous car j'ai un souci de communication avec le protocole i2C.
Mon montage est le suivant :
- Une carte Arduino (maitre) avec rotoshield sur lequel sont reliés 4 moteurs CC
- Une carte Arduino (esclave) avec capteurs ultrason et servomoteurs

Cependant, les deux cartes Arduino doivent être connectés entre elles par le bus i2C (pins 20 et 21), mais le rotoshield doit aussi être connecté à la carte arduino maitre via ce port i2C.

Ma question est de savoir comment relié à la fois les deux cartes arduino d'une part en i2C, et aussi le rotoshield avec la carte maitre d'autre part ?

Merci beaucoup,
newton
newton
 
Messages: 6
Inscription: Lun 1 Juin 2015 09:52
Localisation: Toulouse

Re: Communication i2C Arduino Mega-Arduino Mega-Rotoshield

Message non lude EricDuino » Mar 8 Sep 2015 22:55

le but de l'i²C c'est de mettre plusieurs esclaves adressés en //, c'est un bus de transmission de données, pas un organe de point à point comme une liaison série TX-RX, tu n'expliques pas que ta carte "maître" est une mega2560, donc SDA et SCL sont sur 20-21 , sur une uno c'est A4-A5, depuis le pinout 1.0 (R3) le port i²C est dupliqué au dessus de 13-GND-AREF quelle que soit la carte.

https://fr.wikipedia.org/wiki/I2C
Avatar de l’utilisateur
EricDuino
 
Messages: 226
Inscription: Sam 5 Mai 2012 10:10
Localisation: Toulouse

Re: Communication i2C Arduino Mega-Arduino Mega-Rotoshield

Message non lude newton » Lun 14 Sep 2015 09:33

Bonjour,

Oui je comprends bien mais mon souci est que la communication entre la carte maitre et la carte esclave ne se fait pas du tout.
La fonction setup de la carte esclave ne semble même pas se lancer.

Je câble en parallèle sur une breadboard le rotoshield et la carte esclave à partir de la carte maitre, le rotoshield reçoit bien les infos mais la carte esclave ne reçoit rien.
Pourtant j'initialise bien Wire.begin() dans le code maitre et Wire.begin(0x01) (0x01 étant l'adresse que j'ai donné à la carte esclave) dans le code esclave. Et je fais un Wire.beginTransmision(0x01); depuis le maitre pour envoyer des données vers l'esclave mais rien n'est reçu.

Je ne comprends pas du tout.
Une idée ?

newton
newton
 
Messages: 6
Inscription: Lun 1 Juin 2015 09:52
Localisation: Toulouse

Re: Communication i2C Arduino Mega-Arduino Mega-Rotoshield

Message non lude Laetitia » Mer 21 Oct 2015 16:08

Bonjour,

Pouvez-vous poster un schéma de votre montage ainsi que le code complet utilisé ?
Pour info, il existe un tutoriel détaillé sur la communication I²C entre deux Arduino.
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: Communication i2C Arduino Mega-Arduino Mega-Rotoshield

Message non lude newton » Dim 25 Oct 2015 12:33

Bonjour,

J'ai finalement réussi à régler le problème. Tout fonctionne correctement.
J'ai tout débrancher, réarranger le code Arduino, tout remonter et tout a fonctionné correctement.
Je ne saurai pas dire d'où venait exactement le problème, surement un mauvais câblage étant donné un nombre important de fils sur mon montage...

Merci,
newton
newton
 
Messages: 6
Inscription: Lun 1 Juin 2015 09:52
Localisation: Toulouse


Retourner vers Rotoshield

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités