Pages: [1]   Go Down
Author Topic: [DOMANDA] testo scorrevole  (Read 659 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In primis salve a tutti.
Ho appena collegato un display 16x2 (cinese, non ho nemmeno trovato in giro il datasheet) che ho collegato su una board Arduino UNO.
Il display funziona correttamente (in modalità 4 bit).
La mia domanda è: come posso fare a far scorrere il testo in una sola delle due righe?
ho fatto una bozza di codice ma si muovono entrambe le righe contemporaneamente  smiley-lol
« Last Edit: May 10, 2013, 05:34:24 pm by stefanodp91 » Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 248
Posts: 21152
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si muovono in contemporanea perché lo hai programmato cosí.

Come giá detto in precedenza non siamo maghi, telpati, indovini o veggenti e la sfera di cristallo dove leggere il Tuo sketch non abbiamo.

Ciao Uwe
Logged

Marche
Offline Offline
Edison Member
*
Karma: 33
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

E dai Uwe, è appena arrivato
Logged

Offline Offline
Edison Member
*
Karma: 40
Posts: 1954
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ha fatto bene, bisogna picchiarli da piccoli! smiley-grin
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3219
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nella libreria LiquidCrystal.h trovi già le istruzioni che fanno questo

Code:
lcd.scrollDisplayLeft();
lcd.scrollDisplayRight();
Logged

no comment

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si muovono in contemporanea perché lo hai programmato cosí.

Come giá detto in precedenza non siamo maghi, telpati, indovini o veggenti e la sfera di cristallo dove leggere il Tuo sketch non abbiamo.

Ciao Uwe

hai ragionissima scusami.
ecco qui lo sketch che ho fatto:

Code:
 
#include <LiquidCrystal.h>

String textMsg="luminosita' rilevata";
int analogInPin = A0; // fotoresistenza
int sensorValue = 0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  Serial.begin(9600);
  pinMode(analogInPin, INPUT);
  lcd.begin(16, 2);
  lcd.print(textMsg); //da fa scorrere sulla prima riga
}

void loop() {
  for(int i = 0; i < textMsg.length(); i++) {
    lcd.scrollDisplayRight();//scroll a destra
    delay(150);//tempo di scrolling
  }

  lcd.setCursor(0, 1);
  lcd.print(analogRead(analogInPin));//sta stampare fisso sulla seconda riga
  delay(1000);//tempo di attesa a fine loop
}
Logged

Cagliari, Italy
Online Online
Tesla Member
***
Karma: 108
Posts: 6969
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non è possibile usando le funzioni della libreria perché il comando è codificato nel controller del display e muove entrambe le righe.
Puoi fare però una cosa del genere
--> https://gist.github.com/RC1140/3299197
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

0
Offline Offline
Faraday Member
**
Karma: 45
Posts: 5780
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nella libreria LiquidCrystal.h trovi già le istruzioni che fanno questo

Code:
lcd.scrollDisplayLeft();
lcd.scrollDisplayRight();
Come già dettonon funziona, perche in questo modo shifti tutta la memoria del display, mentre lui chiede di avere il primo rigo fisdo ed il secondi scorrevole.
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

0
Offline Offline
Faraday Member
**
Karma: 30
Posts: 2905
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Io ho avuto la stessa necessità al tempo, ma il mio è un display grafico mai fatto una cosa sul display a caratteri.
Questo post potrebbe aiutarti a fare la riga scorrevole http://arduino.cc/forum/index.php?PHPSESSID=e697cc727bf44d23d2edd8fbfd228b78&topic=136483.0

Per la riga scorrevole devi stampare una variabile di tipo array di stringhe detta buffer, la dimensione di buffer deve essere di 16+1 caratteri, il contenuto di buffer lo devi decidere tu , se la riga deve contenere strOut = "0123456789ABCDEF" (16 caratteri) dovrai riversare 16 caratteri nel buffer  a partire dalla posizione 0 di strOut. La prossima volta es dopo un secondo il buffere deve essere riempito con il contenuto di strOut a partire dalla posizione 1, poi dopo un'altro secondo dalla posizione 2 e così via. Devi solo trovare il modo di prendere x caratteri dall'inizio strOut per metterli alla fine.

esempio del contenuto di buffer:
0123456789ABCDEF
123456789ABCDEF0
23456789ABCDEF01
3456789ABCDEF012
456789ABCDEF0123

Ciao.



Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Genova
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3219
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nella libreria LiquidCrystal.h trovi già le istruzioni che fanno questo

Code:
lcd.scrollDisplayLeft();
lcd.scrollDisplayRight();
Come già dettonon funziona, perche in questo modo shifti tutta la memoria del display, mentre lui chiede di avere il primo rigo fisdo ed il secondi scorrevole.
ok ok non funziona ho capito non c'è bisogno che me lo dite in 10 ahahahahha... ma questo succede perchè gli utenti non postano mai uno straccio di sketch di quello che hanno già fatto quando fanno le domande.
comunque una modifica alla lib e lo fai ....
« Last Edit: May 11, 2013, 03:57:32 pm by pablos » Logged

no comment

0
Offline Offline
Faraday Member
**
Karma: 45
Posts: 5780
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sto decidendo se ripeterlo per la terza volta o no
Nessuna possibile modifica, lo si deve fare via sw.
Per libreria si può intendere tante cose ma credo sia sbagliato chiamare modifica una aggiunta di questo tipo alla liquid cristal
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

vi ringrazio per le risposte, vi farò sapere appena avrò risolto qualcosa smiley
Logged

Pages: [1]   Go Up
Jump to: