viernes, 25 de marzo de 2016
Refrigerador con Arduino UNO y dos sondas DS18B20
Llevo tiempo apartado de este blog porque la obligación está por encima de la devoción. De todos modos, espero compensar ese retraso con la entrega de esta nueva entrada, fruto de la colaboración entre un buen amigo y especialista de frío industrial y yo.
Con un shield de Arduino, el LCD Keypad Shield, un módulo de relés y dos sondas digitales de temperatura DS18B20, controlamos el funcionamiento de un refrigerador, cuyo software nos permitirá controlar su punto de trabajo y producir el desescarche automático del evaporador. Modificando simplemente unos parámetros podremos adaptar el software para trabajar como congelador o refrigerador, ajustando la temperatura desde -20 ºC hasta 15 ºC. El método para deshacernos de la escarcha que se forma en el serpentín del evaporador en un circuito de enfriamiento se denomina desescarche, y el que utilizaremos es el de calentamiento con una resistencia eléctrica. Una sonda detectara la presencia de una capa de hielo en el serpentín del evaporador, que actúa como aislante dificultando el paso del aire a través de los tubos, reduciendo así el coeficiente de transferencia de calor; en ese momento se parará el compresor y entrará en funcionamiento una resistencia eléctrica que calentará el evaporador hasta que la capa de hielo desaparezca, retomando luego el sistema el funcionamiento normal del refrigerador.
En la siguiente imagen os muestro el evaporador que usamos en nuestro frigorífico experimental:
En la siguiente imagen se muestra la primera prueba en el taller del frigorífico experimental controlado por Arduino. Todo un éxito.
Esquemáticamente, el circuito es como sigue:
martes, 1 de marzo de 2016
Atlas, The Next Generation
Una nueva versión del Atlas (Boston Dynamics), diseñado para funcionar al aire libre y en el interior de edificios. Está especializado para la manipulación móvil. Es accionado mediante energía eléctrica e hidráulica. Utiliza sensores en su cuerpo y las piernas para equilibrar y sensores LIDAR y estéreo en su cabeza para evitar obstáculos, analizar el terreno, ayudar con la navegación y manipular objetos. Esta versión del Atlas es de unos 1,75 m de altura (alrededor de una cabeza más bajo que la RDC Atlas) y pesa 81 Kg. ¡Alucinante!
A new version of Atlas, designed to operate outdoors and inside buildings. It is specialized for mobile manipulation. It is electrically powered and hydraulically actuated. It uses sensors in its body and legs to balance and LIDAR and stereo sensors in its head to avoid obstacles, assess the terrain, help with navigation and manipulate objects. This version of Atlas is about 5' 9" tall (about a head shorter than the DRC Atlas) and weighs 180 lbs. Amazing!
jueves, 18 de febrero de 2016
Dirty Loops - Take On The World
Sencillamente maravilloso, un tema para soñar. Estos magos de la música me apasionan. Dirty Loops: Take On The World
Ven conmigo
Deja que una chispa se encienda
Podríamos alcanzar las estrellas
Hasta la luz de la mañana
El ritmo de la última cruzada
Es la clave de la vida
A la espera de jugarse
lunes, 15 de febrero de 2016
Inconsistencia FAT en pendrive o HD externo
El sistema de archivos FAT (File Allocation Table) lee los bloques correspondientes a cada archivo cuando se modifican, y luego los reescribe en el pendrive o disco duro. Cuando el sistema falla antes de que todos los bloques sean grabados en el soporte, ya sea en un pendrive o en un disco duro, el sistema de archivos puede quedar en un estado llamado de INCONSISTENCIA. Los archivos quedan en modo "sólo lectura", y es imposible borrarlos o modificarlos. Al "picar" sobre ellos suele el sistema indicar que el archivo es de "sólo lectura", pero si lo hacemos como root no advierte de nada y, por supuesto, la acción no se realiza.
Así, cuando los bloques no están libres o asignados, es preciso reasignarlos de arriba hacia abajo (estructura de árbol invertido) hasta lograr la CONSISTENCIA, es decir, que el cuenteo del número de bloques libres y asignados coincida con el número de bloques totales del soporte donde se alberga la información.
Este problema suele darse cuando falla un disco duro o un pendrive, y para repararlos es preciso utilizar una utilidad llamada dosfsck. Esta utilidad la encontramos en el paquete dosfstools, y en nuestro *Ubuntu lo podemos instalar del siguiente modo:
Abrimos el terminal, y escribimos:
sudo apt-get install dosfstools
lunes, 8 de febrero de 2016
DS18B20 con el Monitor Serie de Arduino
En esta entrada os ofrezco una perspectiva didáctica sobre el uso del sensor de temperatura DS18B20 con Arduino. Este sensor está lleno de bondades, entre las que destaca el uso de un solo cable de datos (y masa) para comunicarse con Arduino, puede medir temperaturas entre -55ºC y 125 ºC (-67 ºF a 257 ºF), manteniendo una precisión entre -10 ºC y 85 ºC de más o menos 0,5%, funciona entre 3 y 5v y dispone de una resolución máxima de 12 bits. En la foto superior distinguiréis los 3 cables de colores de la sonda (DS18B20 tipo sonda): el cable amarillo es el bus de datos, el rojo es el de alimentación y el gris el negativo o masa. El hardware requerido es el siguiente:
GND y Vcc en este caso van unidos, y el bus de datos QD va a la entrada digital D3 (pin 3) de Arduino y a la resistencia R1. La resistencia R1 es de 4700 Ω, y uno de sus extremos va a Vcc 5 v de la placa de Arduino.
Para poder usar la sonda con Arduino UNO tenemos que cargar dos librerías en el entorno de trabajo IDE: Dallas Temperature y One Wire. Las dos las bajáis en formato zip, y se cargan del siguiente modo:
Desde el entorno IDE de Arduino, Programa -> Include Library -> Add.ZIP Library... , seleccionamos los archivos.
Luego, Aceptar.
miércoles, 3 de febrero de 2016
Hooverphonic - The World Is Mine (Live With Orchestra)
Este tema de Hooverphonic no podía faltar en este blog. The World Is Mine es un tema perfecto para un momento como éste. Me encanta.
domingo, 31 de enero de 2016
Verificando los valores del teclado del LCD Keypad Shield para Arduino
En este breve post os dejo un pequeño programa para verificar el valor que genera en la entrada A0 el teclado del LCD Keypad Shield para Arduino. Este display dispone de un teclado que se conecta a la entrada analógica A0 a través de un divisor resistivo, y en función del valor de la tensión que se genera en esta entrada al pulsar cada una de sus teclas, obtendremos un valor numérico que usaremos para discriminar cada tecla cuando las usemos en nuestros programas.
Se preguntarán, ¿por qué necesitamos esto? La razón es que para cada LCD Keypad Shield que compremos, debido a la importante tolerancia de los resistores empleados en este divisor, los valores obtenidos en A0 serán distintos. Esto no es sólo un test, como los que en la web del display con teclado podemos encontrar, es un test que nos da directamente el valor que obtenemos en esa entrada, y para verificación, usando la función int read_LCD_buttons(), también dispondremos de un número, entre el 0 y el 5, para cada tecla:
0 -------> Nada
1 -------> Derecha
2 -------> Arriba
3 -------> Abajo
4 -------> Izquierda
5 -------> Menú
Suscribirse a:
Entradas (Atom)












