Skip to content
GregoSwe edited this page Jan 27, 2015 · 29 revisions

Questo software è stato realizzato da Gregorini Marco (marco.grego[at]hotmail.it), studente universitario dell'Università degli Studi di Padova durante un periodo di stage presso ARPA Veneto.


###Esempio utilizzo libreria Master

Esempio utilizzo libreria Master:

int numberOfNewTimestamp = SlaveInterface.newTimestamp(); // recupero il numero di nuovi timestamp
if(numberOfNewTimestamp() > 0) // verifico che ci siano nuovi timestamp da richiedere
{
    for(int j =0; j<numberOfNewTimestamp;j = j+900) \*
    {
        TimestampContainer container = SlaveInterface.requireTimestamp() // recupero i nuovi                                              timestamp dallo Slave
        for(int i = 0; i < container.size(); i++) // scorro tutti i Timestamp contenuti dentro il container
       {
         Timestamp tmstmp = container.value(i); // recupero il Timestamp i-esimo dal container
         Serial.println(tmstmp.day());   // stampo il giorno del mese
         Serial.println(tmstmp.month()); // stampo il mese dell'anno
         Serial.println(tmstmp.year());  // stampo l'anno
         Serial.println(tmstmp.hour());  // stampo l'ora del giorno
         Serial.println(tmstmp.minute());// stampo i minuti dell'ora
         Serial.println(tmstmp.second());// stampo i secondi del minuto
         Serial.println(tmstmp.counter());// stampo il contatore del Timestamp
         Serial.print(***);
       }
 
       container.clear(); // rilascio la memoria occupata dal TimestampContainer
  }

* Poiché le schede Arduino possiedono capacità limitate di RAM, se ci sono più di 900 byte di dati da inviare, devono essere effettuate più richieste, perché ogni richiesta invia al massimo 900byte. Due richieste successive inviano i byte corretti: i primi 900 + i byte restanti.

###Documentazione:


###Componenti utilizzate:

  • Memoria EEPROM 24LC256 da 32kb;
  • Tiny RTC.

![Schema connessioni ]https://raw.githubusercontent.com/GregoSwe/pluviometroI2c/master/schema_arduino.png)


###Librerie esterne utilizzate:

  • Wire.h -> per la comunicazione I2C;
  • DS1307RTC.h -> per l'interrogazione tramite I2C della RTC;
  • EEPROM.h -> per l'utilizzo della memoria interna al microprocessore.

Questo codice viene rilasciato con licenza GPL GNU GENERAL PUBLIC LICENSE

Clone this wiki locally