Buongiorno a tutti, oggi ho provato il progetto OHM METER ma quando vado ad inserire la libreria del display ottengo questo messaggio di errore: 'LiquidCristal' does not name a type
Come posso risolvere?
Grazie
Ciao
maltese04:
Come posso risolvere?
Grazie
Guarda, la soluzione è li, proprio sotto i tuoi occhi.
È nel codice che hai scritto/copiato, non lo vedi l'errore?
Eppure ti assicuro che è proprio lì; prova a guardare meglio.
Non lo vedi?
Beh, neanch'io.
Meglio che posti il codice >:( >:(
Ciao
Pippo72
pippo72:
Non lo vedi?
Beh, neanch'io.
Meglio che posti il codice >:( >:(
... questa m'è piaciuta !
Guglielmo
maltese04:
'LiquidCristal' does not name a type
Come posso risolvere?
Grazie
Hai messo l' #include ?
ExperimentUno:
Hai messo l' #include ?
Avoglia le domande oltre quella:
Hai installato la libreria correttamente?
Se sì quale libreria è?
Quale errore precisamente dà nell'output dettagliato?
Quale codice stai usando?
Forse pure altre
Non serve prendermi in giro, io sono completamente allo scuro del pianeta Arduino, mi sto avvicinando piano piano e posto l'errore che compare sulla riga in basso; non so niente dell'esistenza di più tipi di LiquidCristal o di quali codici inserire. Seguo un manuale o qualche sito e se certe nozioni vengono date per scontate e quindi non specificate più chiaramente, io le ignoro e il progetto non mi funziona. Abbiate pazienza di spiegarmi il più possibile passo passo, se volete... le polemiche non servono. Buona serata
Vi scrivo tutto lo sketch. L'#include come si mette; ho cliccato "sketch/#include libreria/LiquidCrystal" ma non è questo il passaggio esatto?
<int analogPin= 0;
int raw= 0;
int Vin= 5;
float Vout= 0;
float R1= 1000;
float R2= 0;
float buffer= 0;
#include <LiquidCrystal.h>
LiquidCristal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
// put your setup code here, to run once:
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop()
{
// put your main code here, to run repeatedly:
raw= analogRead(analogPin);
if(raw)
{
buffer= raw * Vin;
Vout= (buffer)/1024.0;
buffer= (Vin/Vout) -1;
R2= R1 * buffer;
Serial.print("Vout: ");
Serial.println(Vout);
Serial.print("R2: ");
Serial.println(R2);
lcd.print("OHM METER");
lcd.setCursor(0, 1);
lcd.print("R2: ");
lcd.print(R2);
delay(1000);
lcd.clear();
}>
Questo invece è l'errore che viene visualizzato più in basso:
OMHMETRO:12: error: 'LiquidCristal' does not name a type
LiquidCristal lcd(12, 11, 5, 4, 3, 2);
^
C:\Users...\OMHMETRO.ino: In function 'void setup()':
OMHMETRO:17: error: 'lcd' was not declared in this scope
lcd.begin(16, 2);
^
C:\Users...\OMHMETRO.ino: In function 'void loop()':
OMHMETRO:35: error: 'lcd' was not declared in this scope
lcd.print("OHM METER");
^
exit status 1
'LiquidCristal' does not name a type
Nessuno penso ti stava prendendo in giro Semplicemente è buona norma fornire tutti i dettagli al di là delle conoscenze su una cosa
Comunque il codice va racchiuso nei TAG CODE che trovi nell'editor sul forum con i simboli </>
Comunque per me è un'errata installazione della libreria e questo carattere "<" che hai messo all'inizio del codice lo devi togliere. L'hai cercata direttamente dall'IDE la libreria per il display?
ciao
maltese04:
Non serve prendermi in giro, io sono completamente allo scuro del pianeta Arduino...
Non era mia intenzione prenderti in giro, se ti sei offeso ti chiedo scusa.
ho cliccato "sketch/#include libreria/LiquidCrystal" ma non è questo il passaggio esatto?
si, è esatto. L'errore è un altro:
#include <LiquidCrystal.h>
LiquidCristal lcd(12, 11, 5, 4, 3, 2);
Riesci a vederlo? (non ti sto prendendo in giro). Hai scritto LiquidCrystal prima e LiquidCristal poi con una "i" al posto della "y". questo basta a causare tutti quegli errori.
Allo sketch manca anche un "}" alla fine, ma penso sia solo un errore di copia-incolla.
questo lo sketch corretto
int analogPin = 0;
int raw = 0;
int Vin = 5;
float Vout = 0;
float R1 = 1000;
float R2 = 0;
float buffer = 0;
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
// put your setup code here, to run once:
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop()
{
// put your main code here, to run repeatedly:
raw = analogRead(analogPin);
if (raw)
{
buffer = raw * Vin;
Vout = (buffer) / 1024.0;
buffer = (Vin / Vout) - 1;
R2 = R1 * buffer;
Serial.print("Vout: ");
Serial.println(Vout);
Serial.print("R2: ");
Serial.println(R2);
lcd.print("OHM METER");
lcd.setCursor(0, 1);
lcd.print("R2: ");
lcd.print(R2);
delay(1000);
lcd.clear();
}
}
con nessun errore di compilazione:
Lo sketch usa 5.558 byte (17%) dello spazio disponibile per i programmi. Il massimo è 32.256 byte.
Le variabili globali usano 276 byte (13%) di memoria dinamica, lasciando altri 1.772 byte liberi per le variabili locali. Il massimo è 2.048 byte.
Il carattere "<" all'inizio dello sketch e il carattere ">" alla fine credo sia un errato tentativo di usare i tag code.
ciao
pippo72
maltese04:
Non serve prendermi in giro, io sono completamente allo scuro del pianeta Arduino,
... nessuno ti prende in giro, ma se pretendi che uno tii possa aiutare SENZA dare tutti i dettagli necessari ... :
In conformità al regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).
Guglielmo
Eh di sera non ho notato sta cosa banale
Sì avete ragione, ho scritto Crystal con la "i" e non avevo capito la funzione "insert code"; ora funziona ma non scrive caratteri latini. Allego foto. Grazie a tutti
>maltese04: ancora una volta, in conformità al regolamento, punto 7, ti chiedo di editare il tuo post #5 (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).
Guglielmo
Non puoi scrivere tutti i caratteri che vuoi, devi usare il codice ASCII e a volte non funziona nemmeno in quel modo... quali caratteri sono?
int analogPin= 0;
int raw= 0;
int Vin= 5;
float Vout= 0;
float R1= 1000;
float R2= 0;
float buffer= 0;
#include <LiquidCrystal.h>
LiquidCristal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
// put your setup code here, to run once:
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop()
{
// put your main code here, to run repeatedly:
raw= analogRead(analogPin);
if(raw)
{
buffer= raw * Vin;
Vout= (buffer)/1024.0;
buffer= (Vin/Vout) -1;
R2= R1 * buffer;
Serial.print("Vout: ");
Serial.println(Vout);
Serial.print("R2: ");
Serial.println(R2);
lcd.print("OHM METER");
lcd.setCursor(0, 1);
lcd.print("R2: ");
lcd.print(R2);
delay(1000);
lcd.clear();
}
quello che doveva venir scritto è OHM METER come si vede dalla riga
lcd.print("OHM METER");
ed effettivamente controllando la tabella dei simboli cinesi che mi ha mandato nid69ita è quello che deve uscire
maltese04:
Scusa gpb01 ma non trovo il More->Modyf, ho solo Preview e Save Draft a destra del Post.
In basso, sotto il post a destra c'è: Quote Quick Edit More ...
... ce l'hanno tutti quindi presta attenzione e fai quanto richiesto ! Grazie.
Guglielmo
Io voglio vedere nel codice cosa stai cercando di scrivere. Con quella foto posso capire poco
Di solito i display cinesi 16x2 hanno una tabella dei font fissa, tipo questa:
Quindi NO caratteri latini (penso intendi e con accento e altri ascii particolari)
Per questo volevo vedere cosa scriveva