Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Exemple de banner publicitari que desplaça els literals de dreta a esquerra.
- Display LCD 16x2 de 16 pins compatible amb Hitachi HD44780
- Dispositiu de 16 columnes i 2 files que es referencien començant per 0 (0..15)(0..1)
- Utilitza la llibreria LiquidCrystal Library (incorporada a Arduino IDE)
- */
- // inclou la llibreria
- #include <LiquidCrystal.h>
- // inicialitza la llibreria amb els ports utilitzats
- LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
- // declara les variables del tipus array
- // si l'array és del tipus "char" cal especificar una posició més de les que té el literal
- // en aquest concret cas, el literal consta de 50 caràcters, però l'array s'especifica amb [51]
- char missatge_linia_0[51] = "Forum de Treballs de Recerca i Credits de Sintesi.";
- char missatge_linia_1[51] = "CRP del Tarragones. Complex Educatiu de Tarragona.";
- // declara altres variables d'índex
- int index_linia_0 = 0;
- int index_linia_1 = 0;
- int columna = 0;
- int i = 0;
- int velocitat = 500;
- void setup() {
- // configura el dispositiu LCD amb el número de files i columnes
- lcd.begin(16, 2);
- }
- void loop() {
- i = 0;
- for(columna=16;columna>=0;columna--){
- // col·loca el cursor a la columna 0 de la línia 0
- lcd.setCursor(columna, 0);
- // imprimeix el missatge de la línia 0 segons direcció dreta-esquerra
- // si la posició expressada per l'índex cau fora del rang de l'array imprimeix espai en blanc
- if(index_linia_0 - i >= 0 && index_linia_0 - i <= 50){lcd.print(missatge_linia_0[index_linia_0 - i]);}
- else{lcd.print(" ");}
- i++;
- }
- i = 0;
- for(columna=16;columna>=0;columna--){
- // col·loca el cursor a la columna 0 de la línia 1
- lcd.setCursor(columna, 1);
- // imprimeix el missatge de la línia 1 segons direcció dreta-esquerra
- // si la posició expressada per l'índex cau fora del rang de l'array imprimeix espai en blanc
- if(index_linia_1 - i >= 0 && index_linia_1 - i <= 50){lcd.print(missatge_linia_1[index_linia_1 - i]);}
- else{lcd.print(" ");}
- i++;
- }
- delay(velocitat);
- index_linia_0 = index_linia_0 + 1;
- if(index_linia_0 > 50){index_linia_0 = 0;}
- index_linia_1 = index_linia_1 + 1;
- if(index_linia_1 > 50){index_linia_1 = 0;}
- }
Add Comment
Please, Sign In to add comment