- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 16

Thema: Kompassmodul GY-271 läuft nicht am UNO

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von stepbystep Beitrag anzeigen
    ---> Scannerprogramm finden bei 100 kHz die Adresse 0x13D und bei 400 kHz 0xD ??????????
    0x13D kann nicht sein. I2C Adressen haben 7 Bit, der Maximalwert ist also 0x7f. 0x13d braucht mehr als 8 Bit.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.212
    Das ist ein Fehler in der Konvertierung....13(dec) ergibt D(hex).
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  3. #3
    https://github.com/mechasolution/Mecha_QMC5883
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken HMC5883_vs_QMC5883.jpg   HMC5883_vs_QMC5883.jpg  

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    75
    Beiträge
    1.175
    Blog-Einträge
    1
    Hallo Frank!
    Ich habe zwar den GY273, der hat auch den HMC5883L und hatte da mit und Arduino nie Probleme. Kann aber jetzt aus dem Stehgreif nicht auf ein Codebeispiel zu greiffen, weil es in den Tiefen der Datensicherung schlummert.
    Ich hatte das Modul zu meiner aktiven QuadroKopter Zeit zu Testzwecken bei der Code Entwicklung verwendet.
    Also wenn noch Probleme, schreibe mal ..ich bin aber erst mal einige Zeit im Urlaub

    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  5. #5
    HaWe
    Gast
    Zitat Zitat von Klebwax Beitrag anzeigen
    0x13D kann nicht sein. I2C Adressen haben 7 Bit, der Maximalwert ist also 0x7f. 0x13d braucht mehr als 8 Bit.

    MfG Klebwax
    ich würde evtl auch noch mal die I2C Adresse(n) checken.
    Probier mal mein Programm

    Code:
        // --------------------------------------
        // i2c_scanner
        //    
        // This sketch tests the standard 7-bit addresses
        // Devices with higher bit address might not be seen properly.
        //
         
        #include <Wire.h>
        
        #define ESP_SDA 4 //GPIO4=D2 SDA ESP8266 default
        #define ESP_SCL 5 //GPIO5=D1 DCL ESP8266 default
    
        byte error, address;
        int nDevices;
     
        void setup()
        {            
          // Wire.begin(ESP_SDA,ESP_SCL);  // ESP8266 if not default
          Wire.begin();                    // AVR, ARM, Leonardo, ESP8266 default
     
          Serial.begin(115200);
          while (!Serial);                 // Leonardo: wait for serial monitor
    
          Serial.println("\nI2C Scanner");     
          Serial.println("\nScanning...");           
        }
         
         
        void loop()
        {
          nDevices = 0;
          for(address = 0; address < 128; address++ )
          {
    
            if (address%16 == 0)  {   
              Serial.println();  
              Serial.print( (address+1)/16);
              Serial.print("  ");
            }
    
            
            if(address==0 || address==127) {
               Serial.print("** ");
               continue;
            }
            
            Wire.beginTransmission(address);
            error = Wire.endTransmission();
         
            if (error == 0)  // no error, device found
            {          
              if (address<16) Serial.print("0"); 
              Serial.print(address,HEX); Serial.print(" ");         
              nDevices++;
            }
            else if (error==4)  // unknown error or conflicting
            {
              Serial.print("?? ");   
            }    
            else
            {      
               Serial.print("-- ");   // nothing found
            }          
          }
          
          Serial.println();
          Serial.print("found: "); Serial.print(nDevices); Serial.print(" devices \n");
          delay(10000);      
        }
    Geändert von HaWe (20.07.2017 um 14:31 Uhr) Grund: typo

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo Frank,

    ich würde mir da die Kommunikation auf dem I2C Bus mit Skop oder Softwareoszi über die PC Soundkarte ansehen. Da siehst du, was tatsächlich passiert, und wo du genauer hinsehen musst. Das Herumprobieren mit Software und Komponenten, ohne sich die Ergebnisse auf elektrischer Ebene anzusehen ist nur ein Stochern im Nebel. Kurz kann man das machen, aber wenn das nicht schnell hilft, sollte man ganz schnell damit wieder aufhören.

  7. #7
    HaWe
    Gast
    Zitat Zitat von vohopri Beitrag anzeigen
    Hallo Frank,

    ich würde mir da die Kommunikation auf dem I2C Bus mit Skop oder Softwareoszi über die PC Soundkarte ansehen. Da siehst du, was tatsächlich passiert, und wo du genauer hinsehen musst. Das Herumprobieren mit Software und Komponenten, ohne sich die Ergebnisse auf elektrischer Ebene anzusehen ist nur ein Stochern im Nebel. Kurz kann man das machen, aber wenn das nicht schnell hilft, sollte man ganz schnell damit wieder aufhören.
    also, nee, da würde ich schon eher dann mit 2 Elektronenmikroskop-Manipulatoren die Elektronen in ihren Schalen in µC- und Sensor-Atomen einzeln setzen und löschen, um die Zustandsverteilungen quantenmechanisch zu evaluieren, allerdings ohne Doppelspalt dazwischen.
    Oder alternativ vlt doch erstmal sicherheitshalber die i2c-Adressen per Software-i2c-Scanner checken, dann weiß man hinterher auch evtl besser wohin dann mit den einzelnen Elektronen.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    907
    Welche Widerstandswerte für die Pullups, welche Leitungslängen?
    Hast Du die typischen Abblockkondensatoren (100n parallel zu 10..100µ) zwischen VCC und GND mal ausprobiert?
    Kannst Du die Leitungen verkürzen? Kannst Du den Takt weiter verringern?

    Auf'm Breadboard mit 400kHz halte ich für kniffelig.

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Dem User HaWe sind - vermutlich wegen mangelndem Verständnis für die Hardware - nur mehr absurde Vergleiche eingefallen. Lediglich absurde Vergleiche zu posten finde ich äusserst unhöflich. Darum werde ich ihn bis auf Weiteres ignorieren - unabhängig von eventuell auftauchenden sachlichen Inhalten.

  10. #10
    HaWe
    Gast
    Zitat Zitat von vohopri Beitrag anzeigen
    Dem User HaWe sind - vermutlich wegen mangelndem Verständnis für die Hardware - nur mehr absurde Vergleiche eingefallen. Lediglich absurde Vergleiche zu posten finde ich äusserst unhöflich. Darum werde ich ihn bis auf Weiteres ignorieren - unabhängig von eventuell auftauchenden sachlichen Inhalten.
    das ist gut, damit tust du uns beiden einen Gefallen.

    ...

    Zitat Zitat von Holomino Beitrag anzeigen
    Welche Widerstandswerte für die Pullups, welche Leitungslängen?
    Hast Du die typischen Abblockkondensatoren (100n parallel zu 10..100µ) zwischen VCC und GND mal ausprobiert?
    Kannst Du die Leitungen verkürzen? Kannst Du den Takt weiter verringern?

    Auf'm Breadboard mit 400kHz halte ich für kniffelig.
    den Sensor des OPs kenne ich zwar nicht, aber mein CMPS11 läuft mit 1m Leitung per 400kHz über ein Breadboard, und nur mit 2.2k oder altrnativ 4.7k Pullups (am Raspi, am Arduino Mega und am Due sogar nur mit den eingebauten), ohne jegliche Kondensatoren.
    Auskunft, ob der Sensor aber überhaupt erkannt wird, kann aber sicherlich der Software-I2C-Scanner geben, und im Zweifel würde ich ntl schon zunächst mit 100kHz Bustakt anfangen, bis es dann endlich erst mal funktioniert.

Ähnliche Themen

  1. Code läuft nicht feherfrei, bitte um Hilfe! Input Capture und UART nicht gleichzeitig
    Von Accenter im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 14
    Letzter Beitrag: 04.06.2013, 20:00
  2. getsUSART auf mega168 läuft nicht [gelöst, nicht lesenswert]
    Von oberallgeier im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 24.05.2008, 19:47
  3. [läuft+Code] Servotest an ATtiny13 läuft nicht
    Von oberallgeier im Forum Motoren
    Antworten: 4
    Letzter Beitrag: 18.10.2007, 16:49
  4. Kompassmodul CMPS03 funktioniert nicht
    Von tuxer im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 24.01.2007, 14:12
  5. Antworten: 3
    Letzter Beitrag: 15.08.2005, 16:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test