Pages: [1]   Go Down
Author Topic: come fare progress bar lcd  (Read 393 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao ragazzi.. vorrei fare una progress bar. ho visto su internet qualche progetto anche se non c' è ne sono molti in giro e non ho capito più o meno niente di come si fa la progress bar quindi vi volevo fare delle domande...
1): i caratteri della progress bar fanno accendere ogni colonna singolarmente o tutto il quadrato dei pixel?
2) nei programmi della progress bar all' inizio del programma c' è questo:
Code:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte p1[8] = {
  0x10,
  0x10,
  0x10,
  0x10,
  0x10,
  0x10,
  0x10,
  0x10};
byte p2[8] = {
  0x18,
  0x18,
  0x18,
  0x18,
  0x18,
  0x18,
  0x18,
  0x18};
byte p3[8] = {
  0x1C,
  0x1C,
  0x1C,
  0x1C,
  0x1C,
  0x1C,
  0x1C,
  0x1C};
byte p4[8] = {
  0x1E,
  0x1E,
  0x1E,
  0x1E,
  0x1E,
  0x1E,
  0x1E,
  0x1E};
byte p5[8] = {
  0x1F,
  0x1F,
  0x1F,
  0x1F,
  0x1F,
  0x1F,
  0x1F,
  0x1F};
 
cosa è?
3) come si fà ad arduino per dirgli di stamparlo nel monitor?
Logged

Milano
Offline Offline
Full Member
***
Karma: 0
Posts: 113
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Che display hai ??

Non potresti, per semplificati la vita, usare qualche libreria già pronta tipo le u8glib e usare la sua funzione DrawRect ??
Tramite una semplice proporzione disegna la tua progressBar, no ??
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho un display 16x 2... non so cosa è questa libreria... comuque più semplice è meglio è... smiley
Logged

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

Il 16x2 con HD44780 hanno possibilitá di definire 8 caratteri a Tuo piacimento.
Devi definire dei caratteri e usare quelli. la libreria LiquidCrystal ha una funzione createChar() per definirle e poi basta che scrivi i caratteri da 0 a 7. http://arduino.cc/en/Reference/LiquidCrystalCreateChar
Ciao Uwe
« Last Edit: October 17, 2013, 09:41:02 am by uwefed » Logged

Milano
Offline Offline
Full Member
***
Karma: 0
Posts: 113
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho un display 16x 2... non so cosa è questa libreria... comuque più semplice è meglio è... smiley

Pensavo ad un GLCD, sorry !!!
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

per fare il codice della barra di progressione ho usato questo codice:
Code:
  lcd.setCursor(0, 0);
  //ADC conversion
  unsigned int value = analogRead(0); //legge il valore dal potenziometro
  percent = value/1023.0*100.0; //calcola la percentuale
 
  lcd.print(percent);
  lcd.print("%");
  lcd.print(" 70c ");
 
  lcd.print (hours);
  lcd.print (":");
  lcd.print (minutes);
  lcd.print (":");
  lcd.print (seconds);
 
 
  lcd.setCursor(0,1); //sposta il cursore
  double a=lenght/100*percent;
  // disegna i rettangoli neri sull'lcd
  if (a>=1) {
    for (int i=1;i<a;i++) {
      lcd.write(4);
      b=i;
    }
    a=a-b;
  }
  peace=a*5;
  // drawing charater's colums
  switch (peace) {
  case 0:
    break;
  case 1:
    lcd.print((char)0);
    break;
  case 2:

    lcd.write(1);

    break;
  case 3:

    lcd.write(2);

    break;
  case 4:

    lcd.write(3);

    break;

  }
  //clearing line

  for (int i =0;i<(lenght-b);i++) {
    lcd.print(" ");
  }

 
}
per modificare i valori come posso fare... perche adesso mi ritrovo che inizia da un 10% e non riesce ad arrivare al 100% ma solo al 90%...  come posso fare in modo da regolarlo per bene?
Logged

Varese
Offline Offline
Full Member
***
Karma: 1
Posts: 170
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, ti voglio segnalare un articolo sul mio blog, ti può essere utile!
http://alessandro-riva-elettronica.blogspot.it/2013/09/progress-bar-orizzontale-lcd-con.html
Logged

Arduino UNO starter kit.

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si, lo spezzone di programma lo ho preso proprio da te... il fatto è che mi servirebbe sapere come posso modificare i valori... tipo che lo 0 per cento sia 1 volt e il 100% sia 4 volt... perche se no non riesco mai ad arrivare al massimo e invece al minomo sta sempre al 10 %
Logged

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

Per Alex,
http://alessandro-riva-elettronica.blogspot.it/2013/09/progress-bar-orizzontale-lcd-con.html
provato, funziona molto bene, vorrei farne una che scrive sul display da dx verso sinistra
ho fatto questo
http://youtu.be/53HFazvpznE
ma non funziona bene
grazie
Jack
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

come si fà quindi per avere una scala ridotta diciamo?
Logged

Battipaglia (SA)
Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao,

puoi usare la map (http://arduino.cc/en/Reference/Map).

Nel tuo caso se il valore che vuoi visualizzare (quello da 1 a 4 volt) l'hai letto nella variabile V ed il valore da mostrare (quello da 0 a 100) lo chiami D, allora:

D = map(V, 1, 4, 0, 100);

Ciao.
V.
Logged

Pages: [1]   Go Up
Jump to: