Вашему вниманию представлен пример как можно совместно использовать 2 устройства на шине I2C
Демонстрация работы:
Скетч
Код:
// Совместное использование LCD1602 и RTC1307 на шине I2C
#include <Wire.h>
#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
/* SDA - A4
SCL - A5
*/
void setup () {
Wire.begin();
rtc.begin();
lcd.begin(16,2);
lcd.backlight();
lcd.home();
lcd.setCursor(0,0); //Вывод символа с 0 в строку 0
lcd.print("EXAMPLE I2C");
delay(1000);
lcd.setCursor(0,1); //Вывод символа с 0 в строку 1
lcd.print("LCD1602&RTC1307");
delay(3000);
lcd.clear();
// Установка времени в модуль RTC
// После установки закоментировать и залить скетч снова
// rtc.adjust(DateTime(__DATE__, __TIME__));
}
void loop () {
ClockDisplay();
delay(200);
}
void ClockDisplay(){
DateTime now = rtc.now();
lcd.setCursor(4, 0);
char string1[] = " Welcome to pajalnik.ixbb.ru ";
sprintf(string1, "%02d:%02d:%02d", now.hour(), now.minute(), now.second());
lcd.print(string1);
}
}