Hallo Freunde , vieleicht bin ich wieder mal ein bischen blind, oder wieder das oft zetierte Brett vorm K... Ich habe Versucht eine Master-Slave-I2C Verbindung zwischen 2 Arduino(Uno) herzustellen. Am Master wird seriel die Tastatureingabe abgefragt und soll zum Slave übertragen per I2C übertragen werde. Dort soll der empfangene Byte Wert( Buchstaben A...Z Ziffern 0...9) auf einem LCD als Kontrolle angezeigt werden..
Wird aber nix angezeigt vom gesendetem Wert....
Hier mal der Source:
Code:
/* ========================================================================== */
/* */
/* I2C_Master_Tx.c */
/* (c) 2013 Gerhard Hinze */
/* */
/* Description */
/* */
/* ========================================================================== */
/*
The circuit:
* SDA pin to analog pin 4
* SCL pin to analog pin 5
*/
#include <Wire.h>
#define I2C_Slave_Adress 127
void setup()
{
Serial.begin(9600);
Wire.begin(); //als Master am Bus anmelden
}
void loop()
{
if (Serial.available())
{
Wire.beginTransmission(I2C_Slave_Adress);
byte tx = Serial.read(); // Eingabe lesen
Wire.send(tx); // Eingabe über I2C senden
Wire.endTransmission();
Serial.write(tx); // Eingabe als Echo return zum Terminal
delay(100);
}
}
/* ========================================================================== */
/* */
/* I2C_Slave_LCD.c */
/* (c) 2013 Gerhard Hinze */
/* */
/* Description */
/* */
/* ========================================================================== */
/*
* SDA pin to analog pin 4
* SCL pin to analog pin 5
*/
#include <LiquidCrystal.h>
#include <Wire.h>
#define I2C_Slave_Adress 127
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(I2C_Slave_Adress); //als Slave am Bus anmelden
}
void loop()
{
if (Wire.available())
{
byte x = Wire.receive();
lcd.setCursor(0, 1);
lcd.print("Empfange : ");
lcd.setCursor(11,1);
lcd.print (char(x));
delay(100);
}}
Ich danke schon mal dem Edlen Helfer , der mich ein wenig auf die Sprünge, besser zu einer Zeichenanzeige am LCD bringt.
Lesezeichen