SIM900A V4.0 Extension Module es un módulo GPRS GSM compatible con Arduino muy útil para introducirnos en el mundo de las conexiones remotas para nuestros proyectos. Para entenderlo, este módulo es lo que llevan los smartphones para poder conectarse a internet por 2G, 3G, hacer llamadas y enviar mensajes SMS. GPRS y GSM son servicios de transmisión de datos inalámbricos, así como pueden ser los infrarojos, el bluetooth o el wi-fi. Cada uno de ellos es un protocolo de comunicación…
Durante estos días prenavideños estoy realizando un taller para los más pequeños con Arduino y que consiste en el montaje y control de unas luces de navidad con LEDs RGB controlados por Bluetooth. Así, cuando lleguéis a casa podréis cambiar los efectos de luces a través de una aplicación y decorar a vuestro gusto la ambientación de vuestro árbol. Más adelante intentaré conectarme al equipo de música y poder reproducir villancicos, pero tiempo al tiempo. Para empezar a montar el circuito se…
Anécdota real. ¿Qué es HFS+? Hace tiempo que le dije a mi padre de actualizar su iMac8.1 con Mac OS Leopard, versión 10.5.8 que dejó de cubrir actualizaciones desde 2013. A diferencia de un Linux, o incluso podría decir que un Windows desactualizado podrían funcionar correctamente sin necesidad de instalar las últimas actualizaciones, pero Mac es así y te pone pegas a casi todo que no esté a la última. Todo comenzó por un problema del navegador que no dejaba conectarse…
SSH significa Secure Shell; esta definición no nos dice mucho, pero para entenderlo un poco mejor, empezaré desde el principio. SSH es un protocolo. Un protocolo o protocolo de comunicaciones es un conjunto de reglas común para las máquinas que sirve para establecer una conexión y que se entiendan entre ellas. Es decir, si yo tengo un móvil que se conecta a internet, tengo que usar un protocolo de comunicación con un servidor que no es el mismo si mi móvil…
StrandBeest es un mecanismo creado por el artista Theo Jansen; o como se le prefiere denominar; escultor cinético. Es decir, en lugar de pintar un punto negro en medio de un lienzo en blanco para venderlo por una absurda e ingente cantidad de dinero; lo que hace es crear mecanismos animados que imitan el movimiento articular de los animales. Es un arte en el que se une la ingeniería y con ello aplica la teoría de la física a una nueva…
Un concepto que me he encontrado recientamente es la inmutabilidad. Un objeto inmutable es aquel que no puede modificarse una vez creado. Aunque parezca que tenemos el control completo de nuestras variables para darles un valor concreto, solamente usando el operador de asignación (el “=”), esto no es del todo cierto. Anteriormente explicamos que el operador “=” de asignación referenciaba a otra variable y los cambios en una afectaban a la otra y viceversa. Igual no es lo mismo que copiar…
Hoy vamos a aprender a manejar una API de música para reproducir canciones gratis desde nuestro sitio. El objetivo de esto es disponer de una base de datos para realizar búsquedas y poder reproducirlas en nuestra página. Quizás pensaréis para qué hacer todo esto, si ya existen plataformas de música que te dan este servicio. Pues sí, en este contexto solo voy a utilizar una de las muchas APIs que existen y que permiten reproducir música por streaming. El objetivo…
Como ya hemos explicado en un post anterior “Cómo crear tu propio brazo robótico“, y ahora hablaremos de cómo se diseñan estas referencias de Denavit-Hartenberg con una serie de instrucciones paso por paso. Para verlo expondremos un ejemplo aplicado y al final lo podremos ver representado en una escena en donde podremos visualizar sus movimientos. Los pasos a seguir son: Elección de referencias para cada articulación. Obtención de los parámetros de Denavit-Hartenberg. Crear una tabla e introducción de datos en…
Para una página web es muy importante hacer una analítica de su sitio y existen muchas herramientas de terceros que ofrecen servicios de este tipo. Según la información que se requiera de un usuario hay sistemas gratuitos muy básicos y otros de pago y que de todas maneras elegir uno u otro dependerá de el tipo de empresa que seamos. Si tenemos una web personal, nos interesarán nuestro número de visitas o incluso otros aspectos como la IP del usuario que…
Si tenemos varios sistemas operativos diferentes instalados en nuestro ordenador debemos tener cuidado con el gestor de arranque. El gestor de arranque o boot manager es un programa que inicia y ejecuta todas las instrucciones para que nuestro sistema operativo empiece a funcionar. De forma ejemplificada es como el motor eléctrico del coche, que no arranca porque no tenemos batería. En este caso se necesita un giro inicial del cigüeñal producido por este motor eléctrico para que comience el ciclo de…
Para crear un brazo robótico hay que definir unos parámetros que se inventó un señor muy inteligente llamado Denavit-Hartenberg. Estos parámetros no son un simple invento sino que tienen su razón de ser y que explican muy bien en Wikipedia y son los más utilizados en robótica para diseñar eslabones en serie unidos por articulaciones. Explicaremos detalladamente en qué consiste la definición de estos parámetros, cómo funcionan y desarrollan los movimientos que requerimos en el siguiente post “Referencias Denavit-Hartenberg“. Para…
Existen un montón de motores de bases de datos. Que si relacional, transaccional, dimensional, con salsa picante o con patatas… Pero no nos vamos a extender. Para cualquier persona de a pie que quiere hacer una página web, lo más posible es que utilice Php MyAdmin en el servidor para gestionar sus bases de datos, o por lo menos es el servicio integrado en la mayoria de servidores gratuitos y de pago. Y dentro de este servicio de Php MyAdmin…
La comunicación de variables en PHP, ya sean de un tipo $_GET, $_POST,$_COOKIES, $_SESSION, $_SERVER, $_REQUEST o alguna otra definida por nosotros suelen guardarse en un array o lista. Como tratamos tipos de datos no tipados y la comunicación entre lenguajes es muy variada (php, html, javascript, mysql) es posible que puedan dar muchos errores por el camino. Es por ello que siempre hay que hacer un control condicional si el tipo de variable existe para ejecutar una acción u…