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.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

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

255 commenti

Vai al modulo dei commenti

    • Domenico il 16 Aprile 2017 alle 22:39
    • Rispondi

    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. 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

    • Domenico il 18 Aprile 2017 alle 14:12
    • Rispondi

    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 .

    • Domenico il 19 Aprile 2017 alle 10:35
    • Rispondi

    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. 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.

    • Domenico il 20 Aprile 2017 alle 10:45
    • Rispondi

    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. 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.

    • Domenico il 20 Aprile 2017 alle 13:05
    • Rispondi

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

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

    • stefano il 26 Aprile 2017 alle 00:45
    • Rispondi

    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. 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.

    • Diego il 28 Aprile 2017 alle 02:49
    • Rispondi

    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. Ciao Diego,
      tecnicamente è possibile, dovrai riscriverti il codice partendo da questo progetto o dall’altro di Daniele per fondere i controlli e le periferiche.

    • Omar il 5 Maggio 2017 alle 18:44
    • Rispondi

    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. 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.

        • Omar il 18 Maggio 2017 alle 18:52
        • Rispondi

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

        1. Bene Omar

  1. 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. 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.

        • ion il 11 Maggio 2017 alle 10:53
        • Rispondi

        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. Bene Ion,
          sono certo che tu sia diventato più bravo con arduino ora che hai imparato a leggere e comprendere gli errori.

    • Omar il 18 Maggio 2017 alle 18:20
    • Rispondi

    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. Ciao Omar,
      è il messaggio che tutto è andato a buon fine.
      Gli errori sono evidenziati in arancione.

    • Andrea il 18 Maggio 2017 alle 18:53
    • Rispondi

    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. Ciao Andrea,
      senza conoscere l’errore è impossibile.
      L’arduino è originale ?

    • Simone il 19 Maggio 2017 alle 11:10
    • Rispondi

    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. 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.

    • Simone il 23 Maggio 2017 alle 13:13
    • Rispondi

    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. 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.

    • Simone il 27 Maggio 2017 alle 16:46
    • Rispondi

    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. 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?

  2. 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. 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. provero’,pero’ come mai agendo sullo smartphon per aceendere e spegnere i led non succede nulla (non si eccitano i rele’?.Grazie

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

  3. 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. 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.

  4. 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. 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. ok grazie,spero di riuscirci

        1. 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. 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. Ottimo Federico,
            che intendi per i 4 caratteri?

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

          4. 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. 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.

    • Alfonso il 6 Giugno 2017 alle 13:53
    • Rispondi

    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. 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.

        • Alfonso il 7 Giugno 2017 alle 19:07
        • Rispondi

        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. 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.

            • Alfonso il 8 Giugno 2017 alle 11:40

            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à

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

    • andrea il 6 Giugno 2017 alle 16:08
    • Rispondi

    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. 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.

        • andrea il 15 Giugno 2017 alle 14:35
        • Rispondi

        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. 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?

            • andrea il 18 Giugno 2017 alle 18:32

            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.

          1. 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.

  5. 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. Ciao Federico,
      sembra ancora un problema di RTC.
      Prova l’RTC da solo, poi prova L’LCD da solo.

      1. 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. Ciao Federico,
          ma il Serial.print(“Miki”) ti mostra la scritta “Miki” o si ferma prima?

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

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

  6. 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. 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. 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. 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. si ho messo un 9 e scorreva all’infinito

          2. 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.

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

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

  8. il bluetooth viene si abilita ma non riceve alcunche’

    1. Ciao Federico,
      hai installato l’App ?

  9. 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. 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.

    • andrea il 18 Giugno 2017 alle 21:27
    • Rispondi

    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. 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. Ciao Federico,
        sono contento che tu non ti sia arreso.

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

        • andrea il 19 Giugno 2017 alle 15:04
        • Rispondi

        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?

          • andrea il 19 Giugno 2017 alle 15:49
          • Rispondi

          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. Ciao Andrea,
            non ho capito

        1. 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.

    • andrea il 19 Giugno 2017 alle 01:54
    • Rispondi

    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. A me sul display compaiono solo le 4 lampadine ed il n.1.Cosa posso fare

      1. scusami Andrea che alimentatore hai usato:le caratteristiche.Grazie

          • andrea il 19 Giugno 2017 alle 15:10
          • Rispondi

          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. 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. Grazie Andrea,
            valuta di utilizzare un alimentatore perché le batterie potrebbero durare poco e rendere la ciabatta inutilizzabile velocemente.

      2. 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. Grazie Andrea per il contributo !!!

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

      • andrea il 19 Giugno 2017 alle 16:26
      • Rispondi

      Assolutamente si ordinati dalla Cina 80 pz

      1. 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.

    1. 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.

        • andrea il 19 Giugno 2017 alle 20:26
        • Rispondi

        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. Esattamente queste cose capitano anche a me

          1. 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. Ciao Andrea,
          nel monitor seriale cosa leggi quando invii i comandi dallo smartphone?

            • andrea il 20 Giugno 2017 alle 17:05

            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 🙁

          1. 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

            • andrea il 21 Giugno 2017 alle 15:44

            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..

          2. 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.

            • andrea il 21 Giugno 2017 alle 15:45

            Modulo Bluetooth* scusami

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

            • andrea il 23 Giugno 2017 alle 22:07

            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à 🙂

  11. 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. 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. Tx al pin 8; Rx al pin 7 e comunicazione a 9600.Pero’ tutto negativo

        1. 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. Ciao Mauro,certo che si collega al BT e che la velocita’ e’ 9600

          2. 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?

  12. 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. 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.

    • andrea il 29 Giugno 2017 alle 15:26
    • Rispondi

    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. Ciao Andrea,
      se usi un esempio per il BT funziona? vedi arrivare i valori corretti che invii da cellulare?

        • andrea il 29 Giugno 2017 alle 16:07
        • Rispondi

        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. Ciao Andrea,
          non appariva alcuna scritta in quanto non erano presenti dei Serial.print nello sketch o per quale altro motivo?

            • andrea il 30 Giugno 2017 alle 15:36

            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

          1. 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.

            • andrea il 30 Giugno 2017 alle 16:40

            In conclusione, il problema potrebbe essere il cellulare?

          2. 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.

  13. L’App e’ la stessa di Daniele

    1. Ottimo,
      che comandi invia allo sketch?

    • andrea il 5 Luglio 2017 alle 12:41
    • Rispondi

    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.

      • andrea il 5 Luglio 2017 alle 21:05
      • Rispondi

      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. Ciao Andrea,
        se vuoi aggiungere il display puoi farlo usando solo le parti sw del display ed aggiungendole allo sketch che ti funziona.

    1. 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.

        • andrea il 6 Luglio 2017 alle 18:15
        • Rispondi

        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. 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.

            • andrea il 7 Luglio 2017 alle 12:19

            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

          1. 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.

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

    1. Grazie Federico

        • federico il 16 Luglio 2017 alle 11:10
        • Rispondi

        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. Si Federico,
          puoi usare lo schema pubblicato da Daniele: Schema Ciabatta di Daniele Tartaglia

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

          2. 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.

  15. 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. 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.

  16. 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. 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.

  17. 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. 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?

  18. La libreria che uso per RTC e’ RTClib.h

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

  19. Allora Mauro dimmi tu quella che devo usare

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

  20. aspetto

    1. 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

  21. 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. Ottimo Federico,
      chi ci mette impegno viene sempre ricompensato dall’elettronica 🙂

  22. ok!!!!

    • Andrea il 26 Agosto 2017 alle 02:05
    • Rispondi

    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. Ciao Andrea,
      grazie per la precisazione ovvia a qualcuno potrebbe servire.

  23. ciao mauro mi potresti dire per favore come si include la librerie ?

    1. Ciao Daniele,
      le librerie si includono con #include come vedi nello sketch.
      Se ti riferisci a come si installa una libreria ti consiglio la lettura del corso gratuito arduino on-line raggiungibile dal menu in alto.

    • Eldux il 13 Novembre 2017 alle 11:28
    • Rispondi

    Ciao Mauro, io avrei un modulo rtc DS1 302, per poterlo collegare all’arduino:
    1) devo modificare lo sketch?
    2) come dovrei collegarlo?
    Grazie in anticipo!

    1. Ciao Eldux,
      non concosco il DS1302, non l’ho mai testato, prova a cercare sul web chi lo fa e ti spiega come collegarlo e che librerie usare.
      Dovrai modificare anche lo sketch, certamente nell’inclusione della libreria e poi verificare i metodi che ti mette a disposizione la nuova libreria.

    • David Vescovini il 6 Dicembre 2017 alle 12:48
    • Rispondi

    ciao Mauro,
    io e mio figlio abbiamo visto il video della ciabatta Arduino. Siamo molto interessati a costruirla.
    avrei bisogno, se possibile, dell’elenco completo dei materiali elettrici utilizzati e del disegno elettronico per il progetto di mio figlio.

    1. Ciao David,
      trovi tutte le info nel mio articolo e nelle pagine del sito di Daniele.

    • carmine il 20 Dicembre 2017 alle 11:42
    • Rispondi

    salve vorrei sostituire al display lcd un utft vorrei sapere cosa cambiera nel mio programma e se percaso potresti aiutarmi a capire cosa e come cambiarlo

    1. Ciao Carmine,
      dipende tanto dal display che decidi di utilizzare. Probabilmente dovrai cambiare tutte le routine di scrittura sul display che diventeranno grafiche e non testuali.

    • claudio il 7 Gennaio 2018 alle 02:20
    • Rispondi

    Ciao mauro, per errore ho acquistato un HM-10 invece di un HC-05 mi potresti gentilmente dire come posso adattare il codice a questo componente ?

    1. Ciao Claudio,
      purtroppo non conosco il componete HM-10 per cui ti consiglio di chiedere al produttore od al venditore.

        • claudio il 9 Gennaio 2018 alle 17:39
        • Rispondi

        va bene, ti ringrazio lo stesso

    • renato il 3 Febbraio 2018 alle 13:32
    • Rispondi

    Ciao mauro, potresti dirmi la sigla esatta del modulo AC-DC che hai usato per alimentare la ciabatta?

    1. Ciao Renato,
      sul sito di Daniele dovrebbe esserci pubblicata la lista dei materiali, incluso il modulo che ti occorre.

    • David il 24 Febbraio 2018 alle 11:52
    • Rispondi

    ciao Mauro,
    vorrei sapere se è possibile, avere più dettagli su come inserire i file Sketch o altro, non vorrei fare errori. Dove li trovi, e se è un file che si installa automaticamente.
    Grazie

    1. Ciao David,
      ti consiglio la lettura di un corso base arduino anche solo per iniziare a comprendere come funziona quello che desideri realizzare.
      Da come scrivi sembra che tu non abbia neppure mai provato a realizzare il blink del led sul pin 13.
      Trovi il mio corso arduino on-line gratuito su questo blog.

    • Enrico castro il 25 Febbraio 2018 alle 10:05
    • Rispondi

    Ciao, vorrei riprodurre questa ciabatta per portarla agli esami. Mi può assicurare che il programma funzioni correttamente affinché funzioni tutto alla perfezione? E poi le volevo chiede perché quando porto il programma su Arduino è scaricato le varie librerie quando lo vado a verificare mi dice che il caricamento non è andato a termine?

    1. Ciao Enrico,
      se è un progetto d’esame ti invito a studiarlo e comprenderne le potenzialità ma anche le parti che non dovessero funzionare ed adattarle al tuo progetto.
      La base delle domande da cui parti mi fa capire che ne sai davvero poco di arduino e quindi ti invito alla lettura di un corso base on-line, anche quello gratuito sul mio blog è sufficiente, prima di sperimentare un progetto complesso come questo.
      Ti esorto anche ad ampliarlo e modificarlo in quanto i professori conoscono tutti i miei progetti in quanto pubblici e sapranno certamente riconoscerlo.

        • Enrico castro il 27 Febbraio 2018 alle 19:08
        • Rispondi

        Qualche cosa di Arduino la mangio infatti molte parti del programma le capisco, io già ho preso tutti i componenti per procede, ho pure provveduto a vedere l’indirizzo del display che alla fine combacia con quello usato da voi cioè (3f).Il problema è che non mi verifica il programma e non capisco il motivo perché altri programmi li verifica senza problemi. Grazie per il consiglio darò un occhiata per capire di più.

        1. Ciao Enrico,
          si ferma in fase di compilazione o ti da degli errori ?
          Nel secondo caso puoi incollare l’errore nei commenti e cercherò di interpretarlo se ti può essere utile.

            • Enrico castro il 5 Marzo 2018 alle 09:35

            Nono tutto risolto.
            Dopo un po’ di tentativi sono riuscito a capire che c’era che non andava. Grazie mille

          1. Ciao Enrico,
            se puoi e vuoi condividere la tua esperienza con un commento aiuterai di certo altri che dovessero trovarsi nella tua situazione.
            Il bello di essere maker è condividere quello che realizziamo.

    • leonardo il 28 Febbraio 2018 alle 19:08
    • Rispondi

    salve buonasera volevo sapere i materiali per fare il progetto

    1. Ciao Leonardo,
      li trovi nell’articolo di Daniele sul suo sito/video che è linkato in questo articolo.

    • David il 17 Marzo 2018 alle 22:29
    • Rispondi

    ciao Mauro ho installato lo sketch che è scritto sopra, mi da questo errore.
    puoi aiutarmi?

    Arduino:1.6.7 (Windows 7), Scheda:”Arduino/Genuino Uno”

    ATTENZIONE: Cartella spuria .github nella libreria ‘RTClib’

    Lo sketch usa 9.894 byte (30%) dello spazio disponibile per i programmi. Il massimo è 32.256 byte.
    Le variabili globali usano 781 byte (38%) di memoria dinamica, lasciando altri 1.267 byte liberi per le variabili locali. Il massimo è 2.048 byte.
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe6
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe6
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe6
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe6
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe6
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe6
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe6
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe6
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe6
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe6
    Problema di caricamento sulla scheda. Guarda http://www.arduino.cc/en/Guide/Troubleshooting#upload per suggerimenti

    Questo report potrebbe essere più ricco di informazioni con
    “Mostra un output dettagliato durante la compilazione”
    abilitato in “File > Impostazioni”

    1. Ciao David,
      sembra un problema di comunicazione con la scheda Arduino.
      Prova a cambiare la porta usb a cui lo hai connesso e a selezionarla come ti dice in fondo al messaggio.

    • David il 17 Marzo 2018 alle 22:48
    • Rispondi

    risolto ho cambiato porta e lo ha installato

    1. Bene

    • David il 20 Marzo 2018 alle 11:14
    • Rispondi

    scusa mauro un’ultima cosa. io ho acquistato la scheda arduino uno (ELEGOO UNO R3 colore nero) non ho trovato quella uguale utilizzata da Daniele. i connettori pin sono messi uguali, ma la componentistica elettronica è un po diversa. E’ solo un’altra marca, ho c’è qualcosa devo cambiare nelle impostazioni del codice?
    scusa la mia insistenza ma mi piace troppo questo progetto.
    complimenti a tutti e due.

    1. Ciao David,
      probabilmente è un clone, controlla bene sul sito del produttore o del venditore le differenze con la Arduino Uno originale.

        • David il 23 Marzo 2018 alle 11:01
        • Rispondi

        [[ commento rimosso perché non rispetta le regole del Blog ]]

        1. Ciao David,
          rispetta, per favore le regole del Blog e scrivi sono informazioni che possono aiutare noi a capire il tuo problema ed a te a ricevere risposte adeguate.

    • Mosè il 20 Marzo 2018 alle 20:00
    • Rispondi

    Buona sera.
    ho letto e visto il tuo tutorial e l’idea mi intrigherebbe adattarla al mio piccolo teatro e gestire i fari con questo sistema, ma ho gli stessi fari al momento sono gestiti da un mixer luci, quindi mi chiedo … ti chiedo come posso intervenire?

    1. Ciao Mosé,
      che intervento vuoi applicare ?
      Non sono un esperto di Mix luci ma non penso che abbiano la possibilità di interagire con una connessione WiFi inviando dei comandi definiti nel codice arduino.

    • David il 21 Marzo 2018 alle 17:24
    • Rispondi

    Scusa Mauro, so che posso essere insistente ma ormai lo voglio accendere.

    Caricamento sketch
    Caricamento completato

    ATTENZIONE: Cartella spuria .github nella libreria ‘RTClib’

    il display è solo acceso senza scritte. il modulo bleutooth è connesso ma non da i comandi.

    aiutami ti prego.
    David

    1. Ciao David,
      fai del debug sul modulo RTC perché se quello non funziona il resto non va. Usa il monitor seriale aggiungendo nel codice delle righe supplementari se quelle che hai non sono sufficienti a chiarirti se il modulo funziona o meno.

    • Niko il 22 Marzo 2018 alle 01:22
    • Rispondi

    Ciao Mauro,
    mi complimento per il progetto fatto a regola d’arte.
    Mi sono permesso di apportare qualche piccola modifica montando un Lcd 20×4
    ed ho aggiunto altri 4 relè,
    quanto prima aggiungerò il modulo wi-fi.
    ho una domanda banale da porti.
    non riesco a regolare l’ora.
    puoi aiutarmi?
    grazie

    1. Ciao Niko,
      in che mo do vuoi regolarla ?

    • Niko il 22 Marzo 2018 alle 04:32
    • Rispondi

    Ancora io..
    Grazie al tuo splendido lavoro ho fatto lavorare la fantasia,
    ho aggiunto anche il sensore DHT11 , quindi sull’LCD ho anche umidità e temperatura,
    questo grazie anche al fatto che ho utilizzato un LCD 20×4.
    sto cercando di imparare dal tuo blog, ma vorrei essere già in grado di mettere in pratica tutte
    le idee.
    E pensare che fino ad un mese fa non conoscevo neanche l’esistenza di arduino.
    Grazie infinite per il tuo splendido lavoro.

    1. Grazie Niko,
      complimenti e se vorrai ripubblicare il tuo progetto leggi nella sezione “come collaborare al blog” come fare, sarò lieto di offrirti lo spazio che meriti.

    • Niko il 22 Marzo 2018 alle 16:19
    • Rispondi

    ti ringrazio infinitamente,
    mi occuperò subito di pubblicarla,
    sono felice di partecipare

    1. Grazie Niko

      • faisal il 8 Aprile 2020 alle 11:26
      • Rispondi

      Hi, Niko..can you share the program setting?

      1. Hi Faisal,
        the sketch is in the post.

    • David il 24 Marzo 2018 alle 11:51
    • Rispondi

    Ciao Mauro, FUNZIONA TUTTO A MERAVIGLIA. grazie per le dritte.
    Ammetto che ho avuto bisogno di aiuto per il codice sketch, con cui è stato fatto delle modifiche.
    ho anche inserito i cavi del modulo bleutooch sulla scheda UNO nella versione originale (0-1 anziché 7-8,) perché non funzionava.
    grazie anche a Daniele

    1. Ottimo David,
      mi hanno scritto che alcuni moduli bluetooth possono non funzionare con le seriali software, anche se a me non è mai capitato.

    • Alberto il 9 Aprile 2018 alle 03:04
    • Rispondi

    Ciao Mauro ottimo progetto!
    Quesito: se si volessero inserire dei pulsanti momentanei (che voltaggio? 3 o 5) al centro corrispondenti ad ogni presa, in modo da controllarle in locale, sarebbe possibile?
    E se sì, dove andrebbero collegati? Naturalmente penso nascano problemi sulla compatibalità, nel coesistere.
    Una volta accesa a pulsante; in remoto riconoscerà in automatico lo stato “ON” della presa stessa?
    Grazie per tutto l’aiuto e i preziosi consigli.

    1. Ciao Alberto,
      che tipo di scheda stai usando e quanti relè hai?
      La differenza tra i pin digitali della scheda e i relay puoi sapere se hai sufficienti input per aggiungere i pulsanti.
      In merito ai cambiamenti nello sketch e le modalità di funzionamento dovrai eseguirle nel tuo specifico campo applicativo.

        • Alberto il 5 Maggio 2018 alle 17:55
        • Rispondi

        Ti ringrazio per la risposta, la scheda che monterò è un’ Arduino UNO R3 , ho deciso di optare per dei pulsanti momentanei con led da 220 in modo che sarà la presa specifica a dare corrente alla luce del pulsante.
        Per quanto riguarda il consenso, pensi che io abbia entrate sufficienti con questa scheda?
        Per quanto concerna il numero dei relè 4.
        Grazie ancora!!!

        1. Ciao Alberto,
          per il numero di pin ti basta contarli, se sono solo 4 relay e 4 pulsanti occupi in tutto 8 pin digitali.

    • Fausto Baldassarre il 15 Aprile 2018 alle 08:11
    • Rispondi

    Ciao Mauro sto provando la ciabatta a me funziona tutto lunica cosa sono i relè come se non arrivasse corrente sono spenti e non danno segno di vita ho provato pure a cambiarli e ho fatto dei test con unaltro sketc e funzionano mi sapresti dare qualche dritta??

    1. Ciao Fausto,
      controlla che la logica di controllo dei relè sia la stessa, alcune schede usano logiche invertite.
      Se hai uno sketch con cui i relé funzionano prova a verificare le differenze con quello della ciabatta.

    • ciro il 16 Aprile 2018 alle 22:14
    • Rispondi

    Ciao, scrivo questo messaggio per chiederti perché dopo aver caricato lo scketch in automatico mi si attivano i rele 1 e 2 e il modulo bluethoot non risponde

    1. Ciao Ciro,
      usa il monitor seriale per comprendere cosa accade e dove il codice si blocca o se invia segnali inattesi.

    • Teddy il 17 Aprile 2018 alle 16:31
    • Rispondi

    Ciao mauro
    io ho costruito qualcosa di molto simile alla tua ciabatta, ma il mio arduino fa solo da controller per temperatura ventilazione e umidità.

    In caso di freddo accende una lampada scaldante, in caso di aria secca accende un umidificatore ed ogni tanto accende la ventola per il ricambio dell’aria

    Ti volevo chiedere tu non hai riscontrato disturbi al display?
    Infatti mi capita che dopo un po’ che accende e spegne la lampada il display inizia a dare i numeri scrivendo caratteri strani e, per riportarlo alla normalita, devo riavviare arduino…

    1. Ciao Raffaele,
      nei miei progetti con display non ho mai notato nessun disturbo o malfunzionamento.
      I miei sono acquistati da robotics-3d e marcati Adafruit, DFRobot o SeedStudio il tuo?

    • giuseppe lipani il 22 Aprile 2018 alle 11:54
    • Rispondi

    ciao mauro quando carico lo sketch devo scrivere qualcosa sullo sketch perchè non mi spunta niente sul display
    grazie in anticipo per la risposta

    1. Ciao Giuseppe,
      verifica, usando il monitor seriale, se per qualche motivo si blocchi prima di arrivare ad utilizzare l’LCD

    • isabella il 25 Giugno 2018 alle 09:41
    • Rispondi

    Ciao volevo provare a realizzare questo bellissimo progetto per ottenere una fitlight “casalinga” vorrei capire se esiste un kit Arduino che contenga tutti i componenti, inutile dire che sono alla prima esperienza.
    Grazie mille

    1. Ciao Isabella,
      carina l’idea della fitlight, non la conoscevo e mi sono documentato su internet per capire cosa fosse.
      Forse puoi chiedere a Daniele Tartaglia che ha realizzato la parte elettronica.
      Non è un progetto difficile ma richiede qualche conoscenza sopratutto per la parte dei cablaggi, lavorando con la 220v, e per la programmazione dei moduli.

      Se ho compreso bene cosa sia una fitlight potresti realizzarla con elementi in bassa tensione ( 12v o anche 5v ) così da evitare l’utilizzo di componenti e collegamenti pericolosi.

    • Marco il 25 Giugno 2018 alle 16:18
    • Rispondi

    Buongiorno,mi chiamo Marco e le vorrei farle i complimenti per il tutorial, le vorrei chiedere gentilmente alcune informazioni , sto costruendo un robot lava e aspira pavimenti, dopo tutta la costruzione meccanica, ora sono all’impianto elettronico e ho deciso di installare questo interessantissimo progetto ,dopo aver provato il circuito completamente funzionante dovrei fare un paio di modifiche circa le scritte sul display , inanzi tutto dovrei comandare solo 2 relè, eliminato il 3 e il 4 ,ora quello che vorrei fare, e non riuscendoci purtroppo, vorrei eliminare la scritta “acceso rele1,”spento rele1” ecc……. la sequenza che vorrei è la seguente:
    Accendendo il relè1: scritta “ACCESO ASP.”
    Spegnendo relè1 :scritta “SPENTO ASP.”
    Accendendo relè2 :scritta “ACCESO LAVA.”
    Spegnendo relè2 :scritta “SPENTO LAVA.”
    Spero di essere stato abbastanza chiaro,purtroppo le sto provando tutte ma senza esito ,le chiedo se potrebbe darmi una dritta per risolvere questo “problema” , la ringrazio anticipatamente.

    1. Buongiorno Marco,
      i miei tutorial sono descritti riga per riga con finalità didattica volta ad aiutare chi li legge a comprenderli e modificarli da solo.
      Se hai dubbi specifici su quanto descritto o vuoi chiarimenti in merito a qualche riga scrivimi pure quale e sarò felice di poterti aiutare chiarendotela

        • Marco il 1 Luglio 2018 alle 12:14
        • Rispondi

        Ciao Mauro,ti ringrazio per la risposta,so che hai spiegato tutto passo per passo che meglio non si poteva davvero,e che sono io un po “ignorante” circa la programmazione,volevo solo cambiare alcune scritte, riuscendoci solo nel 50% quindi non del tutto ho provato e riprovato,ma niente ,detto questo ti ringrazio di nuovo per l’attenzione e ti auguro buona domenica,ciao.

        1. Ciao Marco,
          non ho compreso quello che mi hai chiesto.

    • Andrea il 3 Luglio 2018 alle 23:27
    • Rispondi

    Ciao Maouro, ho realizzato tutto il progetto ma una sola cosa non funziona, e sto uscendo pazzo. Praticamente quando accendo la ciabatta il display visualizza solo una riga di quadrati e nulla più. I collegamenti sono giusti al 110% e sinceramente non capisco qual’è il motivo di quest errore. Il chip usato dal modulo I2C è il pcf8574t. Ho già provato a cambiare indirizzo ma nulla. Grazzie mille per il tuo aiuto

    1. Ciao Andrea,
      hai provato a regolare il contrasto del display?
      In alternativa prova ad utilizzare la libreria LiquidCrystal I2C di Marco Schwartz

    • Marco il 4 Luglio 2018 alle 11:39
    • Rispondi

    Buongiorno Mauro, grazie di nuovo per l’attenzione, ora mi spiegherò meglio(spero),nel progetto originale sul display troviamo le scritte:
    acceso relè 1: acceso relè 2, ecc….. poi spento relè 1: spento relè 2 ecc…… io vorrei sostituire queste scritte con:
    1)acceso lavaggio-spento lavaggio
    2)acceso aspiratore -spento aspiratore
    come vedi utilizzerò solo 2 relè, gli altri 2 non li collegherò,quindi dovrei far apparire queste scritte sul display tutto qui per un lavoro più “professionale”, nel provare ci sono riuscito solo in parte,ora se la cosa è complessa lascerò tutto cosi com’è, mi accontenterò ringraziandoti davvero per avermi prestato la tua attenzione.Ciao Mauro.

    1. Ciao Marco,
      puoi modificare le scritte sul display usando i metodi della libreria LiquidCrystal, se non sai come fare puoi leggere i miei articoli sull’uso dei display e della libreria.
      Fossi in te userei la prima linea per il messaggio relativo al lavaggio, es.: lavaggio: accesso/spento e la seconda linea per aspiratore: acceso/spento

    • Alex il 19 Settembre 2018 alle 16:02
    • Rispondi

    Ciao,
    potresti indicarmi un tipo di alimentatore da usare? Quelli regolabili, di solito sono presso fusi ed è complesso aprirli per prendere il circuito. Tu cosa hai usato? Grazie
    Alex

    1. Ciao Alex,
      la parte elettronica l’ha realizzata Daniele e sul suo sito dovrebbe aver pubblicato la lista dei materiali usati.
      Mauro

    • Alex il 21 Settembre 2018 alle 16:08
    • Rispondi

    Ciao, ho montato tutto e, quando accendo, si accende il display correttamente, segnando l’ora! Il modulo bluetooth si connette correttamente al cellulare, ma è il modulo relè non funziona. Non da proprio segni di vita!
    Cosa posso controllare per capire cosa ho sbagliato e/o cosa ho rotto?

    Ho saldato i led esterni al poto di quelli sul modulo relè, che ho accuratamente dissaldato, e ho rispettato la polarità, ma leggevo che se c’è qualcosa che non va con i led, il canale relè non funziona!

    Hai qualche suggerimento da darmi?

    1. Ciao Alex,
      scollega momentaneamente i relay e collega semplicemente i led per controllare che siano normalmente accesi o spenti e che vari il loro stato quando invii un comando.

    • Alex il 21 Settembre 2018 alle 16:51
    • Rispondi

    Ho scollegato i relè, ma i led non si accendono lo stesso! Eppure sono più che certo che la prima volta che ho uplodato il codice, ho sentito un rumorino dei relè… boooh… forse si è bruciato il modulo??

    p.s.
    non cambiano nemmeno le lampadine sul dispaly… restano sempre vuote diciamo…

    • Alex il 21 Settembre 2018 alle 17:45
    • Rispondi

    Funziona tutto! Avevo invertito i pin del modulo bluetooth ehehehheehh

    1. Ottimo Alex, c’è sempre grande soddisfazione quando risolvi il problema da solo 🙂

    • Alberto il 13 Febbraio 2019 alle 15:03
    • Rispondi

    Ciao Mauro ti seguo sempre e tutto quello che ci regali è estremamente formativo.
    Ho realizzato questo progetto inserendo 4 pulsanti momentanei al fine di soddisfare alcune esigenze personali, adesso nasce la necessità di interfacciare questa ciabatta ad alexa, al fine di comandare i relè tramite comando vocale.
    Ho ordinato un modulo esp 12e seriale con 4 Pin tx rx vcc gnd, ho caricato il firmware tasmota, ma adesso non so più come procedere… Come faccio a dare l’input ai relè passando per l’UNO?
    Grazie di tutto!!!

    1. Ciao Alberto,
      giusto oggi ho pubblicato un articolo che puoi leggere e comprendere per realizzare quello che desideri.

        • Alberto il 13 Febbraio 2019 alle 22:40
        • Rispondi

        Carissimo Mauro ti ringrazio per la pronta risposta.
        A livello teorico mi è piuttosto chiaro l’uso e la configurazione ad uso singolo dell’esp 8266.
        Quello che non mi è chiaro, è come configurare l’UNO e cosa cambia a livello sketch, al fine di far comunicare correttamente esp ai relè.
        Perché per quanto visto in queste settimane utilizzare l’esp in maniera singola risulta molto più immediato.
        Grazie mille ancora!!!!

        1. Ciao Alberto,
          io ti consiglio di comprendere entrambi i progetti e di realizzare tutto con la ESP8266 sia per la gestione della ciabatta sia per il controllo con Alexa, lo sketch sarà un po’ lungo e articolato ma il risultato è certamente più soddisfacente.
          Inoltre con un solo micro controllore è più facile inserire il tutto nella ciabatta stessa e non dovrai optoisolare due volte le uscite verso i relay.

            • Alberto il 24 Febbraio 2019 alle 16:20

            Ok, abbiamo deciso di procedere con singolo controllore.
            Siamo già a buon punto, abbiamo fatto una prova di collegamento ad alexa tramite sinric….e sembra funzionare tutto.
            Adesso il quesito che nasce è il seguente:
            I Pin basteranno a gestire tutti i moduli preesistenti ?(calcolando che altri 4 Pin accoupati, causa pulsanti).
            E a livello di alimentazione, mi consigli di sostituire l’alimentatore a 6v con uno da 5 e alimentare il NODE con un cavo usb interno alla ciabatta ?
            O mi consigli un’altra strada, è molto importante il tuo consiglio…già con il tuo primo consiglio di mantenere solo un controller, ci hai salvato da molti mAh in fumo.
            Grazie per la pazienza

          1. Ciao Alberto,
            come mai dici “abbiamo” ? plurale maestatis?
            In ogni caso il NODE MCU dovrebbe avere sufficienti ingressi/uscite.
            Si io alimenterei tutto a 5v.

    • Alberto il 25 Febbraio 2019 alle 16:55
    • Rispondi

    Non è un plurale maestatis…sapessi Mauro xD

    • Alberto il 28 Febbraio 2019 alle 01:01
    • Rispondi

    Buongiorno Mauro, controllando alcuni schemi della node mcu 8266 ho l’impressione che non abbia abbastanza gpi0.
    Non sembrano tutte atte ad input e output, è vero che ne riporta 13 ma 4 la rx, tx, sd2, sd3…ne rimangono 9.
    Noi abbiamo 4 relè, 4 pulsanti, 2 LCD rtc, 2 bt.
    Quindi 12, non conoscendo bene il modulino node, non penso si possa fare altrimenti

    1. Ciao Alberto,
      leggendo il pinout hai 17 GPIO ( IO sta per Input/Output, gli SDD possono essere usati come GPIO ed anche i MISO,MOSI, ecc ) di cui 2 seriali per cui puoi usare la seriale 2 per il bluetooth senza usare la software serial.
      Poi hai GPIO 4 e 5 per I2C verso LCF ed RTC, se la matematica non mi inganna dovrebbero rimanertene: 17 (GPIO) – 2 (I2C) – 2 (TX2/RX2) – 2 (TX1/RX1) = 11 GPIO per relè e pulsanti.
      Ho escluso la Serial1 nel conteggio per non limitarti nel debug.

    • Alberto il 3 Marzo 2019 alle 11:55
    • Rispondi

    Grazie per la risposta Mauro, il mio dubbio nasce dal fatto di aver letto che non tutte le rimanenti 11 uscite sono atte ad alcune funzioni:
    digitalWrite did NOT work with GPIOs 6, 7, 8, 11, and ADC (A0)
    digitalRead did NOT work with GPIOs 1, 3, 6, 7, 8, 11, and the ADC (A0)
    analogWrite did NOT work with GPIOs 6, 7, 8, 11, and ADC (A0) (GPIOs 4, 12, 14, 15 have hardware PWM, and the others are by software)
    analogRead worked only with the ADC (A0)
    6, 7, 8, 11 do NOT work for the above four commands.
    Preso atto di questo, sembrerebbe mancare comunque un gpio.
    Grazie ancora!

    1. Ciao Alberto,
      purtroppo l’informazione che mi hai scritto mi è nuova, sei sicuro che non si riferisca a qualche firmware beta o iniziale?
      Io farei dei test prima di darla per assodata.
      In ogni caso potresti collegare i 4 pulsanti in serie a delle resistenze e leggerli tutti dall’unico ADC ( A0 ) risparmiando 4 pin e sfruttando la caratteristica dell’ADC stesso, trovi tra i miei articoli descritto questo metodo.
      A questo punto per i 4 relay potrai usare i pin restanti ed il progetto è fatto 🙂

    • cesare il 13 Marzo 2019 alle 09:37
    • Rispondi

    Buongiorno Mauro,
    volevo dirti che ho provato a fare lo sketch che hai pubblicato
    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();
    }
    a function-definition is not allowed here before ‘}’ token

    1. Ciao Cesare,
      ho appena provato a compilare lo sketch pubblicato senza ottenere errori.
      Controlla che nel copia e incolla tu non abbia omesso qualche parentesi e che tutte le librerie necessarie siano installate correttamente.

    • marco il 23 Marzo 2019 alle 17:34
    • Rispondi

    salve Mauro sono un ragazzo che tiene un parcheggio di camper e vorrei sapere come posso modificare il progetto della ciabatta domotica per far attivare presa per presa con rfid codififato con ogni scheda attiva una singola uscita / rele` grazie e complimenti per il tutorial

    1. Ciao Marco,
      ho scritto una serie di tutorial dedicati all’argomento RFID con differenti shield da cui puoi partire per modificare questo progetto.
      Se desideri un progetto su commissione puoi leggere nella sezione “collabora al blog” per conoscere i dettagli.

    • Nicola il 2 Aprile 2019 alle 21:07
    • Rispondi

    Ciao Mauro sono Nicola,
    Se volessi fare una ciabatta con 8 prese che linee di programma dovrei cambiare e/o aggiungere? Grazie

    1. Ciao Nicola,
      leggendo e comprendendo lo sketch potrai modificare/aggiungere tutte prese che desideri.

    • BrunoGiovanni Carenini il 17 Dicembre 2019 alle 22:13
    • Rispondi

    Ciao
    Prendendo spunto da questo progetto vorrei realizzare una ciabatta avente punti presa con attivazione/disattivazione temporizzata di ogni singola presa – mi basterebbe con on/off anche solo ogni 15 minuti ma ripetibili più volte nel corso delle 24 ore
    Mi servirebbero 8 punti presa di cui almeno 6 sotto controllo del timer

    La cosa è fattibile?

    Grazie mille e buna serata

    1. Ciao Bruno,
      certamente si, puoi prendere spunto dai tutorial sulle centraline di irrigazione o un allarme, sono tutti esempi validi di codice che puoi modificare a tuo piacimento per il progetto che desideri realizzare.

    • Gurman il 3 Settembre 2020 alle 13:53
    • Rispondi

    Ciao Mauro,
    complimenti a te e a Daniele per il progetto molto interessante.
    Quando compilo lo sketch non mi da nessun errore ma dopo il display non funziona e i relè si accendono da soli senza un motivo.

    1. Ciao Gurman,
      sembra un problema di collegamenti e/o di driver per il display, hai provato dal monitor seriale a controllare in che fase lo sketch si blocca o restituisce degli errori?

    • Gurman il 7 Novembre 2020 alle 19:38
    • Rispondi

    Ciao Mauro,
    volevo chiederti perchè ogni volta che accendo la ciabatta si accendo automaticamente i relè?
    Gurman

    1. Ciao Gurman,
      nel setup dello sketch io imposto ad HIGH ( linee 60-63 ) tutti i relay in fase di start.
      L’obiettivo è di spegnerli all’avvio ma potresti avere dei relay che si eccitano con il segnale HIGH e quindi va impostato a LOW, purtroppo dipende dai moduli relay che usi, i miei funzionano in modo che HIGH li accende e LOW li spegne, i tuoi forse al contrario.

    • Gabriele il 6 Novembre 2021 alle 17:42
    • Rispondi

    Ciao Mauro, ho provato a realizzare la ciabatta arduino versione 2, ma dall’applicazione del cellulare mi fa inviare i comandi ma ad arduino non fa accendere i relè, premetto che il modulo a relè è funzionante, sapresti aiutarmi?
    Grazie mille

    1. Ciao Gabriele,
      prova ad inserire dei Serial.println() in corrispondenza della connessione e dei messaggi che arrivano sulla mySerial e controlla che la connessione avvenga ed i messaggi che ricevi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.