Analog Test With Arduino
Analog Test With Arduino
Uso de cookies
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
00
0 ARTÍCULOS
0 € VACI
AR
LOVE I
S SHARI
NG CARRI
SOPORTE TÉCNI CO TO
[email protected]
DESCUBRE NUESTRAS TI
ENDAS!!
I
NICI
O PRODUCTOS OUTLET SERVI
CIOS TELEFONÍA TI
ENDAS MICUENTA NOTI
CIAS EVENTOS
CONTACTO
Inicio | Open Source | Arduino | Tutorial Arduino # 0003 – Entrada Analógica y Salida PWM
PRODUCTOS DESTACADOS
Tutorial Arduino # 0003 –
Entrada Analógica y Salida
PWM
icon-calendar Fecha: 19
noviembre, 2011
IMPRESORA 3D
ULTIMAKER 2 EXTENDED
Compartir en 3,045.00 €
POST POPULARES
JUN CASO DE
ESTUDIO:
# 0003 – Entrada Analógica y Salida PWM 26 250.000 € DE
AHORRO AL AÑO
Bienvenidos a un nuevo tutorial básico sobre Arduino. EN AUTOMOCI ÓN CON
IMPRESORA 3D
MOEBYUS M3
GRAN FORMATO
14,995.00 €
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 2 of 13
IMPRESORA 3D
Uso de cookies SIRIUS
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación1,410.00
de las €
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
Últimos Tweets
◾ 1 x Resistencia 470 Ω
RT @3Dnatives_en: The
◾ 1 x Potenciómetro 1KΩ
3Dnatives Lab is back with
◾ 1 x Protoboard its latest test of the
Ultimaker 3! #3Dprinting
◾ 1 x Juego de cables
#3Dprinter #Test #Ultimaker
https://t.co/D…
24/07/2017 11:37:10
Parte 2: Diseñandoel Hardware…
En este proyecto Arduino vamos a realizar dos ejemplos con un mismo circuito, la diferencia entre ellos la observaremos Seguinos en Twitter
es el apartado de programación, en cuanto a hardware tenemos la novedad de este proyecto en el uso de un
potenciómetro combinado con una entrada analógica, así que primero aclararemos unos conceptos.
¿Qué es un potenciómetro?
Un potenciómetro es una resistencia de tipo variable con tres patillas, entre las dos de sus extremos tendremos siempre
una resistencia fija dada por del valor máximo de nuestro potenciómetro, pero entre cualquiera de esos extremos y la
patilla central obtendremos la variación de resistencia, tenéis disponible un tutorial sobre este componente AQUI.
En este proyecto, vamos a utilizar el potenciómetro como un divisor de tensión, primero veamos como se conecta para
que esto sea posible.
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 3 of 13
Uso de cookies
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
Como podemos ver, debemos colocar uno de los extremos a masa, otro a +Vcc y nuestra patilla central será nuestra
tensión de salida regulable, esta salida será la que conectemos a Arduino y que variará de 0v a 5v dependiendo de la
posición de nuestro potenciómetro.
Si estamos utilizando un Arduino Uno, las entradas analógicas vienen identificadas desde A0 hasta A5 como podemos
ver en la siguiente imagen:
En
cuanto a la salida, colocaremos la ya conocida configuración de LED más resistencia, pero deberemos tener algo en
cuenta, para el primer ejemplo nos daría igual la salida digital a elegir, pero para el segundo es necesario que
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 4 of 13
seleccionemos una salida con PWM, si tenéis un Arduino Uno, las salidas serán la 3, 5, 6, 9, 10 y 11 como se puede ver en
laUso de cookies
siguiente imagen:
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
A menudo necesitaremos algo más que una señal de 0 o 1 en nuestros proyectos, para variar la velocidad de giro de un
motor, para variar la intensidad con la que luce un diodo, para transmitir los grados de giro de un servo, etc..
Para todo esto, y mucho más, nos servirá el PWM, que emula una señal analógica a partir de una señal digital.
Las siglas PWM vienen de Pulse Width Modultation, o Modulación de Ancho de Pulso.
Lo que hace este tipo de señal es emitir, en lugar de una señal continua en nuestra salida, emite una serie de pulsos que
podremos variar su duración pero con una frecuencia constante de aproximadamente 490Hz, de manera que la tensión
promedio resultante, es directamente proporcional a la duración de estos dentro del rango de nuestro periodo, es decir,
cuanto más juntos estén esos pulsos de +5v, mayor será la tensión promedio de nuestra salida, y cuanto más distantes
sean estos, menor será dicha tensión:
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 5 of 13
Uso de cookies
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
Veamos un video del PWM en acción, observar como se corresponde la intensidad lumínica del LED con el ancho de pulso
observado en el osciloscopio:
La manera de controlar el nivel de salida en nuestro Arduino, la podremos ver en la sección de programación de este
tutorial.
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 6 of 13
Uso de cookies
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
El circuito en si mismo es muy sencillo, pero en el apartado de programación podremos ver la versatilidad del mismo
para diferentes aplicaciones, así que no esperemos más…
Parte 3: Programando…
El primer ejemplo que vamos a tratar es la adquisición de datos en la entrada analógica A0 para variar la frecuencia de
parpadeo de un diodo LED conectado a una salida digital cualquiera, veamos el código al completo:
/*
Tutorial # 0003 Arduino Academy Entrada analógica
void setup() {
// Declaramos el pin del Led como salida:
pinMode(pinLed, OUTPUT);
}
void loop() {
// Leemos el valor del sensor y lo almacenamos:
valorSensor = analogRead(pinSensor);
// encendemo el diodo LED:
digitalWrite(pinLed, HIGH);
// Detenemos el programa durante <valorSensor> milisegundos:
delay(valorSensor);
// Apagamos el diodo Led:
digitalWrite(pinLed, LOW);
// Detenemos el programa durante <valorSensor> milisegundos:
delay(valorSensor);
}
analogRead(pinSensor)
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 7 of 13
Esta instrucción nos permite leer cualquier sensor que conectemos al pin analógico establecido en “pinSensor”, por
Uso denuestra
defecto, cookies
placa Arduino nos realizará una conversión analógico-digital para toda señal (40mA máximo) de 0v a 5v
con
Esteuna
sitioresolución
web utiliza de 10 bit,
cookies loque
para queusted da 210la(1024)
nos tenga valores de de
mejor experiencia referencia para
usuario. Si nuestro
continúa programa,
navegando está siendo 0 consentimiento
dando su en 0v y para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
1023 en +5v, en posteriores ejemplos veremos como ese rango de tensión en el que se realizan las mediciones se puede
variar para que, por ejemplo, empiece a lanzarnos valores a partir de 2,2v.
Con esto, y observando un poco el programa, podemor ver que el intervalo entre encendido y apagado de nuestro diodo
LED podrá variar entre 0 y 1023 milisegundos, si quisiéramos aumentar más el tiempo de los intervalos podríamos
aplicar alguna operación matemática al valor de nuestro sensor, por ejemplo, si añadiéramos la línea de código que se
puede observar debajo de la toma de datos del sensor obtendríamos un incremento del tiempo cuatro veces mayor:
Sin variar el circuito, vamos a introducir un nuevo código para realizar un ejemplo diferente, en este proyecto, nuestro
diodo LED variará su intensidad lumínica en función del valor que esté aportando el potenciómetro a nuestra entrada
analógica, esto es el llamado efecto fading (desvanecimiento), puede observarse que se ha elegido la salida número 9, ya
que esta sí que es compatible con la opción PWM como se explica algo más arriba.
/*
Tutorial Arduino # 0003 Efecto Fading
void setup() {
pinMode(pinLed, OUTPUT); // Establecemos el pin como salida.
}
void loop() {
// Leemos el valor del sensor y lo almacenamos:
valorSensor = analogRead(pinSensor);
// Establecemos el valor analógico para la salida PWM
analogWrite(pinLed, valorSensor / 4);
// Detenemos el programa durante 30 milisegundos:
delay(30);
}
Esta será la instrucción que nos permitirá emular una señal analógica a partir de una digital en nuestros circuitos, como
explicaba algo más arriba.
El rango de salida de esta instrucción varia de 0 a 255, siendo 0 = 0v y 255 = 5v, por lo que es tan sencillo como introducir
un valor determinado para la tensión de salida que nosotros queramos conseguir, si quisiéramos conseguir 2,5v el valor
a asignar sería 127.
Así que lo único que debemos hacer es transformar mediante una simple operación matemática la señal tomada en
nuestro potenciómetro para adaptarla a nuestra salida PWM.
Como hemos visto en el ejemplo anterior, los niveles de entrada son de 0 a 1023, y si los niveles de salida, deben ser de
0 a 255… Os dejo a vosotros la deducción, y la línea de código por si no caéis en cuenta.
Esta es una manera algo tosca para realizar esta conversión, más adelante veremos como hay una instrucción que hace
esto por nosotros.
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 8 of 13
Hasta pronto!!!
Uso de cookies
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
COMENTARIOS
GATOLOCO65 Gracias por tan buenos tutoriales, me han ayudado a entender mejor y de una
mar, 26 - 2012 manera ordenada el funcionamiento y programación de la placa Arduino.
LEANDRO muy bueno el aporte gracias, tambienqueria saber si podes llegar a saber algo de
oct, 23 - 2012 conectar sensores piezoelectricos a la placa arduino como para fabricar una
bateria electronica y si tendrias algun esquema de conexion muchisimas gracias
y muy buenos aportes saludos
PABLO Hola!
MURILLO
Échale un ojo a esto a ver si te sirve.
oct, 25 - 2012
http://www.arduino.cc/es/Tutorial/KnockSensor
Un saludo!!
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 9 of 13
Uso de cookies
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
NICKO muy bueno siempre los tutos…. este en particular me abre una puerta para un
oct, 27 - 2012 proyecto que quiero empezar…. en cuanto tenga algo lo comparto. muchas
gracias
TXIBU Gracias por los tutoriales, són geniales para inciarse. Una pregunta, al ser una
nov, 1 - 2012 resolución de 10bits, 1024 posibles valores, el rango no sería de 0 a 1023? Quizá
se os haya colado un error en el artículo
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 10 of 13
Uso de cookies
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
PEDRO ALDO Hola que tal excelente tutorial me abrio el panorama, pero tengo una duda y
dic, 5 - 2012 problema, estoy trabajando con un cicuito de sensor infrarrojo y me arroja un
valor maximo de 4V obviamente cuando coloco algo entre el led y el fotodetector
el voltaje disminuye y necesito que Arduino me lea este voltaje para yo poder
transferir a processing y ya mostrarlo mas graficamente. Pero no logro
comprender como hacerlo, como logro que Arduino lea un valor de voltaje y lo
conserve tal cual para yo llamarlo desde processing. Agradeceria tu respuesta.
Saludos
CLAUDIA Excelentes tutoriales! me han servido mucho para empezar a interactuar con mi
PINCHEIRA placa Arduino.
dic, 12 - 2012 Creo haber encontrado un typo en el artículo, cuando dices “…con una resolución
de 10 bit, lo que nos da 210 (1024) valores…” creo que debe decir 2^10 y no 210.
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 11 of 13
LUDWING Gracias!!!!!!
Uso de cookies feb, 13 - 2013
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
ANTONIO Hola Pablo, lo primero que quiero es dar la gracias por las explicaciones sirven
RANEA de mucha ayuda, yo soy un novato en esto y estoy empezando a realizar cosas
feb, 15 - 2013 con mi Mega 2560. El ejemplo de atenuar la intensidad me ha gustado una
preguntilla por que se ponen los 30 milisegundos de retraso para que sirve este
parametro, un saludo y gracias de antemano.
PABLO Hola!
MURILLO
Es simplemente para que la velocidad de cada ciclo (loop) se
feb, 15 - 2013 reduzca un poco, puedes probar a quitarlo y ver que pasa!
Un saludo!!
http://www.arduteka.com/wp-content/uploads/2011/11/Proyecto-
Arduino-0003-Protoboard.jpg
PABLO Hola!
MURILLO
Échale un vistazo al tutorial sobre la protoboard!
feb, 18 - 2013
http://www.arduteka.com/2011/11/tutorial-arduino-
mi-primera-protoboard/
Un saludo!
RONAL JR.
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 12 of 13
feb, 19 - 2013 muy bueno el tutorial me sacaste de un apuro, oye amigo y cual es esa
Uso de cookies instruccion que mensionas para hacer la conversion en lo que se refiere a la
salida
Este sitio web utiliza cookies para que usted tenga PWM,experiencia
la mejor te lo agradeceria mucho…..gracias!!!
de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
PABLO Hola!
MURILLO
Pásate por el foro http://www.arduteka.com/foro y allí,
mar, 21 - 2013
entre todos, intentaremos solucionar tus dudas!
Un saludo!
PABLO Hola!
MURILLO
Pásate por el foro http://www.arduteka.com/foro y allí,
mar, 21 - 2013
entre todos, intentaremos solucionar tus dudas!
Un saludo!
LÓPEZ Hola! Muy buenos tutoriales, así parece fácil y todo. Sólo hay una cosa que no me
feb, 22 - 2013 queda clara: en este programa inicializas el pinLed ”pinMode(pinLed, OUTPUT);”
pero no el pinSensor. ¿En qué casos declaras un pin como input/output en la
función setup y en cuáles no?
PABLO Hola!
MURILLO
Pásate por el foro http://www.arduteka.com/foro y allí,
mar, 21 - 2013
entre todos, intentaremos solucionar tus dudas!
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017
Tresdeland - Tu mundo 3D Page 13 of 13
Un saludo!
Uso de cookies
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las
mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.
SANTI Excelente. Muy claro para los que estamos empezando con esto. Gracias
feb, 24 - 2013
https://www.tr3sdland.com/2011/11/tutorial-arduino-0003-entrada-analogica-y-salida-pwm/ 9/1/2017