leer voltaje

hola, me gustaria saber como es posible mediante una entrada analogica del arduino medir voltajes superiores a 5v ya que he estado leyendo y si de 0 a 5v es capaz de leer pero si quiero leer hasta 12v como hago? y luego leyendo la variable me he dado cuenta de que te lo espresa de 0 a 1023 pero y eso como lo convierto de nuevo en voltios?

gracias

Tal vez te sea de utilidad este mensaje: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1289288137

Hola, quizás con un divisor de tensión ....

tipo R1 = 100 k R2 = 200 k.....

mírate este post (es de "nuestros primos" PIC's ) quzás te sirva

http://www.ucontrol.com.ar/forosmf/proyectos-con-pic/como-medir-0-12v-con-el-adc-de-un-pic/

Únicamente decirte lo de siempre, antes de "darle" caña, prueba con un tester a ver que te sale .... después un escalar y ya está

Saludos.!!!! ;D

he leido los dos y nada complicadisimo lo veo y encima esta el tema que incluso onque consiguiese medirlo luego nose como hacer para que el arduino no mueste de 0 a 1024 sino de 0 a 12v

Tan sencillo como esto:

byte voltaje = map(analogRead(0), 0, 1024, 0, 12);

Aunque puedes obtener una resolución 10 veces mayor con:

byte voltaje = map(analogRead(0), 0, 1024, 0, 120);

donde 120 sería 12,0 voltios

Un saludo

sencillo???? jajajaj ni de coña no entendi el funcionamiento en absoluto xd si puedes explicarme un poko en que consiste para la proxima vez no tener que pedir ayuda please? esq si no entiendo como funciona otro dia estare = que hoy...

de todas maneras te reiras de mi pero nose en que parte del skecht poner esa linea...

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); // AQUI???
Serial.println(val); // envía el valor leido vía serial.
}

Acuérdate que tienes todas las funciones explicadas en la referencia, por eso no la expliqué:
http://arduino.cc/es/Reference/Map

Podrías poner algo así:

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 = map(analogRead(0), 0, 1024, 0, 120);
    Serial.println(val);             // envà a el valor leido và a serial.
}

Un saludo

jajaja si en ello toi! leyendo las referencias es como he aprendido a leer el valor pero de comvertirlo no se habla nada... y creo que esto es algo basico al menso de 0 a 5v que no expliquen como hacer con mas de lo que el arduino trabaja lo entiendo pero vamos hay cosas basicas que deberian estar ya includas en las referencias para no tener que estar molestando con cosas tan basicas en el foro.

muchas gracias voi a ver que tal funciona onque no entiendo en absoluto donde se hace la conversion... solo que 0 y 1024 son minimo y maximo y luego aparece 0 y 120 que nose que demonios hacen en al variable sin decirlo que lo transforme ni multiplique ni na de na... o muy listo es o algo me perdi xd

un saludo

bueno para empezar por algo basico sin arriesgar el arduino comence uçcon una bateria de movil de 4,5v de litio la cual en el polimetro me da 4,50 4,49 y el arduino me dice 453 lo cual es bastante preciso. pero ahora viene otra pregunta como hago para separar los enteros de los decimales? es decir en vez de 453 que marque 4,53? y luego he intentado decirlo que detras va una v pero me da error con lo cual no se como acompañar ese valor con texto delante o detras...

el codigo que estoi usando este para la bateria de 4,5v:

int analogPin = 0;     // el pin analogico 0 conectado al dial de un potenciometro (terminal central del potenciometro)
                      // los terminales exteriores del potenciometro conectados a +5V y masa respectivamente
int val = 0;           // declaracion de la variable en la que se almacenará el valor leido por el conversor.

void setup()
{
    Serial.begin(9600);          //  Inicializacion del modulo Serial.
}

void loop()
{
    val = map(analogRead(0), 0, 1024, 0, 500);
    Serial.println(val);             // envia el valor leido via serial.
    delay(1000);
}

Aquí tienes un ejemplo completo para utilizar Arduino como polímetro: Arduino LCD Battery tester | Warranty Voider
espero que te sea de utilidad.

Mas claro no canta un gallo asi que esta todo bien comentado y claro gracias por el link.

Saludos.
Atten.
Alexander Santana.
Venezuela-Barcelona.

muchas gracias la verdad esq de hay se puede sacar todo lo necesario para cada uso la cuestion es xq demonios cuesta tanto encontrarlo ya que he biuscado entre cientos de webs y en español pokisimo y encima nada claro y sencillo y no entiendo xq no aparecio en la buskeda esa web....

no podria meterse en la zona playground? creo que vendria genial pero nose si es legal ni posible ni nada asiq los que entendeis un poko mas aver si me lo confirmais y si eso la subo o la subis o lo que sea pero esa web debe de ser accesible ya que creo q es de mucha utilidad y encima mucha gente pierde el tiempo preguntando lo mismo que yo.

Cambia el tipo de variable a real y divide entre 100

chiva me kedo a cuadros... cambia la variable a real y divide entre 100 (no me entere de nada de nada) que variable y xq entre 100 y no entre 1024 que es lo que el arduino distingue.... bueno y lo de cambiar a real tampoko entiendo que es...

gracias

hermano busca la teoria de AD y veras del porque de todo y sus resolucion.

saludos.
Atten.
Alexander Santana.
Venezuela-Barcelona.

no se que hablas de la teoria del ad pero bueno... creo que el foro esta para aprender y preguntar si no quieres o puedes aportar una respuesta pues perfecto, pero para decir burradas esta uno mejor callado

mmmm
Veo que esto se está saliendo de madre, con perdón de la expresión.

ASTROCAR: Es cierto que nadie "nace" aprendido, y que algunas preguntas puedan ser "obvias" pero lo que dice nuestro compañero es cierto, los foros están para aprender.

PD: Con esto no quiero iniciar una guerra (ya he sufrido esto en muchos foros y la verdad, una vergüenza)

Saludos a todos.!

iceman en eso estoi de acuerdo tampoko es mi intencion tener mal rollo con nadie pero creo que por preguntar algo que para mi es nuevo no es algo malo que la gente que entiende le parecera una tonteria pues cierto pero para el que no entiende por muy obvio que sea no lo ves y no lo ves. y es facil leer copiar y pegar pero el dia de mañana te encuentras en la misma situacion y quizas no tengas a nadie para pedir ayuda por eso intento comprender el por que y no solo leer la respuesta que copiar y pegar lo sabemos todos...

un saludo

oyee, pero es que yo no lo dije con mala intension solo que en la teoria de AD puede ver mas clara la cosa o mejor ahora si actuo mal y digo te busco la teoria y te la pego aca no hermano nunca tengo intensiones de ñadar a nadie y menos en foro, nose porque lo vistes de esa manera solo es que en la teoria de conversion analogica digital esta eso mas claro y es una teoria algo larga de explicar.

Saludos y de verdad lo ciento que veas las cosas por el lado mal me pareces que estar saturado porque no das solucion a todas tu inquietudes pero asi son las cosas y veras que dia a dia todo aprendemos pero no de la manera que estas señalandome.

atten.
Alexander Santana.
Venezuela-Barcelona.