Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl
Go Down
Pages: [1] Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl

Topic: Boost gauge e LCD bar graph(Read 3348 times) previous topic - next topic

casperino

  • Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl
  • Newbie
  • Posts: 26
  • Karma: 0[add]
Ciao a tutti, in questi giorni mi sono imbatutto in un progettino in rete per monitorare la pressione del turbo (http://cstark27.blogspot.co.uk/) , ho provveduto ad adattare il codice per il mio display dotato di interfaccia I2c 1602, ed ho scaricato dal seguente link la libreria LCD BAR GRAPH (http://playground.arduino.cc/Code/LcdBarGraph). Adesso ho due problemi, primo problema non mi appare nella seconda riga del display la barra grafica e poi per caricare lo sketch su arduino devo togliere dal listato la riga lbg.drawValue( analogRead(sensorPin), 1024); altrimenti gia' in compilazione mi da il seguente errore:     sketch_nov09a.ino: In function 'void loop()':
sketch_nov09a:43: error: 'lbg' was not declared in this scope
sketch_nov09a:43: error: 'sensorPin' was not declared in this scope

Premetto che sono pochi giorni che maneggio arduino e sono novello di programmazione, per cui confido tanto in un vostro aiuto
Tengo a precisare che eliminando la riga che mi da errore riesco a caricare il listato e la prima riga mi funziona correttamente indicando i valori letti dal sensore di pressione (che al momento simulo con un potenziometro).
Grazie
Quote
#include <LiquidCrystal.h>
#include <Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl LcdBarGraph.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>


int mapsen = 0; // Set MAP sensor input on Analog port 0

float boost = 0; // Set boost value to 0

float mapval = 0; // Set raw map value to 0

    volatile float peakboost = -30.0; // Set peak memory to low number so max displays correctlyTacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl

float warnpsi = 20.5; // Set PSI for warning

float atmpsi = 13.9637; //Local atmospheric pressure

LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup ()
{
  lcd.init(); // initialize the lcd

// Print a message to the LCD.Igi Sandali Neri Igi Neri Eleganti Sandali Igi amp;co amp;co Eleganti amp;co g76yfYb
  lcd.backlight();
      lcd.clear();
      lcd.setCursor(4,0);
      lcd.print
("Welcome");
      lcd.setCursor(4,1);
      lcd.print("Cameron");
delay (1500);
      lcd.clear();
      lcd.setCursor(10,0);
      lcd.print("|");

}

void loop ()
{
// -- draw bar graph from the analog value readed

      lbg.drawValue( analogRead(sensorPin), 1024);
Piume Donna Jeans Jeans Piume Guess Guess Donna Giacca Giacca Guess Giacca Donna Jeans 80ONmnwyvP
// -- do some delay: frequent draw may cause broken visualization

//delay(100);



     mapval= analogRead(mapsen); //Reads the MAP sensor raw value on analog port 0

     boost = ((((floatTacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl )mapval/(float)1023+0.04)/.004)*.145)-atmpsi;

if (boost <0) //If PSI is negative, convert to inHG and display VAC instead of PSI

      {

//boost = boost*2.036021;

        lcd.setCursor(0,0);

        lcd.printGonne Ricamato In Tulle Ricamato Tulle Ricamato Tulle Gonne In Gonne In In Gonne erxdCoBW("VAC");

      }
else

      {

        lcd.setCursor(0,0);

        lcd.print("PSI");

      }

if (boost > peakboost) //Works the MAX

      {

        peakboost = boost;

if (peakboost<-10) //Adjusts numbers over

Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl        {

          lcd.setCursor(12,0);

          lcd.print(peakboost,1);

        }

if (peakboost>-10)

        {

          lcd.setCursor(11,0);

          lcd.write(254);

          lcd.setCursor(12,0);

          lcd.print(peakboost,1);

        }

if (peakboost >0)

        {
                lcd.setCursor(12,0);Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl

          lcd.write(254);

          lcd.setCursor(13,0);

          lcd.print(peakboost,1);

        }

if (peakboost >=10)

        {

          lcd.setCursor(12,0);Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl

          lcd.print(peakboost,1);

        }

      }
if (boost<-10)

      {

        lcd.setCursor(4,0);

Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl


        lcd.print(boost,1);

      }

if (boost>-10)

      {

        lcd.setCursor(8,0);

        lcd.write(254);

        lcd.setCursor(4,0);

        lcd.print(boost,1);

      }

Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl if (boost >0)

      {

        lcd.setCursor(7,0);

        lcd.write(254);

        lcd.setCursor(4,0);

        lcd.print(boost,1);

      }

}

EDIT by mod: cambiato titolo - rimosso "help"

Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl

leo72

Ti dice che lbg non è conosciuto come oggetto. Hai scritto male immagino "lcd".
Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl

Maurotec

Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl
Manca la creazione dell'oggetto lbg. Nell'esempio presente nel playground c'è questa riga:
Code: [Select]
														LcdBarGraph lbg(&lcd, lcdNumCols);
													

Inoltre sensorPin non lo hai dichiarato in nussun posto.

Quote
che strano.......nessuno mi aiuta..... ho capito che e' un problema di librerie ma non ci capisco una pipa
Devi solo aspettare un utente che ha usato questa libreria, io per esempio non la conosco.
Quindi arrangiati un po tu, studia, sperimenta e tieni aggiornato il post, se ci arrivi da solo rimane traccia dei tuoi progressi e può essere di aiuto agli altri.

Ciao.

Si, devo soltanto aspettare che qualcuno abbia già incontrato la stessa difficoltà.  Comunque se riesco a risolvere , comunque tengo aggiornato ill post per tutti gli utenti.
In effetti manca qualcosa, il problema è che sono a digiuno di programmazione per cui pur avendo sbattuto la testa per ore , o meglio per giorni su internet non ho trovato nulla di masticabile per le mie conoscenze utile alla risoluzione.....

menniti

Ti dice che lbg non è conosciuto come oggetto. Hai scritto male immagino "lcd".
Leo, secondo me "lbg"  fa parte della libreria LcdBarGraph.h come "lcd" della LiquidCrystal.h, quindi forse è "drawValue" ad essere errato, che ne pensi?

@ casperino: forse, invece di stare seduto sulla sponda del fiume, potresti aprire il file della libreria LcdBarGraph.h per vedere se trovi il comando lbg.drawValue, magari c'è una piccola differenza, la aggiungi nello sketch e risolvi
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.htmlSandali Plateau Tacco Tacco Sandali Plateau E Tacco Sandali E Pocoprezzo Pocoprezzo erdCBxo
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html
Vestito Carnevale Moschettiere Vestito Vestito Moschettiere Bambino Bambino Carnevale Carnevale jSUqpLMVzG

casperino

  • Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl
  • Newbie
  • Posts: 26
  • Karma: 0[add]
da ignorante penso che abbia ragione Michele, nel senso che la riga da correggere e' "drawValue" .
Ho fatto altre prove, dopo aver rinstallato la libreria LcdBarGraph-v1.4.zip , ho aperto un esempio, e piu precisamente "Analog Visualization.pde" , ebbene lo sketch e' molto simile al mio. Quindi ho provato con un LCD collegando tutti i piedini necessari ad arduino, e tutto a funzionato alla perfezione. Poi seconda prova con adattatore / interfaccia 1602 I2c e in questo caso il problema si e' ripresentato.
Provo adesso ad allegare lo sketch funzionante :
Quote
#include <LiquidCrystal.h>
#include <LcdBarGraph.h>

byte lcdNumCols = 16; // -- number of columns in the LCDSalopette Gamba A Meta Jeans Donna rCedoWxB
byte sensorPin = 0; // -- value for this example

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // -- creating LCD instance
LcdBarGraph lbg(&lcd, lcdNumCols); // -- creating

voidSandali Da Gioiello Sposa Bassi Sandali Gioiello CthrsQdxB setup (){
// -- initializing the LCD
  lcd.begin(2, lcdNumCols);
  lcd.clear();
// -- do some delay: some time I've got broken visualization
delay(100);
Scott Cardigan Uomo Lyleamp; Cardigan Uomo Cardigan Uomo Lyleamp; Scott K1TJlFc3u}

void loop ()
{
// -- draw bar graph from the analog value readed
  lbg.drawValue( analogRead(sensorPin), 1024);
// -- do some delay: frequent draw may cause broken visualization
delay(100);
}

Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl

casperino

  • Newbie
  • Posts: 26
  • Karma: 0[add]
Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl
#7
Nov 11, 2014, 11:08 pm
Felpa Kappa Uomo Cappuccio Con Amazon pqSzMVU
questo invece e' lo staesso pero' inserendo un display Lcd con interfaccia I2c ho dovuto includere due librerie ed inserire alcune righe necessarie ed esattamente ho aggiunto:
#include <Wire.h> //
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2); eliminando la riga "LiquidCrystal lcd(12, 11, 5, 4, 3, 2);"

poi invece nel setup:
lcd.init(); //inizializzazione lcd
  lcd.backlight(); // accensione retro illuminazione

allego il codice modificato:
Code: [Select]
														l#include <LiquidCrystal.h>
#include <LcdBarGraph.h>
#include <Wire.h> //aggiunta per I2c
#include <LiquidCrystal_I2C.h> //aggiunta per I2c
byte lcdNumCols = 16; // -- number of columns in the LCD
byte sensorPin = 0; // -- value for this example
//LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // -- creating LCD instance
LiquidCrystal_I2C lcd(0x27,16,2); //aggiunta per I2c
LcdBarGraph lbg(&lcd, lcdNumCols);  // -- creating
void setup(){
  // -- initializing the LCD
  lcd.init(); //aggiunta per I2c
  lcd.backlight(); //aggiunta per I2c
Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl  lcd.begin(2, lcdNumCols);
  lcd.clear();
  // -- do some delay: some time I've got broken visualization
  delay(100);
}

void loop()
{
  // -- draw bar graph from the analog value readed
  lbg.drawValue( analogRead(sensorPin), 1024);
  // -- do some delay: frequent draw may cause broken visualization
  delay(100);
}

casperino

  • Newbie
  • Posts: 26
  • Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl
  • Karma: 0[add]
dimenticavo, quest'ultimo da sempre lo stesso errore nella compilazione, inoltre ho provato a vedere nelle librerie, ma non ci trovo nulla a vista d'occhio che possa darmi qualche indizio

Il costruttore di LcdBarGraph:

Code: [Select]
														LcdBarGraph(LiquidCrystal* lcd, byte numCols);
													


Come si vede prende un puntatore (lcd) ad oggetto istanza di classe LiquidCrystal.
Tu invece gli passi un puntatore ad oggetto istanza di classe LiquidCrystal_I2C.
Per chi di C++ ne capisce, la cosa potrebbe funzionare solo se LiquidCrystal_I2C ereditasse
la classe LiquidCrystal previo casting.

@casperino
Non può funzionare LcdBarGraph con la libreria LiquidCrystal_I2C, ma solo con LiquidCrystal.

Ciao.

casperino

  • Newbie
  • Posts: 26
  • Karma: 0  [add]
Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl
Re: Boost gauge e LCD bar graph
#10
Nov 12, 2014, 06:44 am
Buongiorno Mauro, diciamo che ho capito soltanto che vi e' un incongruenza, adesso devo soltanto aspettare che qualche utente esperto dotato di tanta pazienza  mi dia una mano a correggere lo sketch.
Mio malgrado è meno di un mese che maneggio arduino, tutorial ecc. , quindi ho ancora molta strada da percorrere.... Infatti prima di postare ho cercato di tutto pur di risolvere.

Ciao

Maurotec

  • Faraday Member
  • Posts: 3,982
  • Karma: 165  [add]
  • Arduino rocks
Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl
Re: Boost gauge e LCD bar graph
#11
Nov 12, 2014, 01:26 pm Last Edit: Nov 12, 2014, 01:29 pm by MauroTec
Non si tratta di correggere il tuo programma, ma di modificare la libreria LcdBarGraph al fine di farla lavorare con la libreria LiquidCrystal_I2C, anziché con la LiquidCrystal.

Detta in termini più semplici LcdBarGraph è in grado di usare solo LiquidCrystal, per scrivere sul display.

Comunque dovresti fare copia e incolla integrale degli errori ricevuti durante la compilazione.

Ciao.

Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTl

casperino

  • Newbie
  • Posts: 26
  • Karma: 0  [add]
Re: Boost gauge e LCD bar graph
#12
Nov 13, 2014, 12:29 am
Si, il problema e' capire come modificarla, proprio stamane avevo trovato in rete un esempio molto semplice, ma disgraziatamente e' andato in blocco il pc a lavoro e ho perso il link......comunque allego la lista errori:

gauge2:18: error: no matching function for call to 'LcdBarGraph::LcdBarGraph(LiquidCrystal_I2C*, byte&)'
C:\Program Files (x86)\Arduino\libraries\LcdBarGraph/LcdBarGraph.h:47: note: candidates are: LcdBarGraph::LcdBarGraph(LiquidCrystal*, byte, byte, byte)
C:\Program Files (x86)\Arduino\libraries\LcdBarGraph/LcdBarGraph.h:36: note:                 LcdBarGraph::LcdBarGraph(const LcdBarGraph&)

Grazie mille in anticipo per la collaborazione.
ciao

Maurotec

  • Faraday Member
  • Posts: 3,982
  • Karma: 165  [add]
  • Arduino rocks
Re: Boost gauge e LCD bar graph
#13
Nov 13, 2014, 02:52 pm
Quote
gauge2:18: error: no matching function for call to 'LcdBarGraph::LcdBarGraph(LiquidCrystal_I2C*, byte&)'
Non riesce a trovare una funzione corrispondente a 'LcdBarGraph::LcdBarGraph(LiquidCrystal_I2C*, byte&)'

Quote
C:\Program Files (x86)\Arduino\libraries\LcdBarGraph/LcdBarGraph.h:47: note: candidates are: LcdBarGraph::LcdBarGraph(LiquidCrystal*, byte, byte, byte)
C:\Program Files (x86)\Arduino\libraries\LcdBarGraph/LcdBarGraph.h:36: note:                 LcdBarGraph::LcdBarGraph(const LcdBarGraph&)
I candidati sono:
LcdBarGraph::LcdBarGraph(LiquidCrystal*, byte, byte, byte)
LcdBarGraph::LcdBarGraph(const LcdBarGraph&)

La prima non è compatibile perché il primo parametro è LiquidCrystal*, ma dovrebbe essere LiquidCrystal_I2C*

Ci sono altre incongruenze che dovrebbero essere risolte e purtroppo non è banale anche per chi ha esperienza, ciò vuol dire che non è una strada breve e ti consiglio di cercarne un'altra.

Tacco Donna Con 10 Donna Sandali Tacco Con Donna Sandali Con Sandali 10 3uK1JFcTlCiao.

Print
Go Up
Pages: [1]