Go Down

Topic: "invalid conversion from 'CHAR' to 'long int' (Read 848 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy