Pages: [1]   Go Down
Author Topic: leer voltajes  (Read 3820 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola buenas, soy nuevo con arduino y no se como hacer que arduino, me lea unos valores de voltaje, es decir, yo tengo unos voltajes que van de 0 a 5v, y necesito realizar una lectura constante de esos valores, para hacer una comparativa, ya que esos valores representan una equivalencia de watios.
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Para leer voltajes usa la función analogRead conectando el cable del que quieras leer el voltaje a una de las entradas de la zona 'Analog In'
http://www.arduino.cc/es/Reference/AnalogRead

Te devuelve un valor de 0 a 1023, siendo 0->0V y 1023->5V

Un saludo y bienvenido al foro
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Muchas gracias Chiva, lo pruebo esta noche...

De verdad muchas gracias por orientarme...
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

De nada hombre!
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola Chiva, he probado lo que me has comentado y va perfecto.

Ahora tengo otra duda, tengo el lcd-keypad, utilizo la librería LCD4Bit_mod lcd, cuando intento representar el valor de la lectura del pin 3, me sale el caracter, o me dice que la variable no es char.

He probado lo siguiente:

int analogPin = 3;     // el pin analógico 3 conectado al dial de un potenciómetro (terminal central del potenciómetro)
                       // los terminales exteriores del potenciómetro conectados a +5V y masa respectivamente
int val = 0;           // declaración de la variable en la que se almacenará el valor leído por el conversor.

void setup()
{
  Serial.begin(9600);          //  Inicialización del modulo Serial.
}

void loop()
{
  val = analogRead(analogPin);    // lee el valor de tensión del pin
  Serial.println(val);             // envía el valor leido vía serial.
}

para que me lea del pin 3 el voltaje.

Para que me imprima en el lcd:

Inicio el lcd y le pongo lo sguiente:

lcd.print(val); //ME SALE EL CARACTER QUE REPRESENTE LA VARIABLE VAL, PERO NO ME SALE POR EJEMPLO 1023.

lcd.printIn(val); //CUANDO LE DIGO UPLOAD AL ARDUINO ME DICE LO SIGUIENTE:
error: invalid conversion from 'int' to 'char*

Me puedes ayudar??

Te cuento un poco mi proyecto... Estoy intentando hacer un menú, en el cual el usuario pueda seleccionar diferentes opciones, cambiar datos y leer datos, de perifericos conectados. Por ejemplo, tengo una placa de una alarma, que envía un voltaje de 0 a 5, dependiendo de los diferentes estados, pues bien la idea es que cuando, el usuario pulse en ver parametros, al cliente le aparezca el estado, consultando previamente dicha lectura.

No se si me he explicado muy bien o no, espero que me entiendas o que me entiendan.

Un saludo y gracias!!!!
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues a mi me compila y funciona perfectamente con lcd.print(val)
Mira a ver si puedes poner todo el código, si es muy largo usa http://pastebin.com/ y luego pones aquí el link.

Un saludo
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Valencia, España
Offline Offline
Newbie
*
Karma: 0
Posts: 49
Arduinomaniaco
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

igual digo una tonteria, pero no sera...

has puesto:
lcd.printIn(val);         con I ?

no es print.Ln(val); ? como en serial.printLn() ?
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ya me perdonarás, no me había fijado en eso

¿El comando printIn que se supone que hace? No lo encuentro en ningún sitio.
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas... Perdonado estas, no hace falta que pidas perdón, pues por lo que he podido ver el lcd.printIn("variable") imprime solo texto o caracteres, pero no variables definidas como int, sino como char.

Pues no dices ninguna tontería, para que me represente el valor, tiene que ser "L".

Por cierto, si los valores fueran mayor que 5v por ejemplo 12, la proporción sería la misma, que cada paso sería de 0,0049 voltios. Y si fuese un voltaje negativo por ejemplo -5v sería lo mismo???

De nuevo muchas gracias!!!
« Last Edit: June 24, 2010, 01:46:30 pm by jordi-exa » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Lo estaba probando y me dice lo siguiente:

error: 'class LCD4Bit_mod' has no member named 'printLn'.

Me dices que a ti te funciona??

Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dime que versión de Arduino estás usando y qué librería usas para comunicar con el LCD (lo que pones al principio en #include)
Aunque como te he dicho antes, te agradecería que pusieras todo el código, pero eso es ya tu decisión.

Y otra, ¿que se supone que tiene que hacer printIn y por qué lo usas?
Por lo que has escrito, printLn no existe y printIn si, y como te he dicho en el anterior post a mi me funciona lcd.print(val) y me escribe en la LCD el número de 'val', si es un int de valor 1015, escribe '1015'.

Por otra parte, las entradas del Arduino, solo aceptan hasta 5V, por lo que 12V no lo podrías poner directamente a no ser que usaras un divisor de tensión, pero perderías resolución cuanto más voltaje quieras medir.
Y lo mismo con negativos, tendrías que invertir la polaridad, pero rara vez se usan voltajes negativos a excepción de alimentaciones.

Un saludo y de nada
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hola me acabo de comprar el mismo lcd con teclado que ustedes y no tengo ni idea de como funciona me pueden indicar donde encontrar algun manual. o como controlar los botones que bienen integrados.
Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 956
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perdonar...

¿No habreis puesto   "printLn"???

Que debe ser en minusculas:

   Serial.println
  
   Serial.println(val)

Mirar este enlace o la reference del IDE:
   http://arduino.cc/en/Serial/Println
Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Pages: [1]   Go Up
Jump to: