Blynk : Leggere e scrivere i valori! 4.95/5 (13)

Ti piace questo articolo? Condividilo dove vuoi!

Ciao a tutti!! 🙂 ecco un tutorial semplice semplice dedicato a Blynk. Siccome molti di voi nei commenti di Youtube (ricordiamo di iscrivervi al canale) hanno chiesto come scambiare valori tra la scheda e Blynk, vi proponiamo questi semplici passaggi dove viene spiegato in modo semplice e veloce!

Presumendo che voi abbiate già creato il vostro progetto, possiamo procedere!

Leggere un valore da un pin e inviarlo a Blynk

La prima cosa che proviamo a fare è leggere un valore dalla nostra scheda, che sia esso lo stato di un pin o il valore di un sensore il procedimento è lo stesso.

Andiamo a inserire nel nostro progetto di Blynk un labeled value che ci permetterà di visualizzare il valore del pin :

E poi impostiamo l’input del labeled con il pin V0 :

Successivamente inseriamo nel nostro codice, nella funzione loop() le due istruzioni seguenti :

int sensorData = analogRead(A0);
Blynk.virtualWrite(V0, sensorData); 

Avremo quindi scritto il codice in questo modo :

Il codice leggerà il valore da A0, al quale, nel nostro caso, è collegato un fotoresistore e successivamente lo invierà a Blynk e lo mostrerà nella labeled value :

Il valore è aggiornato in tempo reale e quindi se mettiamo una mano sul fotoresistore quest’ultimo cambierà anche sull’applicazione :

Leggere lo stato di un pin

Mettiamo il caso di dover controllare lo stato di un pin della nostra scheda. La lettura dello stato può essere fatta con un codice simile al precedente ma con l’aggiunta di un if in modo tale che va a controllare se il nostro pin è impostato al valore alto (HIGH) o al valore basso (LOW) e con la necessità di dichiarare il led come WidgetLed :

Ovviamente in questo caso ricordatevi di impostare nel setup() il pin da controllare come ingresso o come uscita in base alle vostre necessità.

Nel nostro caso è un input poichè abbiamo collegato alla nostra scheda un pulsante sul pin D5.

Inseriamo nel nostro progetto di Blynk un led e impostiamo il suo pin di input su V1 :

Una volta caricato il codice sulla scheda andiamo a vedere se premendo il pulsante aziona il led :

Funziona!! Ovviamente voi potete cambiare il nome nel codice da led1 a quello che volete e non c’è bisogno di dirlo, ma lo specifichiamo uguale, il pin D5 è solo di esempio, potete creare ad ogni singolo pin un controllo e un led separato.

Inviare un valore da Blynk alla scheda

Creiamo uno slider nella nostra applicazione e impostiamo il suo pin su V2 in modo tale da scrivere su quel pin virtuale :

Adesso inseriamo nel nostro codice una funzione che ci permetterà di prendere il valore dallo slider appena creato, ogni volta che quest’ultimo cambia :

BLYNK_WRITE(V2){
   valSldier = param.asInt();
}

BLYNK_WRITE leggerà il valore proveniente dal pin virtuale V2 e lo inserirà nella variabile valSlider opportunamente dichiarata prima della funzione setup() :

Infine, per comodità, facciamo scrivere il valore sulla seriale e per verificare che tutto funzioni alla perfezione agiamo sullo slider di Blynk :

Nel monitor seriale verrà visualizzato lo stesso valore :

Anche in questo caso tutto funziona alla perfezione! Come già specificato in precedenza tutti i nomi delle variabili e la numerazione dei pin virtuali impostati in questo tutorial sono solo di esempio, voi potete cambiarli a vostro piacimento e a seconda del vostro progetto 😁

Video dedicati a Blynk

Come sempre, fateci sapere cosa ne pensate di questo tutorial e di Blynk giù nei commenti! ❤️

Valuta questo articolo, è anonimo e non richiede registrazioni!

Avatar photo

Redazione Filo Connesso

Siamo un gruppo di ragazzi appassionati di Informatica, elettronica e robotica. Abbiamo creato Filo Connesso per offrire materiale educativo e informativo dedicato ai nostri settori di interesse.


Scansiona il QRCode per leggerlo sul cellulare!

Scansiona il QRCode con la nostra applicazione ufficiale per leggere l'articolo sul tuo smartphone Android! Scarica l'ultima versione


SPONSORIZZATO

Potrebbero interessarti anche...

7 risposte

  1. claudio papei ha detto:

    Video molto ben fatto, grazie.
    Sai se è possibile scaricare i dati letti tramite Blynk?

  2. claudio papei ha detto:

    Ho visto, è possibile scaricare un CVS, per quanto riguarda il toolkit io utilizzo chrome su mac (Catalina 10.15) quando lo lancio e in calce mi appare la scritta inizio in italiano non fa niente mentre con chrome, con il medesimo SO, la scritta in calce è start e produce il codice. In questo momento ma da un errore alla alla line GoogleForm, ma probabilmente è un mio errore.
    Grazie e rinnovo i complimenti per i video

  3. mauro ha detto:

    Buongiorno, ho trovato molto interesante l’aricolo e vorrei realizzare un qualcosa di simile per una mia applicazione. Volevo chiedere una cosa, una volta che attivo una funzione tramite un pulsante, quando esco dall’applicazione e poi rientro riesco a vedere lo stato in cui si trova il pulsante? mi spiego meglio, entro nella app, premo il pulsante per accendere la luce ed esco dala app lasciando la luce accesa. Quando in un secondo momento rientro nella app ho la possibilità di vedere che la luce è accesa oppure no?
    Grazie mille per l’aiuto.

    • Ciao, se tu fai il controllo della lampadina solo da smartphone, il pulsante rimane nello stato attuale, anche se spegni la luce! Se invece hai un controllo manuale della luce devi scrivere nel tuo codice una parte di controllo che va variare lo stato del pulsante su Blynk con appunto lo stato dell’interruttore fisico, di solito per fare queste cose si usano dei pin virtuali che trovi nel settaggio del pulsante su Blynk. Se ti serve una mano più precisa passa per il gruppo telegram “Bar Filo Connesso”. Grazie e buona sperimentazione!

  4. Saul ha detto:

    Ciao, sebbene il tuo codice possa funzionare più o meno correttamente, la funzione Blynk.virtualWrite non andrebbe mai utilizzata dentro la funzione loop (vedi raccomandazioni https://docs.blynk.io/en/blynk.edgent/api/virtual-pins)

Lascia un commento

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