Go Down

Topic: "invalid conversion from 'CHAR' to 'long int' (Read 748 times) previous topic - next topic

Calamaro

Jan 21, 2010, 12:29 pm Last Edit: Jan 21, 2010, 12:30 pm by Calamaro Reason: 1
Dato che non sono un buon programmatore non capisco sto tipo di errore.
Code: [Select]

#include <LiquidCrystal.h>

int sensorPin = 0;
int sensorValue = 0;
const int numRows = 2;
const int numCols = 16;
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
    lcd.begin(numRows, numCols);
}

void loop()
{
  sensorValue = analogRead(sensorPin);
  int thisCol = 0;
  int thisRow = 0;
  lcd.setCursor(thisCol,thisRow);
  lcd.print("SensorValue = ", sensorValue);
  delay(sensorValue)
}


Il codice è questo. Il motivo, secondo me, è valore del sensore è un numero ma sul display posso scrivere solo char, quindi boh...  Oppure l'arduino acquisisce il valore come un char ma la cose mi pare abbastanza assurda  ;D

PS ho provato sia la conversione implicita che esplicita da int a char ma niente :S

admin

Ciao

lcd.print() accetta un solo parametro
perciò devi spezzare quella linea in due
una che stampa la stringa
e una che stampa il numero

è una palla ma fa risparmiare molta memoria

m

Calamaro

#2
Jan 21, 2010, 12:45 pm Last Edit: Jan 21, 2010, 01:21 pm by Calamaro Reason: 1
Code: [Select]
#include <LiquidCrystal.h>

int sensorPin = 0;
int sensorValue = 0;
const int numRows = 2;
const int numCols = 16;
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
    lcd.begin(numRows, numCols);
}

void loop()
{
  sensorValue = analogRead(sensorPin);
  int thisCol = 0;
  int thisRow = 0;
  lcd.setCursor(thisCol,thisRow);
  lcd.print("SensorValue = ");
  thisRow = 1;
  lcd.setCursor(thisCol,thisRow);
  lcd.print(sensorValue);
  delay(100);
}


codice modificato

ma il valore del sensore è sempre 1023 e non capisco come mai... anche girando il potenziometro :S

EDIT

il potenziometro non era alimentato,  :-[

Go Up