Не. Я неправильно адрес забил и резисторы не подтянул. Как все сделал оно и заработало. Теперь вот сижу с кнопочкой разбираюсь. Пока безуспешно. Понять не могу в каком виде должно быть сообщение о том что на таком то порту кнопка нажата.
Ноги А0, А1, А2 и 8 ногу — зацепил на массу
SCL и SDA ноги — к 4 и 5 аналоговому выходу на Ардуино
ну и VDD на +5
в произвольный выход втыкаю светодиод и он тускло светиться.
#include <Wire.h>
void setup(){
Wire.begin();
}
void loop(){
Wire.beginTransmission(B01110000); //Адрес PCF8574A
Wire.send(B11111111); //В теории на всех выходах должно быть +5
Wire.endTransmission();
}
Получил езернет модуль для ардуино. Хочу что бы часы автоматом синхронизировались с NTP
Полностью синхронизацию завтра думаю добью а пока есть код для получения даты и времени
Сразу говорю, что программированием не занимался ну очень давно и потому код может быть кривоват. Буду благодарен за оптимизацию и за здоровую критику)))
Программа сразу же начинает выводить данные на LCD и смотрит COM порт. Как только в порту появляется символ R то программа загоняет в микросхему новые данные о времени и дате.
Формат данный с COM должен быть сл. R'секунды''минуты'часы'01'число'месяц'год' (01- я пока не понял что за указатель)
Например R00101301010110 — 13:10:00 01/01/2010
Почиму то в моем варианте секунды не воспринимаются и чип в любом случае выставляет 00
void loop()
{
int r = Serial.read();
if (r=='R') ds1307_set();
RTC.get(rtc,true);
for(int i=2; i>=0; i--) //Получаем время, подставляем '0' для удобства и ставим ':'
{
if (rtc[i]<10) lcd.print(«0»);
lcd.print(rtc[i]);
if (i>0) lcd.print(":");
}
lcd.setCursor(0,1); //Переводим курсор на вторую строчку
for (int i=4;i<=6;i++)
{
if (rtc[i]<10) lcd.print(«0»); //Получаем дату, подставляем '0' для удобства и ставим '/'
lcd.print(rtc[i]);
if (i<6) lcd.print("/");
}
delay(900);
lcd.clear();
}
void ds1307_set() //отправляем данные в DS1307
{
RTC.stop();
int k = Serial.available();
for (int l=0; l<=k/2-1; l++)
{
int b1 = Serial.read();
int b2 = Serial.read();
RTC.set(l, (b1-48)*10+(b2-48));
}
RTC.start();
}
Пытаюсь заставить две микросхемы вместе работать. Там есть подводные камни в подключении?
vqd