- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Probleme mit I2C Verbindung

  1. #11
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.685
    Anzeige

    Powerstation Test
    Zitat Zitat von oderlachs Beitrag anzeigen
    ... mein allererstes I2C Projekt ... ich denke ... das mit den PullupWiderständen macht ...
    Glaub ich ganz bestimmt nicht. Ganz einfach: die internen Pullups sind in den Datenblättern mit (meist) 30 kΩ bis 60 kΩ spezifiziert, die I²C-Pullups sind viel niedriger, dazu gibts in den Atmel-Datenblättern auch Berechnungsgrundlagen. Ansonsten Richtwerte im R N Wissen im einschlägigen Artikel oder in der Originabibel von Philips.
    Ciao sagt der JoeamBerg

  2. #12
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    74
    Beiträge
    1.175
    Blog-Einträge
    1
    Wie dem auch sei, sowie Zeit dafür ist probiere ich mit 2x 4k7, das ist so ein Wert vom meinem Handvorrat für solche Sachen....daran soll es nicht liegen
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  3. #13
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.685
    Zitat Zitat von oderlachs Beitrag anzeigen
    Wie dem auch sei, sowie Zeit dafür ist probiere ich mit 2x 4k7 ...
    Das ist ein guter, allgemein üblicher Wert. Die teilweise verbauten 10k (in der einen oder andern Fertig-Kauf-Platine) hatte ich alle als zu hoch beurteilen müssen und ersetzt. In einer Platine (glaub ich) habe ich 3k3 eingebaut. Und mein Bus mit vorerst drei, max vier Platinen tickert an einem 100kHz-Bus mit rund 2,2 m Länge recht sicher.
    Ciao sagt der JoeamBerg

  4. #14
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    74
    Beiträge
    1.175
    Blog-Einträge
    1
    Also ganz kurz, mein Fehler lag darin, das ich den "onReceive-Handler" nicht aufgerufen hatte:
    Code:
    Wire.onReceive(receiveEvent);
    Die Testverbindung zw. 2 Arduino über ca 30cm verbunden geht definitiv auch ohne ext. PullUpsR's, wie folgendes beweist der Empfang einer Zählschleife 0..255:
    Klicke auf die Grafik für eine größere Ansicht

Name:	i2c_putty_rx.jpg
Hits:	7
Größe:	27,4 KB
ID:	26549
    Da ich aber längere Verbindungen , um die 5..7m benötige wird dasdann in der Praxis nicht so gehen, aber um mal empfangende Daten enzuzeigen reicht mir das schon um I2C-Sendemodule zu kontrollieren.

    Vielen Dank
    Gerhard

    Hier nun der funktionierende Code für meine Tests:
    Code:
    //Listing Master & Slave(ID=4)
    
    // Wire Master Writer
    // by Nicholas Zambetti <http://www.zambetti.com>
    
    // Demonstrates use of the Wire library
    // Writes data to an I2C/TWI slave device
    // Refer to the "Wire Slave Receiver" example for use with this
    
    // Created 29 March 2006
    
    // This example code is in the public domain.
    
    
    #include <Wire.h>
    
    void setup()
    {
      Wire.begin(); // join I2C bus (address optional for master)
    }
    
    byte x = 0;
    
    void loop()
    {
      Wire.beginTransmission(4); // transmit to device #4
      Wire.write("x is ");        // sends five bytes
      Wire.write(x);              // sends one byte  
      Wire.endTransmission();    // stop transmitting
    
      x++;
      delay(500);
    }
    /******************************************************************************/
    //Listing Slave mit LCD
    #include <LiquidCrystal.h>
    #include <Wire.h>
    LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
    
    
    
    void setup()
    {
      lcd.clear();
      lcd.begin(16, 2);
      lcd.setCursor(0,0);
      lcd.print("I2C-Verbindung");
      Wire.begin(4);                // join I2C bus with address #4
      Wire.onReceive(receiveEvent); // register event
    }
    
    void loop()
    {
      delay(100);
    }
    
    void receiveEvent(int howMany)
    {
      while(1 < Wire.available()) // loop through all but the last
      {
        char c = Wire.read(); // receive byte as a character
        Serial.print(c);         // print the character
      }
      int x = Wire.read();    // receive byte as an integer
      Serial.println(x);         // print the integer
      lcd.setCursor(0, 1);
    lcd.print("Empfange : "); 
    lcd.setCursor(11,1);
    lcd.print (char(x)); 
    }
    
    /******************************************************************************/
    Geändert von oderlachs (12.10.2013 um 11:35 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Probleme mit XBee Verbindung
    Von lord-maricek im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 26.07.2010, 22:35
  2. Probleme mit der Verbindung zum rp6 !!
    Von rp6newbie im Forum Robby RP6
    Antworten: 30
    Letzter Beitrag: 20.12.2007, 20:41
  3. I2C Verbindung mit dem PIC
    Von Adonai im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 14.05.2007, 15:20
  4. probleme mit der verbindung
    Von cinek im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 28.03.2007, 19:33
  5. probleme mit der seriellen verbindung
    Von michiE im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 8
    Letzter Beitrag: 30.06.2006, 13:09

Berechtigungen

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

Solar Speicher und Akkus Tests