«

»

Apr 10

Stampa Articolo

Ciabatta arduino pro

La Ciabatta arduino pro è un progetto che nase in collaborazione con Daniele Tartaglia:

ciabatta arduino pro bluetooth

Daniele è un maker appassionato arduino ed anche uno youtuber molto seguito per l’alta qualità dei suoi tutorial e dei progetti che presenta.

Come nasce la Ciabatta arduino Pro v.2

La ciabatta arduino pro v.2 nasce dopo una telefonata con Daniele in cui mi ha raccontato che in molti appassionati richiedevano lo sviluppo di una ciabatta controllabile da cellulare dopo la presentazione della prima versione.

Il mio contributo in questa versione è minimo, mi limito a fornirti un codice alternativo, leggermente ottimizzato, correggedo il problema di dover staccare il modulo bluetooth ogni volta che devi uplodare il nuovo sketch arduino.

Prima di passare allo sketch è necessario modificare i collegamenti del modulo bluetooth spostando i collegamenti TX ed RX da 0 e 1 verso 7 ed 8 in modo che il modulo bluetooth possa comunicare con la scheda senza intralciare la comunicazione seriale:

ciabatta_arduino_pro_schema_bt

Gli altri collegamenti che Daniele ha realizzato puoi lasciarli come descritto nel suo video.

Lo sketch che ti propongo è il seguente:

/*
Ciabatta Bluetooth ver.2 
 
@author:  Daniele Tartaglia & Mauro Alfieri
@site: www.labdomotic.com & www.mauroalfieri.it
@youtube: https://www.youtube.com/user/edstarink
          https://www.youtube.com/user/doctoralma77
@created: March 2017
 
@Licence: CC Attribution Noncommercial Share Alike
@link:    https://creativecommons.org/licenses/by-nc-sa/3.0/it/
*/
 
#include <SoftwareSerial.h>
#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal_I2C.h>
 
/*********************************************************************/
 
#define BT_TX_PIN  7
#define BT_RX_PIN  8
 
/*********************************************************************/
 
SoftwareSerial mySerial(BT_TX_PIN, BT_RX_PIN);
RTC_DS1307 RTC;
LiquidCrystal_I2C lcd(0x3F,16,2);
 
/*********************************************************************/
 
char lettera;
char buffer[16];
 
byte rele1=2;
byte rele2=3;
byte rele3=4;
byte rele4=5;
 
int previousSec = 0;
 
uint8_t SPENTO[8] = {0x0E, 0x11, 0x11, 0x11, 0x0A, 0x0E, 0x0E, 0x04,};
uint8_t ACCESO[8] = {0x0E, 0x1F, 0x1F, 0x1F, 0x0E, 0x0E, 0x0E, 0x04,};
 
/*********************************************************************/
 
void setup() {
    Serial.begin(9600);
    mySerial.begin(9600);
    Wire.begin();
    RTC.begin();
    lcd.init();
    lcd.backlight(); 
     
    pinMode(rele1, OUTPUT);
    pinMode(rele2, OUTPUT);
    pinMode(rele3, OUTPUT);
    pinMode(rele4, OUTPUT);
     
    digitalWrite(rele1, HIGH);
    digitalWrite(rele2, HIGH);
    digitalWrite(rele3, HIGH);
    digitalWrite(rele4, HIGH);
     
    if (! RTC.isrunning()) {
      Serial.println("RTC is NOT running!");
      RTC.adjust(DateTime(__DATE__, __TIME__));
    }
     
    lcd.createChar( 0,SPENTO );
    lcd.createChar( 1,ACCESO );
    lcd.setCursor ( 0,0 );
    lcd.print("Ciabatta BT v.2");
    delay(2000);
    lcd.clear();
    lcd.setCursor( 12,0 );
    lcd.write(0);
    lcd.write(0);
    lcd.write(0);
    lcd.write(0);
}
 
/*********************************************************************/
  
void loop() {
  DateTime now = RTC.now();
     
  if(now.second() != previousSec) {
        lcd.setCursor( 0,0 );
        sprintf(buffer,"%02d:%02d:%02d",now.hour(),now.minute(),now.second());
        lcd.print( buffer );
        previousSec = now.second();
    }
     
    if(mySerial.available()) { 
        lettera = mySerial.read(); 
         
        switch (lettera) {
        case 'A':
            digitalWrite(rele1, LOW); 
            Serial.println("relay 1 on");
            viewSocket( 1,true );
        break;
         
        case 'S':
            digitalWrite(rele1, HIGH); 
            Serial.println("relay 1 off");
            viewSocket( 1,false );
        break;
         
        case 'Q':
            digitalWrite(rele2, LOW);
            Serial.println("relay 2 on");
            viewSocket( 2,true );
        break;
         
        case 'W':
            digitalWrite(rele2, HIGH);
            Serial.println("relay 2 off");
            viewSocket( 2,false );
        break;
         
        case 'E':
            digitalWrite(rele3, LOW);
            Serial.println("relay 3 on");
            viewSocket( 3,true );
        break;
         
        case 'R':
            digitalWrite(rele3, HIGH);
            Serial.println("relay 3 off");
            viewSocket( 3,false );
        break;
         
        case 'T':
            digitalWrite(rele4, LOW);
            Serial.println("relay 4 on");
            viewSocket( 4,true );
        break;
         
        case 'Y':
            digitalWrite(rele4, HIGH);
            Serial.println("relay 4 off");
            viewSocket( 4,false );
        break;
        }
    }   
}
 
void viewSocket(byte num, boolean status) {
  lcd.setCursor( ( 11+num ),0 );
  if ( status ) { 
     lcd.write(1); 
     lcd.setCursor ( 0,1 );
     lcd.print("Acceso rele "); 
  } else { 
    lcd.write(0);
    lcd.setCursor ( 0,1 );
    lcd.print("Spento rele ");
  }
  lcd.setCursor ( 12,1 );
  lcd.print(num);
}

passando alla descrizione linea per linea parti dalle

linee 14-17: in cui includi tutte le librerie necessarie al funzionamento della ciabatta arduino pro. In particolare la Wire, l’RTC e la LiquidCrystal_i2C servono per i rispettivi moduli, mentre al SoftwareSerial ti serve per comunicare con il modulo BT;

linee 21-22: definisci due pin Tx ed Rx a cui avrai collegato il modulo HC-06 utilizzato per la realizzazione della ciabatta arduino pro v.2;

linea 26: crea l’istanza dell’oggetto SoftwareSerial che userai per comunicare con il modulo bluetooth;

linea 27: crea l’istanza dell’oggetto RTC che ti serve per comunicare con l’RTC;

linea 28: crea l’istanza dell’oggetto LiquidCrystal che ti serve per inviare i messaggi sul display;

linee 32-38: crea le variabili di buffer, per scrivere sul display, e dei pin a cui sono connessi i relé;

linea 40: definisci la variabile globale di tipo int che userai per tener traccia del passare del tempo per aggiornare l’ora sul display;

linee 42-43: definisci due “custom character” ossia due caratteri disegnati da te, uno rappresenta una lampadina accesa ed uno quella spenta;

linee 48-52: inizializza tutte le istanze verso Seriale, mySerial, Rtc e Lcd;

linea 53: invia il comando di accensione della retroilluminazione del display;

linee 55-63: imposta i pin connessi ai rele come OUTPUT e porta a HIGH le rispettive uscite;

linee 65-68: servono a impostare l’orario dell’RTC la prima volta che lo colleghi ad arduino;

linee 70-71: definisci i due caratteri speciali, disegnati da te alle linee 40-41, come indici 0 ed 1 da usare nello sketch;

linee 73-75: scrivi sulla prima linea del display il testo “Ciabatta BT v.2” e attendi 2 secondi prima di pulire il display con il metodo clear();

linee 76-80: imposta il cursore nella posizione 12, della prima linea, e disegna i 4 caratteri personalizzati;

ciabatta

linea 86: richiedi all’RTC la data e l’ora corrente;

linea 88: verifica che il secondo corrente “now.second()” sia diverso da quello precedentemente visualizzato e memorizzato nella variabile previousSec;

linea 89-91: quando il tempo trascorso tra l’ultimo aggiornamento dell’orario è differente esegui l’aggiornamento dell’orario sul display. In questo modo ottieni solo gli aggiornamenti continui del display al cambio di ogni secondo;

linea 92: assegna il secondo corrente, ossia quello appena visualizzato alla variabile previousSec;

linea 95: quando arriva un carattere sul buffer seriale bluetooth, quindi dal cellulare, esegui le linee successive;

linea 96: leggi la prima lettera presente nel buffer seriale;

linee 98-103: se la lettera ricevuta è “A” allora porta l’usicta corrispondente al rele 1 a LOW, scrivi sul monitor seriale “relay 1 on” e richiama la funzione viewSocket() passandole il numero di relay e lo stato: in questo caso true ( acceso )

linee 105-145: esegui le medesime operazioni viste per il passaggio 100-104 per ciascuna delle lettere ricevute dal seriale bluetooth della ciabatta arduino pro;

linea 150: definisci la funzione viewSocket() con i due parametri attesi: 

  • num: il numero di relè coinvolto
  • status: lo stato del relè: acceso/spento ( true/false)

linea 151: calcola la posizione X del cursore come (11+num) ossia 12 per il relè 1, 13 per il 2, ecc… e posiziona il cursore;

linea 152: se “status” è true procedi con la visualizzazione della luce accesa e del messaggio sulla seconda linea;

linea 153: essendo il relay acceso ( status = true ) visualizza la lampadina accesa ( carattere speciale 1 );

linea 154: posizionati sulla seconda riga carattere 0;

linea 155: scrivi la frase “Acceso rele “;

linee 157-159: esegui le stesse operazioni delle linee 153-155 ma con simbolo “0” e scrivendo “Spento rele “;

linee 161-162: posizionati al carattere 12 della seconda riga e scrivi il valore di num ( 1,2,3 o 4 );

lo sketch è lungo ma semplice in quanto non presenta passaggi o parti complesse proprio per consentirti le modifiche che desideri.

Il video di Daniele su come realizzare la ciabatta arduino pro v.2

Buona visione.


Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/ciabatta-arduino-pro.html

156 comments

Vai al modulo dei commenti

  1. Domenico

    Ciao mauro complimenti a entrambi per l’ottimo lavoro.
    Ho provato a realizzare questa ciabatta usando i seguenti componenti
    Arduino uno
    Modulo 4 relè
    Display 16×2 con ic2 integrato
    Rtc ds1302
    Bluetooth hc-5
    I collegamenti sono stati in meriera corretta ma sul display non vedo nulla nemmeno usando la funzione esempio
    dell’ ide, si illumina solo cosa può essere?
    Aspetto un un tuo consiglio grazie e buona pasqua

    1. Mauro Alfieri

      Ciao Domenico,
      sei certo che l’indirizzo I2C sia corretto?
      Quello indicato da me è adatto al display utilizzato da noi, ma i diesplay IIC non sono tutti impostati sul medesimo indirizzo.
      Per trovare il tuo indirizzo puoi leggere un articolo che ho scritto in merito, cercalo come i2c address

  2. Domenico

    Grazie Mauro, ho risolto il problema modificando l’indirizzo, ho provato a compilare il codice ma mi da errore sulla voce lcd.init da cosa può dipendere?
    Ultime 2 cose siccome uso 2 moduli diversi devo apportarte modifiche alla sketch? Parlo del rtc ds1302 e il modulo Bluetooth hc-5 quello con i pin sa saldare .

  3. Domenico

    Ho provato a caricare il codice mettendo // prima lcd.init e vieni verificato senza problemi, passato su arduino
    Ma su display appare 165:165:80 il Bluetooth vieni trovato e associato ma quando da app do il comando per accendere o spegnere il relè non fa nulla.
    Puoi aiutarmi?

    1. Mauro Alfieri

      Ciao Domenico,
      controlla gli indirizzi i2c dei tuoi moduli potrebbero essere differenti da quelli impostati.
      In alternativa inserisci dei Serial.print lungo i punti specifici del codice per capire cosa accade e risolvere l’errore.

  4. Domenico

    Il problema di lcd.init lo risolto cambiando con led.begin.
    Per il modulo rtc devo controllare i2c
    Per quello bluethoot che non ha i2c che posso fare??
    Scusa per tutte queste domande.

    1. Mauro Alfieri

      Ciao Domenico,
      lcd.begin è usato da una libreria differente da quella che uso, ti consiglio la libreria LiquidCrystal_I2C presente nell’IDE arduino.
      L’RTC controlla anche i collegamenti su A4 ed A5;
      Il bluetooth non ha indirizzo, puoi verificare con il Serial.print che i comandi arrivino dall’app in modo corretto; se non sai come fare ti consiglio la lettura di qualche articolo nel mio corso base arduino gratuito che trovi in questo blog.

  5. Domenico

    Ho provato a dare i comandi da at ma onestamente non trovo il modulo sulla porta 9600 mi dice rtc is not running

    1. Mauro Alfieri

      Ciao Domenico, non ho capito cosa stai eseguendo, hai verificato con il Serial.print come suggerito?

  6. stefano

    Ciao Mauro, grazie mille anche a te per questo interessantissimo progetto. Funziona tutto alla perfezione, ma vorrei aggiungere la possibilita’ di impostare timer giornalieri per attivare e disattivare uno o più relè. Ho provato con TimeAlarms ma non sembra funzionare. Cosa mi consigli per gestire gli allarmi a ore prestabilite? Grazie infinitamente per il tuo prezioso lavoro.

    1. Mauro Alfieri

      Ciao Stefano,
      non ho mai provato TimeAlarms ma potresti scrivere tu del codice per impostare gli allarmi partendo da articoli che ho scritto su come impostare la data e l’ora su arduino e come pilotare dei relay ad intervalli prestabiliti ad esempio nelle centraline per l’irrigazione.

  7. Diego

    Ciao mauro complimenti ad entrambi per la passione che mettete nei progetti, ti anticipo che sono alle prime armi, volevo sapere se era possibile integrare alla ciabatta arduino ver1 di Tartaglia il modulo bluetooth per poter controllare la stessa sia da tastierino che da remoto. Grazie per la risposta

    1. Mauro Alfieri

      Ciao Diego,
      tecnicamente è possibile, dovrai riscriverti il codice partendo da questo progetto o dall’altro di Daniele per fondere i controlli e le periferiche.

  8. Omar

    Ciao Mauro, essendo un perito elettrotecnico non me ne intendo tanto di elettronica e linguaggio C ho studiato piu impianti elettrici e automazione che elettronica quindi avrei bisogno di un tuo aiuto, io non riesco a far compilare lo scketch correttamente l’ho copiato cosi comè senza modificare nulla e non mi funziona, mi da un messaggio di errore ( Errore durante la compilazione per la scheda Arduino/Genuino Uno. exit status 1) Grazie !!

    1. Mauro Alfieri

      Ciao Omar,
      se non hai mai usato arduino ti consiglio la lettura del mio corso base gratuito on-line o di partecipare ad un corso base arduino tipo quello che terrò la prossima settimana a Milano, ti sarà più semplice approcciare a progetti come questo.

      1. Omar

        Grazie mille, infatti ho letto un po di cose che mi sono state d’aiuto e sono riuscito a compilarlo Grazie ancora

        1. Mauro Alfieri

          Bene Omar

  9. Ion

    Ciao mauro bel progetto ….ma mi da questo come errore questo:
    Arduino:1.6.8 (Windows 8.1), Scheda:”Arduino/Genuino Uno”
    C:\Users\Family\Desktop\sketch_completo_ciabatta\sketch_completo_ciabatta.ino:6:20: fatal error: RTClib.h: No such file or directory
    #include

    ^
    compilation terminated.

    exit status 1

    Errore durante la compilazione per la scheda Arduino/Genuino Uno.
    cosa devo fare?grazie mille …..comunque lo sto facendo per l’esame grazie a te

    1. Mauro Alfieri

      Ciao Ion,
      errori come questo da uno studente del quinto anno non me li aspetto, almeno se ha studiato e compreso arduino.
      Diciamo che avresti dovuto realizzare un progetto simile senza neppure guardalo sul web: è talmente semplice.
      L’errore è parlante: error: RTClib.h: No such file or directory
      e ti indica anche a cosa si riferisce: #include

      Sono certo che se lo rileggi bene la soluzione la trovi da solo.

      1. ion

        Grazie lo trovato da solo….la questione e che arduino non lo mai fatto …e da 1mese che l’ho iniziato a studiare da zero tramite manuali e internet….e gli sketch gli sto imparando piano piano….cmq sono l’unico della mia classe che fa arduino (nel programma non ce)

        1. Mauro Alfieri

          Bene Ion,
          sono certo che tu sia diventato più bravo con arduino ora che hai imparato a leggere e comprendere gli errori.

  10. Omar

    Ciao , Mauro io sono riuscito a compilare lo sketch con successo , ma quando vado a caricare lo sketch su arduino mi dice che occupa troppo spazio il e mi da questo messaggio (Lo sketch usa 8412 byte (26%) dello spazio disponibile per i programmi. Il massimo è 32256 byte.
    Le variabili globali usano 770 byte (37%) di memoria dinamica, lasciando altri 1278 byte liberi per le variabili locali. Il massimo è 2048 byte.) Aspetto un tuo consiglio Grazie .

    1. Mauro Alfieri

      Ciao Omar,
      è il messaggio che tutto è andato a buon fine.
      Gli errori sono evidenziati in arancione.

  11. Andrea

    Ciao Mauro,
    ti scrivo perche ho un problema con l installazione driver di arduino nel momento in cui lo collego tramite cavo USB al mio pc: una volta collegato viene immediatamente riconosciuto e dopo alcuni minuti di installazione, mi da errore! ho provato a cercare qualcosa su internet ma ho trovato pochissime informazioni. Chiedo a lei se sa come risolvere tale problema.
    grazie mille, la saluto!

    1. Mauro Alfieri

      Ciao Andrea,
      senza conoscere l’errore è impossibile.
      L’arduino è originale ?

  12. Simone

    Ciao Mauro, dopo aver installato le librerie e tutto il necessario, ho riscontrato questo problema: ATTENZIONE: La categoria ‘Real-time clock’ della libreria DS3231 non è valida. La imposto a ‘Uncategorized’. Sapresti dirmi come risolvere? Grazie in anticipo!

    1. Mauro Alfieri

      Ciao Simone,
      penso dipenda dalla non corretta compilazione di tutti i files che l’IDE si aspetta relativi alla libreria.
      Si tratta solo di un allert, in bianco, che l’IDE ti sottopone per indicarti che l’autore della libreria non ha rispettato tutto lo standard descritto nella procedura di rilascio di un a libreria.
      Lo sketch non dovrebbe subire alterazioni.

  13. Simone

    Ciao Mauro, il precedente problema è stato risolto, ma ne è sorto uno nuovo: il display LCD si retroillumina solamente facendo visualizzare una stringa di quadrati, anche se il programma viene compilato senza problemi. Quale potrebbe essere la causa?

    1. Mauro Alfieri

      Ciao Simone,
      hai letto gli altri articoli dedicati ai display LCD I2C, mi sembra che ci siano altri che hanno avuto il medesimo problema e lo hanno risolto spiegando nei commenti la soluzione.

  14. Simone

    Ciao Mario, ho risolto la scritta relè sul display, solo se però attacco direttamente il display senza collegare l’RTC. Se faccio la connessione giusta con l’RTC e poi al display, escono dei caratteri strani e poi un “?”. Sapresti dirmi come risolvere

    1. Mauro Alfieri

      Ciao Simone,
      non sono certo di aver compreso: singolarmente i due componenti funzionano?
      L’RTC che indirizzo I2C possiede, L’lcd che indirizzo I2C possiede?

  15. federico

    Ciao Mauro ,ho costruito la ciabatta pro di daniele Tartaglia ,naturalmente con il tuo programma,ma noto che quando parte il programma le luci dei led sono spente.Appena finito si accendono e rimangono cosi anche agendo con lo smarphon(spegni/accendi).La procedura di caricamento del programma staccando i cavetti all’hc06 ,lho fatta ma non succede niente.Mi puoi dare una mano . Dimenticavo di dire che si accende lcd ma non compare nessuna scritta e nessun orario.Grazie.

    1. Mauro Alfieri

      Ciao Federico,
      puoi verificare con il monitor seriale cosa accade e verificare dove si blocca.
      Per i led, tutti accesi, probabilmente la tua shield relè è eccitata se i pin sono a 1 e non a 0 come quella usata da me e da Daniale, se fosse questo il motivo ti basta invertire i comandi che mandi ai relè.

      1. federico

        provero’,pero’ come mai agendo sullo smartphon per aceendere e spegnere i led non succede nulla (non si eccitano i rele’?.Grazie

        1. Mauro Alfieri

          Ciao Federico,
          senza conoscere bene cosa accede sul monitor seriale sarebbero solo ipotesi vaghe ed errate

  16. federico

    Ecco Mauro,ho fatto come tu mi hai suggerito ,ho invertito i comandi ai rele’ portandoli tutte e quattro a LOW.Si spengono i rele’ e agendo sui comandi del BT control non accade nulla e cioe’ i rele’ rimangono sempre spenti,nel monitor seriale non c’e’ nulla,la tensione ai morsetti delle quattro prese non c’e’ e al lcd pur accendendosi rimangono solo quadratini.Sono esasperato!!Cosa devo fare di piu’ ?.Grazie

    1. Mauro Alfieri

      Ciao Federico,
      non ricordo se ti ho già suggerito di utilizzare il monitor seriale per capire dove si blocca il programma, ovviamente devi mettere dei messaggi nello sketch da farti scrivere sul monitor seriale per capire cosa accade.

  17. federico

    Ciao Mauro,ho verificato con serial monitor e mi scrive la frase da me data (“Ciao Federico”).Poi mi appare RTC is NOT running.Che fare?.Grazie

    1. Mauro Alfieri

      Ciao Federico,
      l’RTC non sta funzionando e come leggi nel codice questo è bloccante.
      Se non sai come mai accade puoi leggere e comprendere la mia spiegazione riga per riga.

      1. federico

        ok grazie,spero di riuscirci

        1. federico

          Purtroppo Mauro non sono riuscito a risolvere il problema.Se puoi aiutarmi ancora te ne sarei grato anche perche’ non sono piu’ un giovanotto e alla mia eta’(70) i riflessi vengono meno.Grazie e ciao

          1. federico

            Ciao Mauro,ho trovato un filo interrotto tra SCL del 1307 e A5.Adesso sul lcd scrive i 4 caratteri e o e null’altro.

          2. Mauro Alfieri

            Ottimo Federico,
            che intendi per i 4 caratteri?

          3. Mauro Alfieri

            Ciao Federico,
            indaga sull’RTC per qualche motivo non comunica con l’arduino, potrebbe essere danneggiato o collegato male.

          4. federico

            I 4 caratteri dovrebbero essere i 4 rele’ (linee 76-80: imposta il cursore nella posizione 12, della prima linea, e disegna i 4 caratteri personalizzati;) e sulla prima riga mi segna uno 0. Poi nulla piu’.Nel monitor seriale non segha niente tutto bianco.Adesso provero’ a rivedere i collegamenti e ti faro’ sapere.Comunque in ogni caso devo uscirne da questa situazione di stallo.Potrei(o indicarmi qualche altra persona) spedire i tutto a mie spese pagando l’intervento e la restituzione.Voglio vederlo funzionante.Non ti nascondo che mi sono rivolto anche a Daniele,ma con esito negativo.Ti ringrazio ancora una volta per avermi dedicato tanto spazio e ti saluto.

          5. Mauro Alfieri

            Ciao Federico,
            usando il Monitor seriale inserisci dei Serial.println che ti diano dei numeri 1,2,3,ecc.. lungo il codice per capire dove si ferma.
            Ti sarà più semplice comprendere dove si blocca.
            Se proprio non ci riesci proviamo a capire come posso aiutarti.

  18. Alfonso

    Buongiorno Mauro, ho reperito i materiali per costruire la ciabatta ma vorrei sostituire l’interfaccia Bluetooth con una di rete per poter comandare il tutto a distanza.
    Ti chiedo se ciò è fattibile e se è possibile implementare le linee di comando nel tuo sketch.
    Grazie

    1. Mauro Alfieri

      Ciao Alfonso,
      ti suggerisco di leggere l’articolo sul controllo dei relè con la MKR1000 e Blynk, vedrai che il 90% del lavoro è già fatto e devi solo aggiungerti il display se preferisci quello locale a quello virtuale.

      1. Alfonso

        Grazie per la dritta.
        Due domande ancora:

        – posso usare questa scheda di più immediato utilizzo?
        ESP8266 ESP-12E CP2102

        – per alimentarla posso seguire la procedura descritta nel tutorial della ciabatta pro?
        Io dovrei collegare un modulo da otto relè.

        Ti ringrazio infinitamente

        1. Mauro Alfieri

          Ciao Alfonso,
          che intendi per “più immediato utilizzo”? la useresti sempre con l’IDE arduino quindi è più immediato l’uso delle schede della famiglia Arduino, a mio avviso.
          Se non ricordo male, devi verificare, questa scheda funziona a 3,3v sui pin per cui devi avere degli shift level per i segnali.

          1. Alfonso

            Scusa ho sbagliato.
            Volevo dire di più facile reperibilità.

            Dove posso prenderla in Zona Como/Milano o online a prezzi accessibili?
            Grazie ancora per la disponibilità

          2. Mauro Alfieri

            Ciao Alfonso,
            io le ho sempre acquistate on-line sullo store arduino.cc ed arrivano di solita in 3/4 giorni.

  19. andrea

    ciao mauro,
    non riesco a capire perche mi da errore durante la verifica del tuo sketch!
    faccio semplicemente copia e incolla ma quando faccio verifica sul software mi da errore in rosso. grazie

    1. Mauro Alfieri

      Ciao Andrea,
      per aiutarti è necessario che tu mi dica almeno il tipo di errore, quasi certamente sarà colpa di qualche libreria che ti manca, se leggi le mie spiegazioni riga per riga e le comprendi penso tu possa risolvere da solo.

      1. andrea

        l’ errore è il seguente: avrdude: stk500_getsync() : not in sync: resp=0x00.
        se dovesse mancare una libreria potrebbe dirmi dove posso trovarla? grazie mille, ciao Mauro.

        1. Mauro Alfieri

          Ciao Andrea,
          l’errore indica che la scheda arduino non risponde al sync con il computer, sei sicuro sia una scheda originale? il computer la vede? la porta è selezionata?

          1. andrea

            ho risolto grazie mille Mauro per la sua disponibilità,
            siccome è la prima volta che metto in mano Arduino e non sapevo che andava selezionata la porta! buona giornata.

          2. Mauro Alfieri

            Ciao Andrea,
            le prime volte sembra tutto difficile per questo ho scritto e pubblicato il mio corso base arduino gratuito che ti invito a leggere.

  20. federico

    Ciao Mauro,ho messo un po’ di Serial.println e si ferma qui:if(now.second() != previousSec) {
    lcd.setCursor( 0,0 );
    sprintf(buffer,”%02d:%02d:%02d”,now.hour(),now.minute(),now.second());
    lcd.print( buffer );
    previousSec = now.second();
    Serial.println(“Miki”); questo e’ il nome che ho messo e non va piu’ avanti.Aspetto tue notizie

    1. Mauro Alfieri

      Ciao Federico,
      sembra ancora un problema di RTC.
      Prova l’RTC da solo, poi prova L’LCD da solo.

      1. federico

        Ciao Mauro,ho provato l’RTC da solo co un tuo programma e funziona perfettamente.Ho provato anche l’LCD da solo facendo apparire delle scritte e funziona perfettamente.Cosa devo fare piu’? Mi sembra veramente un rebus.Aspetto un tuo suggerimento.Ciao e ancora grazie.

        1. Mauro Alfieri

          Ciao Federico,
          ma il Serial.print(“Miki”) ti mostra la scritta “Miki” o si ferma prima?

          1. federico

            Si, mostra la scritta “Miki” e si ferma.

          2. Mauro Alfieri

            Ciao Federico,
            prova a mettere un Serial.println(“end”); alla fine del loop() e verificare che il loop funzioni.

  21. federico

    Ciao Mauro,ho messo Serial.println”end”); ma non va avanti rimane sempre su Miki.Una domanda ,mi viene un dubbio ,ma qualcuno lo ha realizzato e funziona?

    1. Mauro Alfieri

      Ciao Federico,
      sia Daniele sia Io abbiamo realizzato e testato il progetto, mi sembra di aver letto di altri che lo anno realizzato sia tra i commenti al video di Daniele sia su FB.
      Il fatto che non vada oltre il “Miki” è davvero strano in quanto non vedo alcun impedimento dopo tale linea. Prova a mettere un Serial.print con numero incrementale intervallando ogni riga sia del setup() sia del loop() sia della funzione successiva e dimmi a quale si ferma il monitor seriale.

      1. federico

        si ferma sempre qui:if(now.second() != previousSec) {
        lcd.setCursor( 0,0 );
        sprintf(buffer,”%02d:%02d:%02d”,now.hour(),now.minute(),now.second());
        lcd.print( buffer );
        previousSec = now.second();
        Serial.println(“Miki”);
        }

        if(mySerial.available()) {
        Serial.println(“10”); questo serial.println(“10”) non lo scrive
        lettera = mySerial.read();

        1. Mauro Alfieri

          Ciao Federico,
          sulla scrittura del numero “10” è corretto perché funziona solo se riceve dei messaggi, se ti occoroono info su come funziona puoi leggere il mio corso base arduino gratuito sulla gestione degli streaming di tipo seriale.
          Se metti un Serial.println(“loop”) prima dell’if(mySerial… dovresti vederlo scorrere se non avviene vuol dire che qualcosa blocca il flusso di loop() altrimenti è solo un problema di comunicazione con l’RTC o con il bluetooth.

          1. federico

            si ho messo un 9 e scorreva all’infinito

          2. Mauro Alfieri

            Ottimo Federico,
            quindi lo sketch funziona.
            Il prossimo passo è capire se quando colleghi il cellulare il modulo Bluetooth riceve i dati e cosa riceve.
            Collegando il cellulare ed inviando le lettere A,S,Q,… le vedi nel monitor seriale.

  22. federico

    Scusami Mauro, le lettere A,S Q,da dove le devo inviare

    1. Mauro Alfieri

      Ciao Federico,
      dall’App, come descritto nel tutorial di Daniele.

  23. federico

    il bluetooth viene si abilita ma non riceve alcunche’

    1. Mauro Alfieri

      Ciao Federico,
      hai installato l’App ?

  24. federico

    Mi devo rassegnare,dopo aver speso un po’ di soldini devo dire addio a tale progetto.Avevo anche deciso di spedire a mie spese, dando anche un contributo a chiunque potesse mettermelo in funzione.Risposta negativa.Grazie lo stesso Mauro per il tuo interessamento e per aver dedicato tanto tempo nello spiegare le varie problematiche.Devo dare atto che a 70 anni,non si puo’ essere ancora brillanti e lucidi.

    1. Mauro Alfieri

      Ciao Fede,
      oramai ci sei 🙂
      Non arrenderti e provaci .. mio padre ha 74 anni e mi da ancora esempio di lucidità in elettronica e non solo.
      Nei fabLab di tutta italia ho incontrato appassionati di ogni età che frequentano i miei corsi e fanno cose incredibili dall’alto della loro esperienza.

  25. andrea

    ciao mauro, ti scrivo perchè è sorto un altro problema: sono riuscito, o quasi, a far funzionare tutto il progetto ma il modulo relè non vuole proprio funzionare, ho fatto tutti i collegamenti corretti allo schema e li ho ricontrollati più volte ma quando collego il cellulare al bluetooth essi non si attivano, neppure i piccolissimi led rossi che si dovrebbero accendere quando uno dei 4 relè sono attivi. chiedo aiuto a lei sperando che mi possa aiutare a risolvere!
    Grazie mille di nuovo, buona serata.

    1. federico

      Questo avviene anche a me.Ciao Andrea puoi dirmi se sull’LCD ci sono le scritte “Ciabatta pro,Led 1 acceso,2 acceso ..ecc.”Grazie

      1. Mauro Alfieri

        Ciao Federico,
        sono contento che tu non ti sia arreso.

    2. Mauro Alfieri

      Ciao Andrea,
      sul monitor seriale vedi arrivare dal cellulare le lettere che permettono ai relé di accendersi e spegnersi?

      1. andrea

        Ciao Mauro,
        sinceramente non so come funziona il monitor seriale ma quando carico lo sketch e apro il monitor non ci viene scritto nulla anche se utilizzo il cellulare per accendere i relè.
        sapevo che per scrivere qualcosa sul monitor serviva la voce Serial.println(“RTC is NOT running!”) come nel suo sketch. pensa che sia rotto il modulo?

        1. andrea

          cioè rotto non penso perchè ho provato a farli funzionare singolarmente solo con arduino e il modulo, senza bluetooth e trovando uno sketch apposito direi che funzionavano si accendevano e spegnevano di continuo, non so che dire poi quando eseguo questo progetto non vogliono proprio andare!

          1. Mauro Alfieri

            Ciao Andrea,
            non ho capito

        2. Mauro Alfieri

          Ciao Andrea,
          si il monitor seriale è già attivo nel mio sketch per questo ti ho chiesto la verifica, almeno all’inizio puoi fidarti delle sole info che ho previsto io.
          Se vuoi conoscere meglio come funziona puoi leggere il mio corso arduino gratuito on-line.

  26. andrea

    Ciao Federico,
    Sul display ci viene scritto ciabatta bt v.2 e poi il tempo di utilizzo ore minuti secondi dell rtc con le varie lampadine disegnate sul display ma tutte e quattro spente poiché non mi funziona il modulo relè

    1. federico

      A me sul display compaiono solo le 4 lampadine ed il n.1.Cosa posso fare

      1. federico

        scusami Andrea che alimentatore hai usato:le caratteristiche.Grazie

        1. andrea

          Ciao federico,
          per alimentare arduino per ora utilizzo un alimentatore variabile autocostruito con il modulo lm2596, poi quando il progetto sara pronto penso di usare una pila o un pacco di pile da 5v poichè non dispongo di un trasformatore di 5-9v in cc come ci fa vedere Daniele nel suo video Youtube.

          1. federico

            Ciao Andrea,adesso rifaccio tutto d’accapo mettendo anche componenti nuovi.(E’ la terza volta).Puoi postarmi se non ti do fastidio la tua ciabatta? Fallo su facebook Federico Ferrara in PV.Grazie

          2. Mauro Alfieri

            Grazie Andrea,
            valuta di utilizzare un alimentatore perché le batterie potrebbero durare poco e rendere la ciabatta inutilizzabile velocemente.

      2. Mauro Alfieri

        Ciao Federico,
        hai già provato quello che ti ho indicato ?
        Io penso che ci sia ancora qualche problema con l’RTC se non compare data ed ora: è lui che le gestisce.
        Prova, sempre con Serial.println, a farti scrivere il valore now.second() sul monitor seriale;
        Poi prova i minuti, le ore, il giorno, il mese, l’anno.

        Attendo le tue prove.

    2. Mauro Alfieri

      Grazie Andrea per il contributo !!!

  27. federico

    Andrea ancora una domanda : per tutti i collegamenti hai usato cavetti jumper

    1. andrea

      Assolutamente si ordinati dalla Cina 80 pz

      1. Mauro Alfieri

        Ciao Andrea,
        potrebbero essere parte della causa o la causa stessa, controllali con un tester prima di utilizzarli, la continuità deve essere al 100%
        In ogni caso resta valido il consiglio di seguire quanto indicato da Daniele e di avere molta precauzione trattando tensioni pericolose come quelle di rete.

    2. Mauro Alfieri

      Ciao Federico & Andrea,
      il mio suggerimento è di seguire pedissequamente Daniele, realizzare i collegamenti come fa lui ed i componenti che ha utilizzato per essere certi di avere almeno l’hw identico.

      1. andrea

        Ciao Mauro,
        Io non riesco a seguire i procedimenti che fa Daniele nel video ma gli schemi che ha rilasciato si.
        Sono sicuro al 100% che sono stati fatti in maniera corretta, anche perché è da una settima che non riesco a farlo funzionare e i collegamenti li ho controllati e ricontrollati, ho controllato anche la continuità di tutti i cavetti cinesi ma sembrano funzionare benissimo. L unica cosa che non funziona sembra sia il modulo relè però devo dire che anche se collego il cell al modulo Bluetooth e provo ad accendere il primo relè neanche le piccole lampadine sul display si illuminano. Molto strana questa cosa e non riesco a capire il problema

        1. federico

          Esattamente queste cose capitano anche a me

          1. Mauro Alfieri

            Ciao Federico,
            perdonami mi sembra che tu fossi fermo prima, hai collegato il cellulare ? Hai inviato i dati via bluetooth?
            Cosa leggi nel monitor seriale?

        2. Mauro Alfieri

          Ciao Andrea,
          nel monitor seriale cosa leggi quando invii i comandi dallo smartphone?

          1. andrea

            Ciao Mauro,
            Dopo aver caricato lo sketch e collegato il cellulare e aperto il monitor seriale, facendo arrivare i segnali dallo smartphone, nel monitor non c’è alcuna scritta 🙁

          2. Mauro Alfieri

            Ciao Andrea,
            sei certo che tra cellulare e modulo bluetooth ci sia il corretto pairing ( associazione )?
            Se si prova a verificare che i collegamenti tra Tx ed Rx siano giusti e che tu stia leggendo dai pin corretti, potrebbe essere causa la classica inversione tra Tx/Rx

          3. andrea

            Secondo me comunque è il modulo relè che non riesce a comunicare con il cellulare anche se viene collegato correttamente con l app, semmai provo a comprarne uno nuovo dopodiché spero funzioni… sono molto delicati questi argomenti dell elettronica anche se mi sembravano semplici..

          4. Mauro Alfieri

            Ciao Andrea,
            puoi anche solo verificare che il tuo modulo funzioni con un semplice sketch che trovi nel blog, ne avrò pubblicati qualche decina.
            In ogni caso se dal bluetooth non ti arrivano info sarà impossibile che il modulo relay funzioni.

          5. andrea

            Modulo Bluetooth* scusami

          6. Mauro Alfieri

            Ah ok Andrea,
            prova comunque come ho suggerito a Federico.

          7. andrea

            Ciao Mauro,
            Va bene grazie per il suggerimento vedrò di controllare se ho collegato correttamente i pin del modulo bt.
            Ti farò sapere quando tornerò a casa dalle vacanze, grazie ancora per la disponibilità 🙂

  28. federico

    Non leggo nessun dato sul monitor seriale.Tanto che mi sono venuti dei dubbi sulla funzionalita’ dei miei moduli(ne ho usati due)e ho fatto un test con questo programmino:#include

    [codice rimosso in automatico]

    e funziona benissimo sul seriale.

    1. Mauro Alfieri

      Federico, se usi un programma di esempio del mio blog puoi citare solo l’articolo, in ogni caso è vietato, come sai, incollare codice nei commenti.
      Se non vedi comandi dal cellulare e l’associazione è avvenuta verifica che Tx ed Rx siano correttamente connessi ai pin definiti nello sketch.
      Ricorda che:
      Bluetooth Tx –> Arduino Rx ( 8 )
      Bluetooth Rx –> Arduino Tx ( 7 )
      Infine verifica che il modulo stia comunicando a 9600 a volte questi moduli vengono preimpostati a 57600.

      1. federico

        Tx al pin 8; Rx al pin 7 e comunicazione a 9600.Pero’ tutto negativo

        1. Mauro Alfieri

          Ciao Federico,
          intendi Tx del BT al pin 8 arduino e Rx del BT al pin 7 arduino, giusto ?
          La velocità di comunicazione del modulo bluetooth sei certo che sia 9600 ? L’hai verificata con altri sketch ? A volte ho trovato moduli a 57600.
          Ultimo test riguarda il telefono, si collega al BT ?

          1. federico

            Ciao Mauro,certo che si collega al BT e che la velocita’ e’ 9600

          2. Mauro Alfieri

            Ok Federico,
            scusa se a volte vi chiedo cose scontate ma io non ho il vostro prototipo in mano e cerco di fare dei semplici controlli per capire dove possa esistere il problema.
            Che App stai usando ? Quella suggerita da Daniele ? Hai verificato che comandi invia allo sketch?

  29. Paolo Cicale

    Ciao mauro complimenti a entrambi per l’ottimo lavoro.
    Ho provato a realizzare questa ciabatta usando i seguenti componenti
    Arduino uno
    Modulo 4 relè
    Display 16×2 con ic2 integrato
    Rtc ds1302
    Bluetooth hc-5
    non riesco a capire perche mi da errore durante la verifica del tuo sketch! mi esce sembre:

    Arduino:1.8.3 (Windows 8.1), Scheda:”Arduino/Genuino Uno”

    C:\Users\Nicola Cicale\Desktop\clemen\File sorgente e librerie\ciabatta_bt_BUG_FIX\ciabatta_bt_BUG_FIX.ino:16:20: fatal error: RTClib.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Errore durante la compilazione per la scheda Arduino/Genuino Uno.

    Questo report potrebbe essere più ricco di informazioni abilitando l’opzione
    “Mostra un output dettagliato durante la compilazione”
    in “File -> Impostazioni”

    1. Mauro Alfieri

      Ciao Paolo,
      l’errore è chiaro: RTClib.h: No such file or directory sopratutto visto che userai la 1302 al posto della 1307 dovrai adattare il codice e sostituire la libreria.

  30. andrea

    Ciao Mauro,
    i collegamenti sono corretti al 100% sia dei pin bt sia dei relè e arduino, tutto è perfettamente uguale allo schema di Daniele nel suo sito tranne la modifica dei pin bt che ho modificato come consigliato. Nel monitor seriale non vedo assolutamente nulla e non capisco da cosa venga questo problema, ho provato ad aprire un esempio mi sembra era comunication -> graph e aprendo il monitor seriale riuscivo a vedere tutte le scritte. Aiutami tu non mi voglio arrendere

    1. Mauro Alfieri

      Ciao Andrea,
      se usi un esempio per il BT funziona? vedi arrivare i valori corretti che invii da cellulare?

      1. andrea

        No Mauro avevo già provato collegando arduino con solo modulo bt e usando uno sketch idoneo, tramite L app per cellulare non veniva alcuna scritta… anche se veniva riconosciuto e associato correttamente

        1. Mauro Alfieri

          Ciao Andrea,
          non appariva alcuna scritta in quanto non erano presenti dei Serial.print nello sketch o per quale altro motivo?

          1. andrea

            Ciao,
            I serialprint c’erano in ogni sketch che ho provato compreso il vostro ma.. niente, L unica volta in cui ho visto comparire scritte nel monitor è quando ho usato L esempio comunication -> Graph, e quando ho caricato questo sketch le scritte nel monitor erano presenti. Può darsi che il problema sia arduino stesso? Confesso che non è uno originale, ma anche Daniele se non ricordo male era uno compatibile

          2. Mauro Alfieri

            Ciao Andrea,
            io consiglio sempre di usare Arduino originali per escludere errori che possano essere di difficile interpretazione, anche se in questo caso non penso possa dipendere a questo.
            L’esempio che stai citando non ha nulla a che vedere con il Bluetooth, pertanto non ci aiuta a capire nulla.
            Usando il mio esempio se il telefono si collega al bluetooth ma non invia le lettere previste ( leggi lo sketch ) non vedi nulla sul monitor seriale ed è certamente la causa del tuo non funzionamento.

          3. andrea

            In conclusione, il problema potrebbe essere il cellulare?

          4. Mauro Alfieri

            Ciao Andrea,
            non penso il cellulare, al massimo l’app che stai utilizzando, prova a farti scrivere sul monitor seriale tutto quello che il cellulare invia e verifica che coincida con quello che lo sketch si aspetta.

  31. federico

    L’App e’ la stessa di Daniele

    1. Mauro Alfieri

      Ottimo,
      che comandi invia allo sketch?

  32. andrea

    Ciao Mauro,
    niente da fare sul monitor serale se invio comandi, non funziona, se provo col cellulare, non invia nessun comando..ho fatto una ricerca su internet e devo dire che, usando questo sketch ( spero posso lasciarti almeno il link) http://www.wikiinfo.net/t2802-guida-per-utilizzare-arduino-bt-control-v1-2 i relè si spengono e accendono senza problemi attraverso il cellulare. alla fine penso che dovrò utilizzare questo sketch purtroppo(dopo tantissimi tentativi)… l unico problema è che quello sketch non ha la funzione per far funzionare il display ma mi dovrò accontentare ormai. Volevo sapere cosa ne pensavi.

    1. andrea

      Ascolta io i collegamenti li ho fatti benissimo come nello schema e ho eseguito tutto quello che andava fatto comprando materiali come descritti e non diversi,come penso anche tu Federico e non capisco perché a noi non va il progetto, stranissima questa cosa.. io mi accontenterò dello sketch di poderak altrimenti potrei buttare tutti i materiali nel cestino!

      1. Mauro Alfieri

        Ciao Andrea,
        se vuoi aggiungere il display puoi farlo usando solo le parti sw del display ed aggiungendole allo sketch che ti funziona.

    2. Mauro Alfieri

      Ciao Andrea,
      ora, forse, ho capito cosa stai facendo, nel link che mi hai inviato il Bluetooth è connesso ai pin 0 ed 1.
      Se con quello sketch ti funziona e con il mio no è perché nel mio devi collegare i pin del bluetooth ai pin 7 ed 8 ( vedi figura dei collegamenti ) ed usare la software serial, se colleghi il bluetooth ai pin 0 ed 1 ed usi il mio sketch non riceverai nulla sul monitor seriale.

      1. andrea

        Ciao Mauro,

        ho provato sia con i pin 0 e 1 usando lo sketch di Daniele ovviamente è usando i pin 7 e 8 con il tuo sketch.. risultato negativo purtroppo. I collegamenti come avevo detto sono fatti bene, il problema è un altro e sembra essere invisibile

        1. Mauro Alfieri

          Ciao Andrea,
          in pratica ti funziona solo con lo sketch originale dello sviluppatore dell’App e collegando il BT ai pin 0 ed 1, ogni atro tentativo di sketch non ti funziona?
          Potresti provare ad aggiungere la libreria SoftSerial al codice originale e provare a collegare il modulo sui pin 7 ed 8 per verificare che non ci sia una incompatibilità tra la libreria ed il tuo modulo, mi sembra strano, tuttavia non riesco ad immaginare altri scenari in questo momento.

          1. andrea

            Ciao Mauro,
            avevo già provato altri sketch mentre cercavo di risolvere il problema con te e fino a prima, tutto inutile.
            sembra essere come dici tu, funziona solo con sketch originale e app originale infatti, provando altre app diverse, non riesco a comandare i relè(usando sempre lo sketch di poderak). se provo ad “#includere” il software serial il risultato è negativo mi da questo errore durante il caricamento: avrdude: stk500_getsync() : not in sync: resp= 0x00, ho provato anche a staccare l alimentazione come suggeriva Daniele ma da comunque questo errore

          2. Mauro Alfieri

            Ciao Andrea,
            se il conflitto è sulla SoftwareSerial devi risolvere quello, il mio sketch funziona solo con tale library perchè usa i pin 7 ed 8 e non 0 ed 1.
            Sei certo ce quando colleghi il modulo al 7 ed 8 ti dia quell’errore? Sembra legato alla doppia connessione su 0 ed 1 del modulo bluetooth e di arduino.

  33. federico

    Un ringraziamento va a Mauro,che con tanta pazienza ci sta assistendo sino all’inverosimile.Dobbiamo riprovare finche’ il progetto funzioni.

    1. Mauro Alfieri

      Grazie Federico

      1. federico

        Ciao Mauro,voglio essere ancora piu’ sintetico,perche’ e’ l’unico dubbio che ho.Le alimentazioni tra :rele’,modulo bluetooth e modulo rtc che vanno all’uscita alimentazione arduino 5v in modo pratico come posso effettuarle senza fare derivazioni ,come da schema di Daniele?.Ho usato un alimentatore 5v 0,4 ampere.Grazie e aspetto tue notizie

        1. Mauro Alfieri

          Si Federico,
          puoi usare lo schema pubblicato da Daniele: Schema Ciabatta di Daniele Tartaglia

          1. federico

            E l’alimentatore 5v 0,4 ampere va bene?

          2. Mauro Alfieri

            Ciao Federico,
            ti consiglio di utilizzare almeno 1A o 1,5A perché sia il modulo relé sia il bluetooth richiedono più corrente per funzionare in modo corretto.

  34. federico

    Ciao Mauro ci siamo sentiti tempo fa .Adesso ripropongo il quesito con la speranza di avere una risposta.Quando provo lo sketch con RTC ds 1307 e lcd e nient’altro collegato ,sul display mi appare il numero 1 e il disegno delle quattro prese o lampade quelle che sono.L’orario e la scritta “ciabatta v1” niente.Se scollego RTC e lascio collegato il solo LCD ,rimane sempre il numero 1 ed il disegno delle quattro prese o lampade.Ho rivisto moltissime volte i collegamenti e tutto quanto ,ed e’ tutto ok.Cosa devo fare?Grazie.

    1. Mauro Alfieri

      Ciao Federico,
      se copn o senza RTC non cambia nulla direi che l’errore è lui, del resto è quello che visualizza l’orario ed il fatto che esca solo 1 e non l’orario mi fa pensare subito ad un mancato collegamento o pezzo difettoso o chip differente.
      Verifica che tu abbia un DS1307 come RTC e che da solo funzioni con uno dei miei sketch sul blog dedicati a questo integrato.

  35. federico

    Si da solo funziona con i tuoi sketch ed anche altri presi dal web.Addirittura ne ho comperato un alro ed e’ la stessa cosa

    1. Mauro Alfieri

      Ciao Federico,
      se l’RTC funziona prova ad aggiungere il solo display e verificare che tu riesca a visualizzare l’ora e la data, senza la relè shield, solo RTC+LCD IIC ed usando uno sketch scritto da te.

  36. federico

    Ciao Mauro ho provato il tuo sketch senza display RTC DS1307 con arduino e leggo perfettamente sul monitor seriale.Poi ho provato RTC shield DS1307: impostare data e ora pur compilando bene sul display non appare nulla.Per me e’ una questione di Libreria.Per altri esempi del web con I2C va benissimo ; con liquidCrystal.h non vanno.Cosa fare? Ciao

    1. Mauro Alfieri

      Ciao Federico,
      LiquidCrystl.h non è corretta perché usando un display I2C dovresti usare la LiquidCrystal_I2C.h
      In ogni caso, presuppongo sia solo un problema di copia e incolla nel commento se il display funziona, che libtreria RTC utilizzi?

  37. federico

    La libreria che uso per RTC e’ RTClib.h

    1. Mauro Alfieri

      Ciao Federico, ne esistono di molti autori, tu quale utilizzi?

  38. federico

    Allora Mauro dimmi tu quella che devo usare

    1. Mauro Alfieri

      Ciao Federico,
      appena riesco ad accedere allo sketch ti invierò il nome dell’autore.

  39. federico

    aspetto

    1. Mauro Alfieri

      Ciao Federico,
      ne mio Arduino IDE 1.8.3 ne ho caricate due:
      1. RTClib by Adafruit v.1.2.0
      2. RTCLib by NeiroN v. 1.5.4

      Provale entrambe

  40. federico

    Ciao Mauro, ho installato la libreria RTClib by Adafruit v.1.2.0 e cambiando 0x3F con 0x27, mi scrive Ciabatta V2 l’urario funziona normalmente e vengono visualizzate le 4 lampadine sul display.Adesso credo proprio che abbiamo risolto il problema .Grazie tante Mauro,sei stato paziente e comprensivo.Ciao

    1. Mauro Alfieri

      Ottimo Federico,
      chi ci mette impegno viene sempre ricompensato dall’elettronica 🙂

  41. federico

    ok!!!!

  42. Andrea

    Attenzione a come collegate rx e tx. Secondo la libreria la dichiarazione dell’oggetto deve essere fatta così:
    SoftwareSerial mySerial (rxPin, txPin);
    Probabilmente per chi non è pratico è più comodo come ha fatto Mauro ma per altri potrebbe far confusione. Praticamente come ha fatto Mauro bisogna collegare così:
    HC06 TX –> Arduino TX
    HC06 RX –> Arduino RX

    è già stato detto nei commenti ma visto mai qualcuni commenta senza leggere tutto.

    1. Mauro Alfieri

      Ciao Andrea,
      grazie per la precisazione ovvia a qualcuno potrebbe servire.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>