In questo terzo articolo, vedremo lo schema logico dell’orologio e due componenti fondamentali: il real time clock per mantenere l’orario e l’expander per avere a disposizione più linee di I/O.
Schema logico
Vediamo i componenti fondamentali dell’orologio:
- Un modulo alimentazione con uscite 5V (per la logica) e 170V (per le Nixie);
- un Arduino Mini per coordinare i vari elementi;
- un modulo per la gestione di contatti a sfioramento (argomento di un prossimo post);
- un modulo RTC connesso via bus I2C;
- un integrato per espandere il numero di porte I/O, anch’esso via I2C;
- quattro integrati 74141 per il controllo delle Nixie;
- quattro tubi Nixie ZM1177.
Di seguito vedremo in dettaglio due di questi elementi…











I get :error:
PCF8575_Led_rolling_Demo.cpp: In function ‘void loop()’:
PCF8575_Led_rolling_Demo.cpp:24:8: error: ‘class TwoWire’ has no member named ‘write’
PCF8575_Led_rolling_Demo.cpp:25:8: error: ‘class TwoWire’ has no member named ‘write’
I able to compile by change it for
Wire.write(low);
Wire.write(high);
to
Wire.send(low);
Wire.send(high);
but still now a blink from any of the LED’s. Are you using any resistor? I”ve tryed it using just the pcf8575 anf an arduino board, no RTC module. Is that doable and if so what I’m I doing wring?
I get :error:
PCF8575_Led_rolling_Demo.cpp: In function ‘void loop()’:
PCF8575_Led_rolling_Demo.cpp:24:8: error: ‘class TwoWire’ has no member named ‘write’
PCF8575_Led_rolling_Demo.cpp:25:8: error: ‘class TwoWire’ has no member named ‘write’
I able to compile by change it for
Wire.write(low);
Wire.write(high);
to
Wire.send(low);
Wire.send(high);
but still now a blink from any of the LED’s. Are you using any resistor? I”ve tryed it using just the pcf8575 anf an arduino board, no RTC module. Is that doable and if so what I’m I doing wrong?
Hi
You’re probably using an older (< 1.0) version of Arduino IDE… anyway you don’t need a RTC module for this example, could you post your connections so I can check?
Cool demo. I have some questions http://arduino.cc/forum/index.php/topic,100097.msg750764.html#msg750764
Hello!
I’m trying to build a circuit with a RTC and a PCF8575 .
It happens that the RTC does not tell the correct time.
There must be some conflict.
The code I’m using to test is this:
#include // Librarie from Henning Karlsen
#include
DS1307 rtc(20, 21); // Indica em quais pinos o RTC está conectado.
static byte tabela1[] = {1,2,4,8,16,32,64,128};
static byte tabela2[] = {128,64,32,16,8,4,2,1};
long millis_antes = 0;
void set(byte b0,byte b1)
{
Wire.beginTransmission(0×20);
Wire.write(b0);
Wire.write(b1);
Wire.endTransmission();
}
void setup()
{
Serial.begin(38400);
rtc.halt(false); // Inicia o funcionamento do RTC.
Wire.begin();
//Todos os pinos OFF
set(0,0);
}
void loop()
{
if(millis() – millis_antes > 5000)
{
millis_antes = millis();
Serial.print(“Horario: “);
Serial.println(rtc.getTimeStr(FORMAT_LONG));
}
for(int i = 0; i 0; i–)
{
set(tabela1[i],tabela2[i]); // Apenas o pino 1 ON.
delay(100);
}
set(255,255); // Todos os pinos ON
delay(200);
}
The LEDs blink correctly, but the time printed on the serial monitor is:
Horario: 27:85:85
I have tested your code and the same thing occurs.
Any suggestions on what might cause the problem?
Tank you.
Fernando Garcia
Sorry for english.
The code does not appear correctly.
Here’s a link to it.
https://gist.github.com/21dfdc057cfbd1cc44a9/5e7c42002b4025b9d48a21896d81c9a6bd74cbba
Best regards.
Hi Fernando,
are you using an Arduino Mega?