Pages: 1 ... 11 12 [13] 14   Go Down
Author Topic: Arduo Memory Reminder Medicine  (Read 16121 times)
0 Members and 1 Guest are viewing this topic.
Tuscany
Offline Offline
Edison Member
*
Karma: 77
Posts: 2110
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

smiley-roll
oppure usare questo
Quote
Wire.beginTransmission(0x68);   // Open I2C line in write mode (0x68 DS1307 )
  Wire.send((byte)0x00);       // Set the register pointer to (0x00)
  Wire.endTransmission();       // End Write Transmission
  Wire.requestFrom(0x68, 1);      // Open the I2C line in send mode
 
  if (Wire.available()) {
    Serial.println("RTC presente");
  }

ma non posso provarlo, perchè non ho ancora l'RTC, e neppure la soluzione di scrivere e poi leggere una memoria interna dell'RTC.


vero, cosi' deve funzionare
Logged

Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-razz smiley-razz smiley-razz
Trovato soluzione nella spiegazione dei comandi della libreria time.

Quote
  setSyncInterval(adjs); // imposta il tempo in secondi di autosincronizzazione dove adjs è il valore da impostare
  setSyncProvider(RTC.get); // attiva la sincronizzazione tra l'RTC ed Arduino, impostando il nuovo intervallo di autosincronizzazione

  if (timeNeedsSync != 0){ // verifica se è andato a buon fine la sincronizzazione tra i device
  Serial.println("Unable to sync with the RTC");
  } else {
  Serial.println("RTC has set the system time");
  }


Ciao.
Logged

Un saluto a tutta la comunità.
Giuseppe G.

Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-mr-green

Tra tutte le soluzioni, la migliore, concreta e funzionante, e la seguente
Quote
  Wire.beginTransmission(0x68);   // Open I2C line in write mode (0x68 DS1307 )
  Wire.send((byte)0x00);       // Set the register pointer to (0x00)
  Wire.endTransmission();       // End Write Transmission
  Wire.requestFrom(0x68, 1);      // Open the I2C line in send mode
 
  if (Wire.available()) { //verify if RTC is present
    Serial.println("RTC presente");
  } else {
    Serial.println("RTC presente");
  }

Finalmente l'ho potuta testare. Montato la shield al volo e provata. OK.

Un saluto a tutti.  smiley-wink
Logged

Un saluto a tutta la comunità.
Giuseppe G.

Tuscany
Offline Offline
Edison Member
*
Karma: 77
Posts: 2110
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

smiley-mr-green

Tra tutte le soluzioni, la migliore, concreta e funzionante, e la seguente
Quote
  Wire.beginTransmission(0x68);   // Open I2C line in write mode (0x68 DS1307 )
  Wire.send((byte)0x00);       // Set the register pointer to (0x00)
  Wire.endTransmission();       // End Write Transmission
  Wire.requestFrom(0x68, 1);      // Open the I2C line in send mode
 
  if (Wire.available()) { //verify if RTC is present
    Serial.println("RTC presente");
  } else {
    Serial.println("RTC presente");
  }

Finalmente l'ho potuta testare. Montato la shield al volo e provata. OK.

Un saluto a tutti.  smiley-wink

si, ma non ti dice se l' RTC e' fermo o attivo
Logged

Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-money oops !!!!
Sorry!!!!!

Copia ed incolla troppo veloce senza controllare.
Nella sistemazione del codice copiato dal mio, non ho aggiornato le descrizioni del serial print.
In realtà il device mi avvisa anche sul display LCD.
 
Quote
  Wire.beginTransmission(0x68);   // Open I2C line in write mode (0x68 DS1307 )
  Wire.send((byte)0x00);       // Set the register pointer to (0x00)
  Wire.endTransmission();       // End Write Transmission
  Wire.requestFrom(0x68, 1);      // Open the I2C line in send mode
 
  if (Wire.available()) { //verify if RTC is present
    Serial.println("RTC presente");
  } else {
    Serial.println("RTC non presente o errore di comunicazione");
  }

Grazie brunello!
Logged

Un saluto a tutta la comunità.
Giuseppe G.

Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-sweat
Un saluto a tutti.

Ho realizzato una nuova versione sia hardware che software del progetto, la R.1.1A, che prenderà il posto della release R0.5i dedicata al primo hardware e che posterò appena sistemato il seguente problema.

Ho usato il bus I2C per il display, L'RTC e la EEPROM in maniera da avere più pin liberi per eventuali upgrade hardware.

Al momento della compilazione, ho avuto dei problemi con l'IDE 0022 per la libreria LCD I2C. Sono passato così all' ultima versione, la 1.0.3 e mi ritrovo a dover disattivare l'audio, perchè la libreria tone non funziona più. "Compromesso accettato."

Qualcuno sà come posso sistemare il problema?
Ho visto che nella nuova versione IDE, viene fornita una libreria dedicata all'audio "pitches.h" che naturalmente funziona, ma vuole tassativamente utilizzare i pin 8-9 e 11. Posso utilizzare il pin A1, per l'uscita audio, o sono vincolato a questi pin.

Vi ringrazio anticipatamente.  smiley-red
Logged

Un saluto a tutta la comunità.
Giuseppe G.

Offline Offline
Edison Member
*
Karma: 26
Posts: 1339
You do some programming to solve a problem, and some to solve it in a particular language. (CC2)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, se ricordo bene per far compilare Tone sulla 1.0.3 basta mettere queste righe in Tone.cpp:

Code:
#if ARDUINO >= 100
#include <Arduino.h>
#else
#include <wiring.h>
#endif

al posto di

Code:
#include <wiring.h>
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22813
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se state parlando della Tone integrata nell'IDE di Arduino, non dovete modificare nessun file.
A che Tone vi riferite?


Logged


Offline Offline
Edison Member
*
Karma: 26
Posts: 1339
You do some programming to solve a problem, and some to solve it in a particular language. (CC2)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Questo è quanto riportato all'inizio del Tone.h che ho io:

Code:
/* $Id: Tone.h 113 2010-06-16 20:16:29Z bhagman@roguerobotics.com $

  A Tone Generator Library

  Written by Brett Hagman
  http://www.roguerobotics.com/
  bhagman@roguerobotics.com
Logged

Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao. La lib in queatione é la tone.h che vine fornita dal reference di arduino un po datata che gira sotto ide 0022.
Lo stesso codice che funziona sotto la 0022 non viene compilata sotto la 1.0.3.
Domani provo con il consiglio di tuxduino, basta verificare lo sketh di esempio.
Logged

Un saluto a tutta la comunità.
Giuseppe G.

Tuscany
Offline Offline
Edison Member
*
Karma: 77
Posts: 2110
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Ho visto che nella nuova versione IDE, viene fornita una libreria dedicata all'audio "pitches.h" che naturalmente funziona, ma vuole tassativamente utilizzare i pin 8-9 e 11. Posso utilizzare il pin A1, per l'uscita audio, o sono vincolato a questi pin.

Funziona su qualsiasi pin
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22813
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Questo è quanto riportato all'inizio del Tone.h che ho io:

Code:
/* $Id: Tone.h 113 2010-06-16 20:16:29Z bhagman@roguerobotics.com $

  A Tone Generator Library

  Written by Brett Hagman
  http://www.roguerobotics.com/
  bhagman@roguerobotics.com
Ma voi avete scaricato la Tone da qui, per caso?
http://code.google.com/p/rogue-code/

Quindi non state usando la Tone integrata nell'IDE?
Ciao. La lib in queatione é la tone.h che vine fornita dal reference di arduino un po datata che gira sotto ide 0022.

Potreste usare la Tone integrata nell'IDE partendo da questo:
http://arduino.cc/en/Tutorial/tone


PS:
secondo me dovreste fare la conversione all'IDE 1.0.x quanto prima. Ormai nessuno più usa l'IDE 002x, così non solo costringete gli utenti a scaricarsi la versione vecchia se vuole modificare il vostro codice, ma costringe anche voi ad un doppio lavoro: ora, di adattamento dello sketch a librerie vecchie, ed in seguito alla conversione alle nuove versioni quando gli autori delle librerie non svilupperanno più le vecchie.
Logged


Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-roll-sweat
Portato il codice su piattaforma IDE 1.0.3, inserito la patch
Quote
#if ARDUINO >= 100
#include <Arduino.h>
#else
#include <wiring.h>
#endif

ma la libreria V0006 Tone.h 113 2010-06-16 , solo al richiamo della dichiarazione include, mi genera questi errori.

Quote
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp: In member function 'void Tone::begin(uint8_t)':
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp:121: error: 'bitWrite' was not declared in this scope
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp:123: error: 'digitalPinToPort' was not declared in this scope
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp:123: error: 'portOutputRegister' was not declared in this scope
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp:124: error: 'digitalPinToBitMask' was not declared in this scope
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp: In member function 'void Tone::play(uint16_t, uint32_t)':
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp:198: error: 'OUTPUT' was not declared in this scope
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp:198: error: 'pinMode' was not declared in this scope
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp:294: error: 'bitWrite' was not declared in this scope
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp: In member function 'void Tone::stop()':
C:\ARDUINO\arduino-1.0.3\libraries\Tone\Tone.cpp:361: error: 'digitalWrite' was not declared in this scope

Logged

Un saluto a tutta la comunità.
Giuseppe G.

Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley x brunello

con questo comando "tone(pin, frequency, duration) " si può impostare il pin.

Perfetto!
brunello DOC!!!  smiley-wink

Mi sà che rivedrò i comandi per generare il suono, utilizzando la nuova libreria "pitches.h" fornita con il nuovo IDE.

Un saluto a tutti.
Giuseppe G.
Logged

Un saluto a tutta la comunità.
Giuseppe G.

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22813
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma la funzione Tone integrata nel core perché non vi piace? Non l'ho capito.
Logged


Pages: 1 ... 11 12 [13] 14   Go Up
Jump to: