Hallo,
Op mijn arduino uno heb ik een lcd aangesloten van ywrobot, deze is aangesloten op de analoge ingangen 4 en 5.
Dus de SDA en SCL.
Nu wil ik ook nog een rtc clock aansluiten, maar die moet ook aangesloten worden via SDA(4) en SCL(5).
Kunnen er twee modules aangesloten op die ingangen? Of is er een andere manier?
A4 en A5 zijn niet alléén analoge ingangen. Deze pinnen zijn ook de pinnen van de I2C bus. Op een I2C bus kun je verschillende devices aansluiten. Ze moeten wel een uniek adres hebben, dit zoek je best op in de datasheet van je lcd en rtc.
Als je een moderne UNO bezit dan zit daar ook een aparte I2C aansluiting op. Aan de digitale zijde, de eerste 2 bij de USB connector. Bij http://arduino.cc/en/Main/ArduinoBoardUno kun je zien dat SDA en SCL op de onderzijde van de print staat gedrukt.
ok, het is me gelukt om de RTC op de juiste tijd te zetten en uit te lezen. (RTClib.h)
Alles werkt perfect op men seriele monitor zie ik steeds de tijd die uitgelezen wordt van de RTC als ik de RTC loskoppel, heeft hij idd de verkeerde tijd.
Nu het probleem: Wanneer ik men LCD aansluit wil hij de RTC nt meer lezen,
Ze hebben een verschillend adres, dit heb ik uitgezocht met de I2c scanner.
Wat doe ik verkeerd?
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "RTClib.h"
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display
RTC_DS1307 RTC;
void setup () {
Serial.begin(57600);
Wire.begin();
RTC.begin();
//RTC.adjust(DateTime(__DATE__, __TIME__));
}
void loop () {
DateTime now = RTC.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(3000);
}