Il primo esperimento con il grove lcd rgb i2c dello starter kit lo troverai davvero interessante.
Il display Grove LCD rgb i2c è, come dice il nome stesso, un display di tipo lcd con controllo i2c dotato di una retroilluminazione di tipo RGB.
Questa caratteristica lo rende interessante non solo in fase di sperimentazione ma anche nell’uso nei progetti: potresti, ad esempio, utilizzare la retroilluminazione per indicare la severità delle informazioni visualizzate, ad esempio un allarme potrebbe lampeggiare con la retroilluminazione rossa.
La documentazione sull’uso del Grove lcd rgb i2c la puoi trovare nella wiki ufficiale del produttore.
Dopo aver installato la libreria di gestione del deisplay, trovi tra gli esempi dell’IDE quelli relativi alla gestione del display.
Il primo esempio che puoi provare è il classico, per un display, “Hello World” che ho leggermente modifiicato per provare apputo la caratteristica RGB del Grove lcd rgb i2c.
Connessione del display grove lcd rgb i2c
Il collegamento del display alla grove shield è molto semplice:
ti basta scegliere uno dei connettori I2C sul lato destro della shield:
ed usare uno dei cavetti 4 poli destinati ai collegamenti dei moduli grove alla shield stessa.
Poi ti occorre un arduino, o genuino, uno su cui uplodare il tuo primo sketch di esempio per questo display.
Sketch Hello World modificato per Grove lcd rgb i2c
Parti dall’esempio “Helo World” scritto da SeedStudio e presente nelle librerie per il display che hai aggiunto al tuo IDE e subito dopo lo sketch puoi leggere le modifiche che ho apportato:
/* Hello World.ino 2013 Copyright (c) Seeed Technology Inc. All right reserved. Author:Loovee 2013-9-18 Grove - Serial LCD RGB Backlight demo. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include <Wire.h> #include "rgb_lcd.h" rgb_lcd lcd; const int colorR = 255; const int colorG = 0; const int colorB = 0; void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); lcd.setRGB(colorR, colorG, colorB); // Print a message to the LCD. lcd.print("hello, world!"); delay(1000); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); if ((millis()/1000) == 20) { lcd.setRGB(255, 0, 0); } if ((millis()/1000) == 30) { lcd.setRGB(0, 255, 0); } if ((millis()/1000) == 40) { lcd.setRGB(0, 0, 255); } delay(100); } /********************************************************************************************************* END FILE *********************************************************************************************************/
linee 25-26: includi le librerie Wire e rgb_lcd necessarie alla corretta comunicazione con il grove lcd rgb i2c;
linea 28: inizializza l’istanza “lcd” dell’oggetto “rgb_lcd”;
linee: 30-32: definisci tre costanti di tipo intero con le componenti colore che vuoi impostare sul display all’accensione. Nell’esempio imposti il colore rosso 255,0,0;
linea 37: usi il metodo begin per indicare all’istanza “lcd” che il display è un 16 colonne, 2 righe;
linea 39: usi il metodo “setRGB” per impostare la retroilluminazione rossa, vedi linee 30-32;
linea 42: scrivi sulla prima riga del display la stringa “hello, world!”;
linea 44: imposta un ritardo di 1 secondo;
linea 51: sposta il cursore alla seconda riga del display;
linea 53: scrivi il risultato dell’operazione ( milli()/1000) ossia i secondi trascorsi dall’accensione del display o dall’ultimo reset;
linee 54-57: ecco la modifica che ti permette di sperimentare i tre colori della retroilluminazione. Con ciascuna condizione di if verifichi che i secondi trascorsi siano 20,30 o 40 e per ciascun intervallo imposti un nuovo colore: prima rosso ( equivalente a quello già impostato alla linea 39 ) poi verde ed infine blu;
linea 59: imposta una pausa di 100 millisecondi tra un loop() ed il successivo.
Il risultato dovrebbe essere simile al seguente:
poi al 30 secondo:
ed infine dal 40 secondo i poi:
fino al prossimo reset.
1 ping
[…] Al codice originale ho eseguito alcune modifiche per consentire il controllo del Grove lcd rgb i2c wheel che usa in fase di scrittura i comandi della libreria rgb_lcd.h che hai già visto utilizzare in questo sketch. […]