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

Thema: Arduino als i2c-Slave

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.10.2005
    Beiträge
    110

    Arduino als i2c-Slave

    Anzeige

    E-Bike
    hallo,
    ich bin gerade bei meinen ersten Versuchen, den NXT mit Arduino per I2C zu verbinden.

    Der Arduino liest alle 20ms einen Taster an digital pin 2 aus (Taster an VCC über 100kOhm gegen GND)
    value=digitalRead(signalpin);
    und gibt das Ergebnis an ledpin 13 (interne LED) aus
    digitalWrite(ledpin,value);
    Bis hierhin funktioniert es.

    Gleichzeitig wird er als devaddr 0x03 definiert
    Wire.begin(3);

    und soll auf i2c-request den Zustand des signalpins als byte an den i2c-Bus übergeben
    void requestEvent() {
    Wire.write(signalpin); // respond with message of 1 byte
    }


    das müsste soweit auch stimmen, oder?

    Leider funktioniert es nicht mit dem NXT-Master, daher will ich jetzt erstmal den Arduino-Teil klar kriegen.
    Ist der soweit in Ordnung?

    Code:
    // touch sensor with external Pullup at pin digital 2
    // I2C as slave, dev addr. 0x03
    
    #include <Wire.h> // serial lib
    
    int  ledpin=13;   
    byte signalpin=12;   
    byte value=0;  
    
    //*************************************************************************  
    void setup()  
    {  
      pinMode(ledpin,OUTPUT);    
      pinMode(signalpin,INPUT);
      
      Wire.begin(3);                // join I2C bus with dev address 0x03
      Wire.onRequest(requestEvent); // register event
    }  
    
    //*************************************************************************  
      
    void requestEvent() {
        Wire.write(signalpin);         // respond with message of 1 byte
    }
    
    //*************************************************************************
    
    void loop()  
    {  
      value=digitalRead(signalpin);    
      digitalWrite(ledpin,value);
    
      delay(20);  
    }
    ps, edit:
    muss man vom Master aus zusätzlich zur dev Addresse evtl noch eine Registeradresse eingeben? Ggf welche?
    Geändert von Ford Prefect (16.06.2014 um 17:53 Uhr)
    Viele Grüße - HaWe aka Ford
    NXC CHESS SCHACH für NXT: http://www.mindstormsforum.de/viewtopic.php?f=70&t=6790

Ähnliche Themen

  1. Arduino: I²C-Adresse als slave?
    Von Ford Prefect im Forum Arduino -Plattform
    Antworten: 4
    Letzter Beitrag: 15.06.2014, 19:08
  2. RP6 Base mal als i2C Master und als I2C Slave
    Von Lurchi im Forum Robby RP6
    Antworten: 6
    Letzter Beitrag: 15.05.2009, 22:08
  3. RN-Control als I2C Slave
    Von pinsel120866 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 10.03.2009, 21:54
  4. RNBFRA-CO als I2C Slave
    Von PicNick im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 21
    Letzter Beitrag: 18.08.2006, 20:24
  5. RN-Control als Slave an I2C
    Von E-Donni im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 1
    Letzter Beitrag: 10.08.2006, 13:00

Berechtigungen

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

Labornetzteil AliExpress