Posts

    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.

    Obtener la dirección MAC local en C/C++

    Este extracto de código muestra cómo obtener a dirección de hardware del adaptador de red en C/C++ en sistemas POSIX. Debería funcionar también en Windows, usando Cygwin o similar. #include <netdb.h>#include <unistd.h>#include <string.h>#include <sys/fcntl.h>#include <sys/errno.h>#include <sys/ioctl.h>#include <sys/socket.h>#include <arpa/inet.h>#include <net/if.h>#include <stdio.h> int main(int argc, char ** argv) { struct ifreq ifr; int s; if ((s = socket(AF_INET, SOCK_STREAM,0)) < 0) { perror("socket"); return -1; } strcpy(ifr.ifr_name, argv[1]); if (ioctl(s, SIOCGIFHWADDR, &ifr) < 0) { perror("ioctl"); return -1; } unsigned char *hwaddr = (unsigned char *)ifr.

    Arduino, control remoto infrarrojo y LCD

    El artículo sobre el uso de un VS1838 para recibir señales de un control remoto con Arduino que escribí el en noviembre de 2013 se hizo muy popular. Y recibí varias consultas sobre la posibilidad de adaptar el programa para hacer algo útil con la señal recibida. Así que preparé este ejemplo ilustrativo. Aquí se combina el programa que decodifica las teclas presionadas en el control remoto, con la biblioteca que permite escribir en una pantalla de cristal líquido (que también utilicé en el artículo sobre el sensor DHT11).

    Encontrar las direcciones MAC en una red

    Cuando una red ethernet es suficientemente grande como para que el administrador no pueda tener a la mano todas las bocas de conexión, la simplicidad de conexión de esta topología se puede convertir en un problema. Descubrir los dispositivos que se encuentran conectados en un momento determinado, puede resultar complejo. Y es algo que debí solucionar más de una vez. Pero en la última ocasión se me presentó el requerimiento adicional de automatizar el control.

    Sensor DHT11, display LCD y Arduino

    Los sensores de temperatura y humedad DHTxx son de muy bajo costo y de una precisión entre aceptable y buena; dependiendo de los requisitos de nuestra aplicación. Y del modelo que tengamos en nuestras manos. En este breve artículo utilizaremos un DHT11 para medir las variables del ambiente. Para este experimento utilicé un sensor DHT11, un Arduino MEGA2560, un display LCD modelo 1602A, un potenciómetro lineal de 50K., una resistencia de 220Ω, cables y protoboard.