GY-26 capteur de boussole électronique numérique

Bonjour , SVP j,ai un capteur compass GY-26 et j,ai besoin du code arduino ainsi que son branchement
merci beaucoup pour votre aide

toute l'info nécessaire est ici

dites nous ce qui ne fonctionne pas pour vous... (et lisez les règles du forum)

merci beaucoup pour la reponse mais malheureusement j'ai suivi ces tuto sans resultat meme erreure
Address 0 contains 0xFFFFFFFF
Address 1 contains 0xFFFFFFFF
Address 2 contains 0xFFFFFFFF
Address 3 contains 0xFFFFFFFF
Address 4 contains 0xFFFFFFFF
Address 5 contains 0xFFFFFFFF
Address 6 contains 0xFFFFFFFF
Address 7 contains 0xFFFFFFFF

Montage effectué ?
Code testé ?

merci de repondre
code teste est celui de

montage

vcc
gnd
scl
sda

Bonsoir

montage

vcc
gnd
scl
sda

réponse très insuffisante !!
lire les Règles du Forum comme indiqué plus haut par J-ML pour savoir quelles sont les informations minimales à fournir

/*
Gy-26 - Compass.
Criado por Igor Araujo - www.igoraraujo.eng.br - 2012
*/

char valorbyte[8];
int graus = 0;
int contador = 0;
byte valor = 0;

void setup() {

  Serial.begin(9600);
  Serial1.begin(9600);

}

void loop() {

  leitura();

}

void leitura() {

  valor = 0;

  Serial1.write(0x31);
  while (valor == 0) {
    if (Serial1.available()) {
      valorbyte[contador] = Serial1.read();
      contador = (contador + 1) % 8;
      if (contador == 0) {
        graus = (valorbyte[2] - 48) * 100 + (valorbyte[3] - 48) * 10 + (valorbyte[4] - 48);
        valor = 1;
      }
    }
  }
  Serial.println(graus);
  delay(300);
}

gundamforever:
merci beaucoup pour la reponse mais malheureusement j'ai suivi ces tuto sans resultat meme erreure

quel tuto ?

votre code posté utilise Serial et Serial1... Avez vous un Mega ? pourquoi avez vous SCL et SDA ?

j'utilise un arduino uno j'utilise serial et non serial1 j'ai changer le code parce que seial1 me donne erreure
merci

donc vous n'utilisez pas le code que vous avez posté ?

vous vous fichez de qui ?

j'abandonne.

j.utilise le meme code seulement j.ai change serial1 par serial

et vous avez la console série ouverte ainsi que la connexion sur votre module ? ça ne fonctionnera pas..

c'est un module Série, il lui faut un port série dédié

Bonsoir

Il semble qu'il soit possible de communiquer avec un module GY-26 soit par port série, soit par I2C

câbler en I2C ( cf message #4) et tester avec un programme prévu pour une communication série (cf message #6) où est la cohérence ? Aucune chance de réussite puisque la communication ne peut pas s'atablir.

merci beaucoup pour votre aide je crois qu,il est impossible de se connecter avec arduino uno

je crois qu,il est impossible de se connecter avec arduino uno

et pourquoi pas une liaison série 'SoftSerial' pour communiquer en série à 9600 bauds avecle module ?
Cette liaison remplacerait le Serial1 disponible avec d'autres cartes

probleme resolu merci
j'ai changer mon arduino uno par arduino mega
apparament arduino uno a une seul sortie serie par contre mega on a plus voici le code

/*
Gy-26 - Compass.
Criado por Igor Araujo - www.igoraraujo.eng.br - 2012
*/

char valorbyte[8];
int graus = 0;
int contador = 0;
byte valor = 0;

void setup() {

  Serial.begin(9600);
  Serial1.begin(9600);

}

void loop() {

  leitura();

}

void leitura() {

  valor = 0;

  Serial1.write(0x31);
  while (valor == 0) {
    if (Serial1.available()) {
      valorbyte[contador] = Serial1.read();
      contador = (contador + 1) % 8;
      if (contador == 0) {
        graus = (valorbyte[2] - 48) * 100 + (valorbyte[3] - 48) * 10 + (valorbyte[4] - 48);
        valor = 1;
      }
    }
  }
  Serial.println(graus);
  delay(300);
}

merci

merci probleme resoulu
j'ai change mon arduino uno par arduino mega apparement arduino uno a une seul port serie
voici le code
branchement
VCC
GND
TX1
RX1

/*
Gy-26 - Compass.
Criado por Igor Araujo - www.igoraraujo.eng.br - 2012
*/

char valorbyte[8];
int graus = 0;
int contador = 0;
byte valor = 0;

void setup() {

  Serial.begin(9600);
  Serial1.begin(9600);

}

void loop() {

  leitura();

}

void leitura() {

  valor = 0;

  Serial1.write(0x31);
  while (valor == 0) {
    if (Serial1.available()) {
      valorbyte[contador] = Serial1.read();
      contador = (contador + 1) % 8;
      if (contador == 0) {
        graus = (valorbyte[2] - 48) * 100 + (valorbyte[3] - 48) * 10 + (valorbyte[4] - 48);
        valor = 1;
      }
    }
  }
  Serial.println(graus);
  delay(300);
}

si quelqu'un a trouve une methode pour arduino uno merci de partager

Vous prenez SoftwareSerial et créez un port série logiciel. À 9600 bauds s’il n’y a pas trop de bavardage ça ira.