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

Здесь есть возможность читать онлайн «Rubén Beiroa Mosquera - Aprender Arduino, prototipado y programación avanzada con 100 ejercicios» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: unrecognised, на испанском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Aprender Arduino, prototipado y programación avanzada con 100 ejercicios: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Aprender Arduino, prototipado y programación avanzada con 100 ejercicios»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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.

Aprender Arduino, prototipado y programación avanzada con 100 ejercicios — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Aprender Arduino, prototipado y programación avanzada con 100 ejercicios», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Las interrupciones están pensadas para dar una respuesta rápida, en ellas se deben programar unas pocas líneas o, en todo caso, que el tiempo de ejecución sea corto. Es más, dentro de una interrupción no funcionan los delay; como decía, el código que se programe se ha de ejecutar rápidamente.

Disponemos de más instrucciones para trabajar con este tipo de interrupciones:

•noInterrupts() desactiva cualquier interrupción del programa.

•Interrupts() para los casos en los que se han deshabilitado las interrupciones con la instrucción anterior y queremos que se vuelvan a activar.

•detachInterrupt() desactiva la interrupción indicada: detachInterrupt ( interrupción )

•detachInterrupt (digitalPinToInterrupt (pin));

•detachInterrupt (pin) (solo Arduino DUE y CERO).

Lo que tenemos que tener presente es que, si se ejecuta una interrupción, el programa «saltará» desde la línea de código en donde se encuentre, ejecutará las líneas de código que haya dentro de la función de la interrupción y volverá a la línea del programa desde donde ha saltado y continuará con la ejecución normal del programa.

¿Qué ocurre si se da la circunstancia de que dos interrupciones suceden al mismo tiempo? Primero se debe decir que ese caso no es muy habitual, pero, dada esa circunstancia, existe lo que se conoce como «prioridades»; esto quiere decir que hay interrupciones que son más prioritarias que otras, por lo que se iría atendiendo los eventos de las más prioritarias para dejar para el final las menos prioritarias.

Cada Arduino (en concreto, cada MCU) tiene su propia lista de prioridades. De hecho, la interrupción más prioritaria es la que atiende al reseteo de Arduino; esa es la más prioritaria de todas.

También cabe mencionar que cada Arduino tiene más o menos pines, que permiten la programación de más o menos interrupciones que otros; puede llegar a ser una condición importante para decantarrnos entre un Arduino u otro ya que, si tenemos que atender a varios eventos críticos, lo recomendable es buscar un Arduino que, por hardware, permita programar todos esos eventos como interrupciones:

•Uno, Nano, Mini o basados en el MCU 328 tienen 2 interrupciones, pines: 2, 3.

•Micro, Leonardo o basados en el MCU 32u4 tienen 5 interrupciones, pines:0, 1, 2, 3, 7.

•UNO WiFi y DUE tienen interrupciones para todos sus pines.

•Mega, Mega2560 y MegaADK tienen 6 interrupciones, pines: 2, 3, 18, 19, 20, 21.

011 Interrupciones por tiempo Parpadeo de un led En cuanto a la gestión de - фото 66 011 Interrupciones por tiempo Parpadeo de un led En cuanto a la gestión de - фото 67

011

Interrupciones por tiempo Parpadeo de un led

En cuanto a la gestión de tiempo, ya hemos trabajo con las instrucciones delay, delayMicroseconds, millis y micros.

Las interrupciones por tiempo vienen a sustituir a un delay o a un delayMicrosenconds; como ya es sabido, estas instrucciones lo que hacen es detener la ejecución de un programa durante un tiempo determinado: hasta ahora era la única forma que teníamos de ejecutar tareas temporales.

El inconveniente de esta solución es que no se puede ejecutar otra tarea y, para muchas aplicaciones, será necesario la ejecución de tareas temporales pero también atender a otras tareas; pues bien, con las interrupciones temporales, conseguimos esto mismo.

Al igual que ocurría con las interrupciones por señal, tenemos una función que se va a ejecutar sin ser llamada desde otra línea del programa y que, en este caso, lo hará cada cierto tiempo. El <> que utiliza este tipo de interrupciones son los Timers; estos mecanismos son capaces de llevar el contaje de tiempo y podemos trabajar con ellos gracias a las diferentes librerías de las que disponemos.

Cada Arduino tiene un determinado número de Timers; en concreto, el Arduino UNO tiene tres Timers. En este capítulo haremos un caso práctico utilizando el Timer 1 así que vayamos al gestor de librerías e instalemos картинка 68la librería correspondiente картинка 69:

•La instrucción <> define la función que se tiene que ejecutar.

•Con la instrucción <>, definimos cada cuánto tiempo se ejecuta la función del punto anterior. El tiempo se mide en microsegundos.

•Con estas instrucciones ya podemos hacer, por ejemplo, que un led parpadee cada segundo sin necesidad de bloquear el programa картинка 70.

Otras instrucciones de la librería TimerOne:

•<> establece un nuevo tiempo de interrupción.

•<> arranca la interrupción con el nuevo tiempo.

•<> detiene la temporización.

•<> reinicia el temporizador.

•<> configura las PWM asociadas a este Timer.

•<> establece un nuevo tiempo para las señales PWM.

•<> deshabilita la PWM.

•<> deshabilita la interrupción.

No para todos los Timers tenemos las mismas instrucciones, ya que usamos diferentes librerías para trabajar con ellos y también existen diferencias entre ellos.

Con un buen uso de este tipo de interrupciones, conseguiremos mejorar el rendimiento de nuestros programas.

012 Interrupciones p - фото 71 012 Interrupciones por tiempo Timer2 y 3 A continuación se estudiarán - фото 72 012 Interrupciones por tiempo Timer2 y 3 A continuación se estudiarán - фото 73

012

Interrupciones por tiempo Timer2 y 3

A continuación se estudiarán diferentes soluciones con el objetivo de sacar el máximo rendimiento a los Timers:

•El hecho de utilizar un único Timer no significa que solo podamos hacer una única temporización. Si buscamos la base de tiempo adecuada, podemos hacer multitud de temporizaciones; por ejemplo, hacer que 3 leds parpadeen a un ritmo diferente. En este caso картинка 74, el led conectado al pin 13 parpadea cada segundo, el del pin 12 cada 2 segundos y el del pin 11 cada 4 segundos.

•Otro posible uso es limitar el número de temporizaciones; por ejemplo, para que se repita un número determinado de veces o debido a algún tipo de evento externo. Por ejemplo, si el valor de un sensor supera un umbral, se debe encender un led que empiece a parpadear cada segundo картинка 75.

•Cuando utilizamos <>, se genera una señal PWM en el pin y, con el ciclo de trabajo indicado, esto funciona gracias a los Timers. Entonces, en el Arduino UNO, tenemos tres Timers y 6 salidas PWM. El Timer1 se encarga de generar las señales PWM de los pines 9 y 10, pero hasta ahora teníamos una serie de limitaciones:

•El valor del ciclo de trabajo tenía que estar comprendido entre 0 y 255.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Aprender Arduino, prototipado y programación avanzada con 100 ejercicios»

Представляем Вашему вниманию похожие книги на «Aprender Arduino, prototipado y programación avanzada con 100 ejercicios» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Aprender Arduino, prototipado y programación avanzada con 100 ejercicios»

Обсуждение, отзывы о книге «Aprender Arduino, prototipado y programación avanzada con 100 ejercicios» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x