- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 11 bis 14 von 14

Thema: Probleme mit I2C Verbindung

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #9
    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 10:35 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

Ähnliche Themen

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

Berechtigungen

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

Labornetzteil AliExpress