Go Down

Topic: Donde esta el error... (Read 4 times) previous topic - next topic

American2020

Fijate también que veo que en AnalogPin el Serial te está imprimiendo 14 y 15

¿No debería ser 0 y 1?

Probá este código a ver que pasa.

Code: [Select]
const int analogInPin = A0;
const int analogInPin1 = A1;

int sensorValue = 0;
int sensorValue1 = 0;

float temperatura = 0;
float temperatura1 = 0);


void setup() {
Serial.begin(9600);
}
void loop() {

// read the analog in value:
sensorValue = (analogRead (analogInPin);
sensorValue1 = (analogRead (analogInPin1);

temperatura = (-.54054*sensorValue+375.675); // convierte a grados
temperatura1 = (-.54054*sensorValue1+375.675);

// print the results to the serial monitor:

Serial.print("sensorValue ");
Serial.print(sensorValue);
Serial.print(" AnalogInPin  = " );
Serial.print(analogInPin );
Serial.print("  Temp0 = " );
Serial.print(temperatura);
Serial.print("  ");
Serial.print(" sensorValue1 ");
Serial.print(sensorValue1);
Serial.print(" AnalogInPin1  = " );
Serial.print(analogInPin1 );
Serial.print("  ");
Serial.print("  Temp1 = ");
Serial.println(temperatura1);
// wait 1 seconds before the next loop
delay(1000);
}
My 3x3x3 Led Cube

[url=http://arduino.cc/forum/index.php/topic,1642

American2020


Guauu!!! Cheyenne tiene razón, solo anda en la entrada A0, en cualquiera otra no responde!! no creo que este frita la placa (espero porque solo tengo una) alguna idea?


No, no es eso.... Lo que cheyenne te dijo fue esto

¿Por qué no haces simplemente read de AnalogPin0 y el 1 e imprimes lo que recibes?
My 3x3x3 Led Cube

[url=http://arduino.cc/forum/index.php/topic,1642

American2020

Acá está de donde habías tomado el código.

http://anajesusa.wordpress.com/2011/07/06/la-placa-arduino/

Por eso no es bueno copiar así nomás, sino que está bueno investigar uno mismo lo que necesitamos que nuestro código haga, para así poder revisarlo y entender por que es que las cosas no funcionan.

A él simplemente le funcionó por casualidad, y solo para el Pin 0, porque esa división errónea siempre le da 0, por eso que cuando tu quisiste probar con el pin 1 te daba "error" y te seguía leyendo los datos del pin 0

My 3x3x3 Led Cube

[url=http://arduino.cc/forum/index.php/topic,1642

CesarCarlos

Es que no copié, el dueño de ese blog soy yo  :* :*
La función que aplico es debido a que el 0 grado me da en una lectura en mV de algo 690 y los 100 grados 500 y pico, hice la gráfica y saqué la función para que me de en grados, de ahi vienen los números en esta entrada esta http://anajesusa.wordpress.com/2007/05/12/termometro-electronico-de-facil-construccion-con-sonda/

American2020

#19
Apr 26, 2013, 01:39 am Last Edit: Apr 26, 2013, 08:07 pm by American2020 Reason: 1
Perfecto. Probá entonces eso de corregir simplemente la forma en que la ecuación es llevada a cabo...

Osea esta corrección.

sensorValue = ((analogRead (analogInPin)/1024)*4.9); // convierte a mV

O puedes hacer, que ayuda a no liarse con los () muchas veces, es hacer algo así.

int pin0read = analogRead (analogInPin);

sensorValue = (pin0read/1024)*4.9;

;) De seguro con lo de arriba ya solucionas el código y funcionará para más de 1 sensor. Lo que no me queda claro es lo de dividirlo por 1024 y multiplicarlo por 4.9 (Esto nos dará sólo valores de 0 a 4.9) y nos los mV que haces referencia.

¿Tenés el nombre o código del sensor que usas? Me gustaría saber eso, para saber cuál es la fórmula a usar en Arduino para transformar sus lecturas en Temperatura.

My 3x3x3 Led Cube

[url=http://arduino.cc/forum/index.php/topic,1642

Go Up