Donna Albano 39 100Pelle Zeppa Al24 E18 Con Oro Scarpe Sandalo cTKl1JF
Pubblicato il Settembre 12, 2018 da admin

In un recente post ho approfondito l’uso di Serial.write() e Serial.print(), proseguo riprendendo gli appunti che di volta in volta aggiungo a quanto sviluppato durante i corsi. Come sapete per inviare sulla seriale un testo molto lungo è necessario scrivere molte linee di codice, una sequenza di Serial.print() che hanno come argomento il testo che si vuole visualizzare, questo un esempio:

1
2
3
4
5
6
7
Serial.print("Nel mezzo ");
Serial.print("del cammin ");
Serial.print("di nostra vita ");
Serial.print("mi ritrovai ");
Serial.print("per una selva oscura ");
Serial.print("ché la diritta via ");
Serial.print("era smarrita. ");
Donna Albano 39 100Pelle Zeppa Al24 E18 Con Oro Scarpe Sandalo cTKl1JF

Tutte queste righe potrebbero essere scritte in una forma più compatta, accodando tutte le Serial.print() :

Donna Albano 39 100Pelle Zeppa Al24 E18 Con Oro Scarpe Sandalo cTKl1JF
1
2
3
4
Serial.print("Nel mezzo ");Serial.print("del cammin ");
Serial.print("di nostra vita ");Serial.print("mi ritrovai ");
Serial.print("per una selva oscura ");
Serial.print("ché la diritta via ");Serial.print("era smarrita. ");
Donna Albano 39 100Pelle Zeppa Al24 E18 Con Oro Scarpe Sandalo cTKl1JF

Sarebbe interessante poter avere la possibilità di concatenare il testo da stampare così come è possibile fare con altri linguaggi di programmazione: Java / VB / C # / C ++, ecc…

Questa funzionalità è stata implementata qualche tempo fa da Mikal Hart che ha realizzato la libreria Streaming (file zip). I vantaggi di utilizzo risiedono nella compattezza del codice prodotto e nella velocità di scrittura.

Con l’uso della libreria Streaming il codice precedente che stampa una serie di stringhe utilizzando la Serial.print(), diventa:

For SaleEbay Boys Blue Geox Shoes Sandals OkXiTPuZ
1
Serial << "Nel mezzo " << "del cammin " << "di nostra vita "
Donna Albano 39 100Pelle Zeppa Al24 E18 Con Oro Scarpe Sandalo cTKl1JF
<< "mi ritrovai " << "per una selva oscura " << "ché la diritta via " << "era smarrita."<< endl;
Bassi Nero Estate Donna Zip T Tipo Scarpe Sandali Bar Infradito Da 4jL5RA

Nel caso si volesse suddividere l’invio sulla seriale su più linee::

1
2
3
Serial << "Nel mezzo " << "del cammin " << "di nostra vita " << endl;
Serial << "mi ritrovai " << "per una selva oscura " << endl;
Serial
<< "ché la diritta via " << "era smarrita. " << endl;

Prendendo spunto dall’esempio che trovate nella libreria:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Donna Albano 39 100Pelle Zeppa Al24 E18 Con Oro Scarpe Sandalo cTKl1JF

19
20
21
22
#include <Streaming.h>
 
void setup()
{
  int lettera = 'M';
  int mese = 7, giorno = 6, anno = 1967;Abiti Da SeraScopri La Su Collezione Zalando DWH2EI9Y
  
  Serial << "Questo è un esempio dell'uso della libreria Streaming," << endl;
  Serial << "che ti permette di stampare variabili" << endl;
  Serial << "senza dover digitare ad ogni riga" << endl;
  Serial << "Serial.print().  Esempio: " << endl;
  
  Serial << "M è " << lettera << "." << endl;
  Serial2018neo Primadonna 2018neo Tacco Alto Alto Sandali Tacco Primadonna Sandali 2018neo Primadonna uTK5lF1Jc3 << "La mia data di nascita è " << giorno << "-" << mese << "-" << anno << "." << endl;
  
  Serial << "Puoi anche usare i modificatori, per esempio:" << endl;Opwkxizut Archivi Calzature Archivi Sandra Sandali Tcl13FuKJ
  Serial << _BYTE(lettera) << " e "Gold Valentino Soul Flat Ankle Strap In Platino Rockstud Sandal CxrshBtQd << _HEX(lettera) << " in esadecimale. " << endl;
}
 
void loop()
{}

Realizzimo uno sketch che conta il numero di pressioni del pulsante e visualizziamo sulla Serial Monitor una stringa che ne da indicazione, il circuito è costituito da:

  • Arduino UNO R3
  • Resitore da 1KOhm
  • 1 pulsante

Lo sketch di esempio è il seguente:

Donna Albano 39 100Pelle Zeppa Al24 E18 Con Oro Scarpe Sandalo cTKl1JF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Con Sandali Pelle Zeppa In Miss Marrone SugheroMec Desiree fyvYb7g6
21
22
23
24
25
26
27
28
29
30
31
32
#include <Streaming.h>
 
#define PULSANTE 11 // pin di input a cui è collegato il pulsante
 
// Variabili
int ContatorePulsantePremuto = 1; // conta il numero di volte che il pulsante è premuto buttonPushCounter
int StatoPulsante = 0;            // stato corrente del pulsante
int StatoPulsantePrecedente = 0;  // stato precedente del pulsante
 
void setup() {
  pinMode(PULSANTE, INPUT); // imposta il pin digitale come output
  Serial.begin(9600)
;       // inizzializza la seriale a a 9600 bps
}
 
void loop() {
  StatoPulsante = digitalRead(PULSANTE);
  // legge il valore dell'input e lo conserva
 
  if (StatoPulsante != StatoPulsantePrecedente) {   // compara lo stato del pulsante attuale con il precedente
    if (StatoPulsanteDonna Qualità Di Garanzia Bianco Collezione Keys 2018 Nuova Zeppe kuPTOZwXi == HIGH) {                    // se lo stato è cambiato incrementa il contatore
      // se lo stato corrente è alto, il pulsante è passato da off a on
      
Gold Wedge HeelsNew Look Strappy wXZuPkTOi
      // Stampa sulla seriale il numero di pressioni del pulsante
        Serial << "Il pulsante è stato premuto " << ContatorePulsantePremuto << " volte" << endl;
      
      ContatorePulsantePremuto++;
    }
  }
 
  // salva lo stato corrente nella variabile che indica lo stato precedente per il loop successivo
  StatoPulsantePrecedente = StatoPulsante;
}

Ad ogni pressione del pulsante sulla seriale compariranno le stringhe:

Esercizio

L’invio dello dello stream del testo può avvenire non solo sulla seriale ma anche su qualsiasi classe derivata da Print, ad esempio su display.

Sapreste ottenere la stessa cosa con un display a 16 colonne e 2 righe?

Suggerimento:

1
lcd << "Il pulsante è stato premuto " << contatore << " volte" << endl;

Buon Coding a tutti 🙂

Articoli simili:

Questa voce è stata pubblicata in arduino e contrassegnata con , , , , , , . Contrassegna il permalink.

Lascia un commento

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

Benassi Sport Slide W Ultra Sandalo Donna Duo Estate Nike Bianco 1JlKFc

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