Con una Raspberry se pueden hacer infinidad de cosas, pero lo malo quizás es que no se pueden plantear un objetivo definido si tampoco sabemos las posibilidades que ofrece. Vamos a controlar los Raspberry GPIO de nuestra placa para poder extender nuestros proyectos. Si ya sabemos crear algún proyecto con Arduino con circuitos sencillos como puede ser encender y apagar un LED y programar distintas formas de control, basados en GPIOs, no nos resultará complicado comprender cómo funciona con una…
Para reproducir una canción con disqueteras musicales, es necesario sacar las notas musicales asociadas al movimiento del motor de nuestra disquetera. Para conectar nuestra placa a nuestra disquetera es necesario conectar 4 pines de la disquetera para mover el motor a una frecuencia determinada. Es necesario alimentar la disquetera con una fuente de alimentación que nos proporcione al menos 5 voltios, y 2 de los pines que están conectados a la placa son los pines de dirección y de pulso…
La visión por computador es quizás uno de los avances más importantes en cuanto a robótica se refiere. Digamos que la evolución ha desarrollado ojos por alguna razón y ésta es la forma más fiel que tenemos de percibir el mundo, a través de la visión. De esta manera, que los robots tengan ésta y otras muchas formas de percibir el mundo que les rodea les proporciona un mundo infinito de posibilidades y que pueden utilizarse para muchisimas cosas como:…
A medida que uno va desarrollando su propia aplicación, es normal crear un encabezado en el que se establece la autoría, el título y la descripción de la página que se está editando. En desarrollo web, la edición de estos comentarios se puede crear de dos maneras. En caso de manipular una hoja HTML, los comentarios se encierran entre estos dos símbolos. “<!– Comentarios –>” Y otra manera es crear los comentarios dentro de una hoja PHP,…
Durante mucho tiempo, he intentando comprender el mótivo de por qué el icono de cierre de un dialog en Jquery no aparece. Y la solución que he encontrado a este hecho es una mezcla de perplejidad, asombro y enorme respeto por las personas que ofrecen soluciones como éstas a través de foros. Este problema se asocia a la etiqueta Dialog Jquery. Si llevamos mucho tiempo desarrollando una página web o hemos heredado una anterior, es posible que nos encontremos con…
Cuando estamos tratando con bases de datos relacionales, estamos implementando una robustez en el tratamiento de los datos que queremos guardar. Pero la gestión de este modelo puede volverse complicado si no conocemos en profundidad este concepto relacional y a la hora de desarrollar podemos perder mucho tiempo creando soluciones muy parciales en lugar de utilizar algunas características que nos ofrece este modelo. En este caso concreto vamos a hablar sobre la opción ON DELETE CASCADE / ON UPDATE CASCADE.…
A la hora de desarrollar un página de WordPress muchas veces es necesario estudiar la necesidad y conocer bien las herramientas que se proporcionan para crear un sitio a nuestro gusto y medida. En este caso utilizaremos el desarrollo de customizer en WordPress para crear un menú de configuración general de nuestra página. Muchas plantillas ya proporcionan estos menús, pero en lugar de depender de los que nos ofrecen vamos a crear los nuestros propios para poder integrarlos en…
Una de las curiosidades dentro del mundo PHP es que existe un tiempo máximo definido para realizar consultas al servidor. Ésta, como otra más; es una medida de seguridad y de depuración. Si tuvieramos un script en PHP que hace una consulta a una base de datos y ésta tarda más de lo esperado, podríamos quedarnos delante de la pantalla durante un buen rato. Y aún peor si realizaramos peticiones con AJAX, donde la respuesta debería ser en tiempo real.…
Ya hablamos en un post anterior acerca de las complicaciones que nos puede dar Windows para compatibilizar el sistema con otro sistema operativo. En el caso anterior, Windows acaparaba el gestor de arranque GRUB de Linux, para sustituirlo por uno propio que no deja elegir en el caso de disponer dos o más sistemas operativos en un mismo ordenador. Y esto solo ocurre cuando instalamos Windows a posteriori. Ahora vamos a hablar sobre un problema similar. Error mounting Hybrid boot…
Para la instalación de Phonegap en nuestro sistema Windows es necesario instalar previamente NodeJS. NodeJS es una utilidad que nos permite gestionar un servidor web mediante lenguaje javascript. Este lenguaje es mucho más dinámico y flexible para realizar según que peticiones. En otros tutoriales veremos cómo utilizarlo para personalizar nuestro propio servidor, pero por ahora nos conformaremos con instalarlo correctamente. A diferencia de la mayoria de los programas en Windows no nos basta con instalar un ejecutable, sino que para…
No hay nada como descubrir esas pequeñas cosas que dan sentido a la vida, los pequeños detalles que hacen que la vida merezca la pena. Pues muchas veces los desarrolladores se toman un esfuerzo en hacer de la programación algo más llevadero. Mientras instalaba los infinitos paquetes interminables de Android, me dí cuenta de una cosa. Los desarrolladores del SDK Manager de Android han introducido un pequeño icono que aunque imperceptible a primera vista se puede apreciar un NyanCat para…
El módulo WiFi ESp8266 es un pequeño dispositivo compatible con Arduino que nos permite crear comunicaciones a través de nuestra red de casa. Es la opción más barata que podemos encontrar actualmente para crear nuestros propios proyectos relacionados con el “Internet of Things” o simplemente para introducirnos en el mundo de internet. Con un coste de 5€ tenemos la opción de aprender cómo funciona la comunicación inalámbrica WiFi, pero no voy a hablar de su funcionamiento, sino de las dificultades…
Una de las grandes dificultades a la hora de poseer un dispositivo controlado con AT commands como un Bluetooth o un GPRS, es ser capaces de acceder al modo de configuración para introducir estos comandos sin morir de aburrimiento en el intento. Para ahorrar tiempo describiremos diferentes maneras de acceder a estos dispositivos mediante comandos AT. Para este ejemplo disponemos de un módulo Bluetooth HC-05 que podemos conectar al puerto Serial de Arduino. Resumidamente hemos de conectar los pines de…
Un concepto de programación muy útil en muchos lenguajes es la capacidad de introducir en sus funciones un número indeterminado de parámetros y poder crear diferentes multiconstructores según las necesidades del usuario. El lenguaje de Arduino está basado en C++ y por fortuna se pueden utilizar librerías y funcionalidades asociadas a este lenguaje, como la programación orientada a objetos. Estas funcionalidades se pueden extender sobre todo si disponemos de una librería ya creada, pero de todas maneras haremos un ejercicio…
Un problema asociado con distintos sensores es que cada uno tiene una sensibilidad, un modo de medición, retrasos. Y de forma complementaria Arduino es una placa limitada que no admite concurrencia; es decir; no se pueden medir dos sensores y ejecutar otras acciones simultáneamente. Ésta razón entre otras provocan que las lecturas de un sensor o la manipulación de los datos obtenidos de ellos desemboquen en errores, a veces muy difíciles de detectar. Expongo algunos ejemplos en los que los errores pueden…
El otro día intentando hacer una operación muy sencillita con Arduino; me encontré con la sorpresa de que no funcionaba de forma correcta. Explico un poco el esquema práctico en el siguiente post. Tengo una rueda controlada con un motor RC y conectado a ésta hay un encoder ranurado para medir la posición y la velocidad de la misma. Hago una función con un parámetro de entrada para introducir un valor y girar exactamente ese valor. El número de ranuras que tiene…
Una de las mayores utilidades para operar con Arduino es establecer una comunicación de la placa con Matlab via Serial. Arduino tiene sus limitaciones en cuanto a su respuesta en tiempo real y su rendimiento de cálculo. Por ello, lo que se puede hacer es establecer una comunicación por el puerto USB serial que recoja los datos, sean procesados y devueltos a la placa para ejecutar otra serie de acciones. Esto mismo se puede hacer de muchas maneras, ya sea…