Posts

    Punteros a función y structs con Arduino

    En este artículo presentamos una extensión al programa de Control remoto Arduino + LCD aprovechando el uso de punteros a función. Es recomendable darle una mirada al programa de ese artículo para comparar con este, y entender cómo evolucionó. De todas formas se puede leer este artículo en forma independiente para tener un ejemplo de uso de punteros a función. Pero el circuito está explicado en ese artículo y no se repetirá aquí.

    Control remoto infrarrojo + LCD + Arduino

    Si bien ya hay un artículo Control remoto infrarrojo con Arduino donde abordé el tema, quería escribir una variante que sirviera para dar paso a un artículo más avanzado de programación. En este artículo emplearemos un LCD y un decodificador infrarrojo VS1838 para recibir pulsaciones de teclas de un control remoto, decodificarlas y generar una salida en la pantalla LCD de acuerdo al mando recibido. El circuito a utilizar tiene muchas conexiones pero es simple ya que en su mayoría se trata de conexiones directas al Arduino.

    Prueba de motor servo con Arduino

    Los motores servo o servo mecanismos son dispositivos que permiten girar un eje en forma controlada una determinada cantidad de grados, mediante una señal eléctrica. Estos motores no giran continuamente como un motor convencional sino que se mueven a una posición determinada que permanecen allí hasta que se envía una señal que mueve el eje a un ángulo distinto. Incluso es muy común que los servos tengan una capacidad de giro limitada que no llega a los 360 grados.

    Jugando con threads en C++11

    Una buena noticia de C++11 es que se incorporó la biblioteca pthreads al nuevo estándar. Esto quiere decir que ya no es necesario implementar un encapsulamiento propio como hacíamos algunos años atrás. Este artículo (breve) ilustra el uso de la nueva clase threads y permite jugar un poco con el comportamiento del multitasking para comprender algunas particularidades que debemos tener en cuenta a la hora de crear aplicaciones concurrentes. Si te interesa este artículo te recomiendo leer también esta nota sobre problemas con float en Golang.

    Puntero automático con contador de referencias

    C++ es un lenguaje que no tiene manejo automático de memoria incorporado en su versión más pura. Es decir, en los compiladores o IDEs más populares entre quienes se dedican a este lenguaje. Existen algunas implementaciones de garbage collectors para C++ y las versiones más nuevas del estándar incluyen una implementación de puntero automático en la biblioteca de plantillas STL. Pero consideraría correcta la afirmación general de que el manejo de memoria en el lenguaje es manual.