Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



Communication I2C


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions
Sujet précédent :: Sujet suivant  
Auteur Message
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Ven 18 Avr - 11:30 (2014)    Sujet du message: Communication I2C Répondre en citant

PublicitéSupprimer les publicités ?
Bonjour. 


J'ai besoin de quelques informations.
En effet, je me lance dans la com 12C entre deux arduinos MEGA. 


Il me faut juste envoyer UNE variable, la variable x.


Sur la carte maître j'ai inscrit :


 
Code:
x = poscf1; // Il s'agit d'une variable allant de 0 à 180 (position servomoteur)


Wire.beginTransmission(4); // Commencer transmission vers esclave n°4
Wire.write("x is ");       // Envoi de 5 octets (5 bytes)
Wire.write(x);             // Envoi d'un octet/byte (valeur numérique)
Wire.endTransmission();    // fin de la transmission
 


En revanche, je n'arrive pas à faire fonctionner les codes sur la carte esclave.
Je souhaite récupérer la variable x sur la carte esclave, pour faire clignoter une LED à une fréquence fonction de la variable x.


Sur les sites internet j'ai trouvé ça :

Code:
void receiveEvent(int howMany)
{
  while(1 < Wire.available()) // Lire tous les octets sauf le dernier
  {
    char c = Wire.read();     // lecture de l'octet/byte comme caractère
    Serial.print(c);          // afficher le caractère
  }
  int x = Wire.read();        // lecture de l'octet/byte ignoré comme un entier
  Serial.println(x);          // Afficher la valeur numérique
}


Mais rien n'y fait. De plus il faudrait que la variable soit envoyée dans la boucle loop et non une autre boucle.. :/

Merci d'avance !
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Ven 18 Avr - 23:19 (2014)    Sujet du message: Communication I2C Répondre en citant

J'avais trouvé ce tuto: http://arduino103.blogspot.fr/2013/03/connecter-des-arduino-ensembles-un.html

Qui m'a bien aidé quand j'ai débuté avec l'I2C. Même si je ne réponds pas à ta question, je sais que les scripts que ce site propose fonctionnent. A toi de les adapter ensuite. 
____________________________
http://simple-duino.com
Revenir en haut
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 20 Avr - 20:24 (2014)    Sujet du message: Communication I2C Répondre en citant

Merci chef !
Le but n'étant pas non plus de me donner ça sur un plateau !
C'est en forgeant que l'on devient forgeront.

Je vais mijoter tout ça ! Okay
Revenir en haut
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Ven 2 Mai - 20:19 (2014)    Sujet du message: Communication I2C Répondre en citant

Au secours !!

Le protocole I2C requiert qu'une carte soit alimentée par une autre...
Or, le premier régulateur de tension de la première carte ne peut pas subvenir à l'alimentation des deux ...

De plus, j'ai beau avoir essayer, rien n'y fait, je ne maîtrise vraiment pas assez ...

Pourtant c'est bien simple ! J'ai une fichue variable de type int, nommée poscf1 à envoyer à l'autre carte, pas plus ni moins !

J'ai même tenté le protocole série, mais là encore, un échec !

help help
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Ven 2 Mai - 20:56 (2014)    Sujet du message: Communication I2C Répondre en citant

 
Citation:
Le protocole I2C requiert qu'une carte soit alimentée par une autre... 



NON, chaque carte a sa propre alimentation. Les deux cartes sont reliées par les 2 pins de l'I2C et le GND. CHAQUE CARTES A DONC SA PROPRE ALIMENTATION.
____________________________
http://simple-duino.com
Revenir en haut
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Sam 3 Mai - 09:55 (2014)    Sujet du message: Communication I2C Répondre en citant

J'avais peut être mal lu, mais :

je cite :

Code:
cette fois, ce sera l'esclave qui sera alimenté par le câble USB et le Maître qui sera alimenté par l'esclave.
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Sam 3 Mai - 20:55 (2014)    Sujet du message: Communication I2C Répondre en citant

Je n'ai pas trouvé ta phrase. Mais, je peux te confirmer que l'alimentation de chacune des cartes est indépendantes et que tu peux suivre sans risque le tutoriel que je t'ai conseillé. Vu le nombre de question concernant l'I2C, j'écrierai surement un tutoriel d'ici quelques mois sur tutoarduino.com
____________________________
http://simple-duino.com
Revenir en haut
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 4 Mai - 15:45 (2014)    Sujet du message: Communication I2C Répondre en citant

Salut chef !


Bon j'ai persévéré, tenté plein de trucs tous aussi bizarre les uns que les autres, puis je suis tombé sur un site qui disait qu'il était difficile d'envoyer des variables de type integer : il fallait envoyé caractère par caractère.


En cherchant des explications sur le net je suis tombé sur le forum officiel ARDUINO, avec un code pour envoyer et recevoir ce type de variable.


De façon honteuse j'ai copié collé, remplacé la variable envoyée par ma variable perso, et ça fonctionne ! 


Maintenant il ne me reste plus qu'a comprendre comment ça fonctionne !


A+
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Lun 5 Mai - 07:20 (2014)    Sujet du message: Communication I2C Répondre en citant

Ahhh, le bon raisonnement  Okay
Trouver une solution puis comprendre pourquoi, comment ça marche.
La plupart des gens s'arrêtent à l'étape "trouver une solution", allons savoir pourquoi...
____________________________
http://simple-duino.com
Revenir en haut
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mer 7 Mai - 15:57 (2014)    Sujet du message: Communication I2C Répondre en citant

Effectivement, je ne trouve pas cela très utile.
Si je souhaite être vraiment souple dans la programmation Arduino, je me dois d'acquérir un maximum de connaissances.
Je ne me limite pas à mon projet en cours, je pense aussi aux prochains qui pourrait éventuellement ressortir ce problème de communication ! Okay
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 09:06 (2017)    Sujet du message: Communication I2C

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino