Disfruta de millones de libros electrónicos, audiolibros, revistas y más

A solo $11.99/mes después de la prueba. Puedes cancelar cuando quieras.

Aprender Arduino, prototipado y programación avanzada con 100 ejercicios

Aprender Arduino, prototipado y programación avanzada con 100 ejercicios

Leer la vista previa

Aprender Arduino, prototipado y programación avanzada con 100 ejercicios

valoraciones:
4.5/5 (3 valoraciones)
Longitud:
407 páginas
2 horas
Editorial:
Publicado:
19 may 2019
ISBN:
9788426727404
Formato:
Libro

Descripción

Realizar proyectos complejos de programación y electrónica, como las interrupciones, _ltros y el prototipado del hardware de Arduino UNO, puede generar problemáticas difíciles de resolver.

Si quieres ir un paso más allá con Arduino y dominar completamente su electrónica, su hardware y su programación, este es tu libro.

Esta guía se adentra en las funcionalidades más complejas de Arduino, mediante 100 ejercicios prácticos, para llevar a cabo proyectos con una mayor robustez y un aspecto profesional.

· Entenderás el funcionamiento y la programación de los distintos tipos de comunicación que integra Arduino.
· Desmontarás un Arduino y serás capaz de diseñar su PCB con un entorno intuitivo.
· Descubrirás las soluciones que ofrece un condensador.
· Aprenderás recursos de programadores profesionales.
· Mejorarás las prestaciones de un Arduino con módulos.
· Aprenderás a programar tu propio interfaz de control para Arduino con Processing.

Además, en la parte inferior de la primera página del libro encontrarás el código de acceso que te permitirá descargar de forma gratuita los contenidos adicionales del libro en marcombo.info.
Editorial:
Publicado:
19 may 2019
ISBN:
9788426727404
Formato:
Libro

Sobre el autor


Relacionado con Aprender Arduino, prototipado y programación avanzada con 100 ejercicios

Libros relacionados

Artículos relacionados

Vista previa del libro

Aprender Arduino, prototipado y programación avanzada con 100 ejercicios - Rubén Beiroa Mosquera

001

La electrónica no es ideal

•Cuando trabajamos con un componente electrónico, ya sea una resistencia, un led o los propios cables, tenemos que partir de la premisa de que no son ideales.

•Esto significa que, cuando utilizamos una resistencia de 1 kΩ, su valor real no es ese. Y ¿cuál es? Cada fabricante vende resistencias con una tolerancia.

•La tolerancia es el valor que nos dice cuánto puede variar el valor de una resistencia de lo esperado; es decir, cuál puede ser su valor máximo y mínimo, que suele expresarse en porcentaje.

•De tal modo que, si comparamos una resistencia de 1 kΩ con una tolerancia del 2 %, su valor real oscila entre 1020 y 980 Ω; por lo tanto, siempre será importante medir el valor de la resistencia con un multímetro.

•Este hecho que ocurre con las resistencias se puede extender al resto de la electrónica y, como la base de la electrónica son las señales eléctricas, estas también tendrán sus «tolerancias».

•Esto nos lleva a realizar un pequeño caso de demostración: montamos un simple circuito en donde conectaremos un pulsador y un Arduino .

•Con el siguiente programa , contabilizaremos el número de pulsaciones.

•Si pulsamos muy rápido, veremos cómo el contador alcanza un valor superior al número de pulsaciones reales; este fenómeno se conoce como «efecto rebote».

•Esto se produce por el mecanismo del pulsador ; es un elemento mecánico que consta de una lámina de metal que hace contacto con sus patillas. Al pulsar la unión entre la lámina de metal y las patillas, sufre una serie de vibraciones o rebotes.

•Estos rebotes repercuten en la señal .

•El Arduino considerará estos rebotes como pulsaciones y es por eso que el contador no refleja el número real de pulsaciones que hemos efectuado.

•Pero este fenómeno tiene una solución tanto por software como por hardware lo que nos llevará en los próximos capítulos a estudiar los condensadores.

•La solución a este fenómeno se conoce como pulsador antirebore (Debounce):

•Debounce por hardware

•Debounce por software

002

Introducción a los condensadores

Un condensador es un componente electrónico ampliamente usado; para empezar a entender lo que es un condensador, podemos compararlo con una pila o batería ya que, como veremos, es capaz de almacenar carga eléctrica. Se fabrican diferentes tecnologías de condensadores que se diferencian, básicamente, por el tipo de material:

•A lo largo de este capítulo y de los siguientes nos centraremos en el estudio de los condensadores electrolíticos.

•Estos condensadores tienen polaridad, por lo que hay que tener especial cuidado a la hora de realizar las conexiones.

•Los condensadores electrolíticos disponen de dos patillas, una más larga que la otra y que, si revisamos el encapsulado, veremos una franja, por lo general, de un color gris en el lado de la patilla corta.

•En el caso de los condensadores electrolíticos, el símil con una pila es muy aproximado ya que, al igual que esta, dispone de dos polos (patillas).

•La patilla larga representa el polo positivo y la corta, el negativo; por lo tanto, debemos respetar su polaridad.

•Si un condensador se encuentra sometido a una diferencia de tensión, iniciará un proceso de carga hasta que iguale el valor de la tensión a la que se encuentre sometido.

Con el siguiente caso práctico, comprobaremos el funcionamiento de un condensador:

1Conectamos el condensador de 1000 μF y 25 V y una resistencia de 330 Ω en serie y a 5 V .

2Al cabo de un instante el condensador se habrá cargado hasta alcanzar los 5 V, podemos hacer una comprobación con un multímetro.

3Ahora conectamos el condensador y la resistencia a un diodo led .

4Veremos cómo rápidamente el led empezará encendido y, según se vaya descargando el condensador, el led se irá apagando.

5Si esto se produce muy rápido, podemos cargar el condensador con una pila de 9 V, para que el led no se apague tan rápido.

Con este simple caso, hemos comprobado el funcionamiento de un condensador, es un componente simple pero con el que conseguiremos realizar circuitos complejos.

La importancia de un condensador viene en sus características de carga y descarga. Con los condensadores, podemos realizar filtros para, por ejemplo, eliminar los rebotes de una señal, pero, para eso, debemos profundizar más en su estudio y lo haremos a lo largo de los siguientes capítulos. Aun así, ya tenemos conceptos que podemos analizar:

•La unidad de los condensadores son los faradios (F); en el caso anterior, 0,001 F.

•Todos los condensadores soportan una tensión máxima; en el caso anterior era de 25 V.

•Como existen diferentes condensadores, cada uno de ellos tiene su propia representación (en el caso del electrolítico, es la siguiente ).

003

Propiedades de un condensador

La capacidad es una propiedad de los condensadores, que nos indica la cantidad de carga eléctrica que pueden almacenar, que dependerá de la tensión de carga.

La fórmula que define un condensador es la siguiente:

Q = C * V

Q -> carga (culombios)

C -> capacidad (faradios)

V -> voltios

De la expresión anterior deducimos que la carga que almacena un condensador dependerá de la capacidad de este por la tensión de carga; por lo tanto, en el capítulo anterior que teníamos un condensador de 1000 μF a una tensión de carga de 5 V, la carga que almacena es de 0,005 culombios.

•Un culombio es la cantidad de carga transportada por segundo (1 C = 1 A * s), y a su vez 1 C = 6,24 * 10 ^ 18 electrones.

Hasta aquí hemos estudiado el comportamiento básico del condensador, así que pasemos a analizar sus características de carga y descarga.

Cuando un condensador se carga o descarga, no lo hace de forma lineal. Si tuviéramos que hacer una gráfica que represente este proceso, se mostraría una gráfica en forma de curva; para entender este fenómeno, será necesario un ejemplo de la carga de un condensador:

1. Conectamos una resistencia de 1 kΩ en serie con un condensador de 1000 μF al pin A0 (valdría cualquier otro pin).

2.Una vez activemos la salida, el condensador se empezará a cargar: la intensidad inicial a la que lo haga será la intensidad máxima. A medida que se vaya cargando, irá disminuyendo .

3.Esta intensidad se puede calcular por la ley de Ohm, V = R * I -> I = V / R -> I = 5 / 1000 = 5 mA.

4.Este efecto es debido a la conexión en serie entre la resistencia y el condensador. Inicialmente, la tensión del condensador será 0 V, por lo tanto, la diferencia de tensión en la resistencia es de 5 V, lo que haría que la intensidad fuese de 5 mA .

5.El condensador se irá cargando por el flujo de intensidad, al igual que un vaso cuando abrimos un grifo y se va llenando de agua.

6.Supongamos que el condensador acaba de llegar a los 2,5 V, pues resulta que, si analizamos el circuito , la resistencia ya no tiene una caída de tensión de 5 V sino de 2,5 V, por lo tanto, la intensidad será de I = 2,5 / 1000 = 2,5 mA.

7.Esto se producirá a lo largo de la carga del condensador. Entonces, ¿cómo podemos saber en qué momento se cargará el condensador? Existe una fórmula matemática que nos dice que el condensador llegará al 63,2 % de la carga en un tiempo tau (t).

t = R * C

8.La unidades con las que debemos trabajar en la ecuación anterior son Ω y F, para que el resultado sea en segundos.

9.El tiempo final para el cual el condensador estará cargado totalmente será 5 * t.

Vamos a realizar un caso práctico para comprobar estas leyes, pero, para ello, tenemos que ampliar nuestro lenguaje de programación.

004

Gestión de tiempo: millis() y micros()

El lenguaje de programación, aparte de las instrucciones ya conocidas como <> y <>, dispone de otras para la gestión de tiempo.

•millis()

•Esta instrucción no necesita parámetros y nos devuelve el tiempo que lleva encendido el Arduino; este tiempo viene expresado en milisegundos.

•Nos devuelve un valor tipo unsigned long, lo que quiere decir que el valor devuelto varía entre 0 y 4.294.967.295.

•Si hacemos la operación: 4.294.967.295 / (1000 * 60 * 60 * 24), el resultado aproximado será de 50 días.

•Por lo tanto, esta instrucción al cabo de 50 días se resetea (su valor interno) y vuelve a contar desde cero.

•micros()

•Esta instrucción no necesita parámetros y nos devuelve el tiempo que lleva encendido el Arduino; este tiempo viene expresado en microsegundos.

•Nos devuelve un valor de tipo unsigned long, lo que quiere decir que el valor devuelto varía entre 0 y 4.294.967.295.

•Si hacemos la operación: 4.294.967.295 / (1000000 * 60) el resultado aproximado será de 70 minutos.

•Por lo tanto, esta instrucción al cabo de 70 minutos se resetea (su valor interno) y vuelve a contar desde cero.

Nos ayudaremos de las instrucciones anteriores para comprobar las reglas que fijan el comportamiento de un condensador en el proceso de carga; de lo que se trata es de comprobar el tiempo que tarda el condensador en alcanzar los valores clave, que son los de la carga al 63,2 % y al 100 %.

1.Para medir los tiempos, es necesario muestrear el valor del condensador; esto se hará con la entrada A1 .

2.Según las ecuaciones vistas en el capítulo anterior y utilizando los mismos valores de resistencia y condensador, este alcanza el 63,2 % de la carga en 1 segundo y el 100 % en 5 segundos.

3.En el programa pondremos una pequeña tolerancia, de 0,05 V (10); por eso se considera que, cuando el condensador alcanza 4,95 (1013), se ha cargado totalmente y, con 0,05 V, está totalmente descargado.

4.El valor del 63,2 % de la carga lo alcanza cuando llega a un valor de tensión de 3,16 V cuyo valor de lectura equivale a 646.

5.Cuando visualizamos el resultado, vemos que se aproxima al resultado esperado y las pequeñas desviaciones que encontramos son normales.

005

Descarga de un condensador

En el capítulo anterior estudiamos cómo se comportaba un condensador en el proceso de carga y, en este capítulo, estudiaremos el proceso de descarga. Un condensador, cuando se descarga, se comporta del mismo modo que cuando se carga, es decir, se cumplen las mismas leyes y utilizaremos las mismas ecuaciones matemáticas, pero, antes de ver esto, tenemos una ecuación más compleja que las vistas anteriormente con la cual podemos obtener el valor de carga del condensador para cada instante o, lo que es lo mismo, saber en qué momento alcanzará un determinado valor de tensión.

Como el proceso de descarga de un condensador es similar al de carga, rigen las mismas ecuaciones, pero definirán un comportamiento inverso:

•Seguimos manteniendo el margen de tolerancia (0,05 - 4,95 V).

•El condensador tardará R * C segundos en descargarse un 63,2 % de su carga o, lo que es lo mismo que se descarga hasta el 36,8 %.

•Ese 36,8 % supone que el condensador tiene una carga de 1,84 V, que, si lo traducimos a la lectura de un Arduino, es un valor de 376.

•Teniendo esto en cuenta, cargamos el siguiente programa y analizaremos los resultados.

A

Has llegado al final de esta vista previa. ¡ para leer más!
Página 1 de 1

Reseñas

Lo que piensa la gente sobre Aprender Arduino, prototipado y programación avanzada con 100 ejercicios

4.7
3 valoraciones / 0 Reseñas
¿Qué te pareció?
Calificación: 0 de 5 estrellas

Reseñas de lectores