Enlace que explica todo lo necesario para hacerte tus propias placas, muy interesante la parte de la química con productos caseros y baratos.
Fritzing es una herramienta para diseñar circuitos electrónicos (vistas de protoboard, schematic, and PCB), permite fabricar nuestras propias placas de forma rápida y simple y compartir nuestras creaciones con el resto de la comunidad Arduino.
Una de las cosas más interesantes, es que existe un servicio Frizing Fab donde puedes mandar tu diseño directamente a Alemania y recibir el PCB terminado en casa por correo por sólo 29 Euros, como si fueran las fotos de tus vacaciones en Bora Bora. Esta es la típica cosa de ..... ¿Como no se me ha ocurrido a mi antes?
La semana pasada en mi tienda de electrónica vendían los ATMega 328P a 6 euros c/u. Al volver a casa me di cuenta de que mi Arduino UNO tiene dos ICSP, la idea es usarlo como programador de un micro casi desnudo, sin USB ni nada.
Flow charts are used to represent algorithms in a graphical and visual way. All the algorithms consist of a combination of three basic simpler structures: Sequence, Decision, Iteration.
In the following flow charts there are several basic examples to learn the fundamentals of flow charts.
Un año más la Semana de la Robótica de la Universidad Politécnica de Alcalá de Henares nos ha encantado, un completo éxito. Hemos aprendido muchísimo, hemos conocido gente interesantísima que hace cosas increíbles, y gratis!!!, sólo por el placer y la necesidad de hacerlo. Una muestra más del compromiso responsable con la sociedad de muchos de nuestros conciudadanos para la mejora de la educación y la promoción de la ciencia y la tecnología.
Gracias a todos y todas por esta jornada inolvidable.
streaming de las conferencias
Interesting video.
En este breve artículo se describen los primeros pasos para comenzar a usar el microcontrolador Orangutan B-328p de Pololu con Linux. Usando el programador AVR para cargar los binarios en código máquina al micro a través del puerto USB.
Este artículo es un resumen de Pololu AVR Programming Quick Start Guide
1- Por defecto el kernel de Linux incluye el driver cdc_acm, de modo que cuando se conecta el programador al puerto USB se crean varios puertos serie virtuales, el puerto serie /dev/ttyACM0 es el que se usará para pasar los binarios .hex al programador, que a su vez los cargará en la memoria del micro.
2- Con synaptic o apt-get comprobar si están instalados los paquetes (en todos los Ubuntu que yo he visto, con versiones 11 y 12, lo estaban): gcc-avr, avr-libc y avrdude. de no ser así instalarlos
3- Instalar la librería Pololu AVR C/C++. Esta librería contiene todo lo necesario para usar motores, entradas analógicas etc. Para ello descargar el zip de aquí , expandirlo e ir al directorio libpololu-avr, allí ejecutar: sudo make install. Esto instalará las librerías y los archivos de cabecera en /usr/lib/avr/include/pololu.
4- Ir al directorio de trabajo libpololu-avr/examples/atmega328p. Allí hay directorios con proyectos de ejemplo que pueden ser modificados o servir de base a nuestros propios proyectos. Para compilar un proyecto *.c y generar el binario *.hex ejecutar make dentro del directorio del proyecto. Para instalarlo en la memoria del Orangutan, conectar el programador AVR al puerto USB y este al Orangutan con la alimentación conectada, entonces ejecutar: make program.
A sperm whale found dead in Spain had swallowed all kind of different plastics.
Plastics are easy to obtain, easy to form by moulding into thousands of everyday disposable objects, and chemically very stable. This last property isn't really an advantage but a curse that threatens us and the future generations. Nature needs dozens or hundreds of years to degrade and decompose plastics into unknown, unpredictible and very dangerous chemicals. Some of those chemicals are organic molecules very similar to those that play key roles in the biological processes of all living creatures (humans included), so they get incorcporated into their bodies altering all their (ours too) processes and causing new, unknonw diseases and syndromes.
We have to stop using plastic for disposable stuff and turn back to traditional materials such as wood, natural textiles and steel, I'm trying to do it, but is being impossible. Everything comes packaged into plastic containers.
Acting as responsible consumers is a must, but not enough to solve the problem. We have to convince our political reprentatives to change the laws to include plastics as the dangerous and toxic substance they really are, and to stop using plastic right now (remember the recent and intense campaigns against smoking, and tobacco is a natural product after all) . It shouldn't be difficult, just remember that forty years ago we were able to live under acceptable conditions without "plastic everywhere".
Interesting further readings
Average-Good Li-Po batteries like this one can provide 3,7V and 300mA for an hour. This makes around 1,1 Wh of energy (Electrical) with a weight of roughly 6,0 grams (removing the wires and plug included) which makes 0,19 Wh/gram. Bear in mind that 1 gram of gasoline or diesel will provide 13Wh of energy (Heat) . If we use both energy sources to power a motor or an engine to obtain mechanical energy, and as the average performances reaches 90% for brushless motors and roughly 20% for internal combustion engines. we have:
Mechanical energy obtained per gram of gasoline = 2,6Wh/gram = 13Wh/gram x 0,20
Mechanical energy obtained per gram of Li-Po Battery = 0,17 Wh/gram = 0,19 Wh/gram x 0,90
As a brushless motor weighs roughly 10% of the weight of a internal combustion engine of the same power, in the end we have that for the whole power set (battery + motor) vs (gasoline tank + engine) the performances are around 2,6 to 1,7 ( rounding off, 3 to 2) for the internal combustion set. As you can see both options are similar.
If we add further considerations such as: speed control (more complex and heavy for internal combustion engines), maintenance, reliablity, noise, pollution, waste etc. The electric option based on Li-Po batteries beats the gasoline.
Yesterday I started to wonder if pcb-gcode could be used to generate a silk screen that could be plotted on the top layer of the circuits using a permanent
marker attached to the head of the CNC.
To do it I've done as follows.
1- Install pcb-gcode wizard script in Eagle
2- Generate the silk screen layer using the ulp script included along with Eagle (name t_silk, layer id: 121)
3- Edit the source/pcb-gcode.h:
int MILL_LAYER = 121;
int TEXT_LAYER = 121; // same as MILL_LAYER
After this save the header file and
3- run pcb-gcode --setup and check the boxes to generate text and millig, set the right depths for the marker tip.
4- Generate gcode. the tab files for the text and the milling will contain the names of the components and their outlines.
Muchas de las cosas que pasan pero que no "salen" en los medios. Muy buena la explicación de por que los Españoles normales,
que trabajamos para ganarnos la vida y tenemos sólo las deudas que según el banco podemos pagar no hemos
vivido por encima de nuestras posibilidades. Gracias a Dios, ya estaba empezando a sentirme culpable.
El Gran Wyoming, Alcalá de Henares 22/06/2012 from tmc on Vimeo.
Con noticias, eventos ideas. enlace
Nuestro querido Arduino, tiene algunos puntos débiles que podrían destruirlo fácilmente. Ruggeduino incorpora protección en las entradas y salidas, así
como en las conexiones de alimentación. Perfecto para alumnos de secundaria.
En este enlace podéis descargar una placa protoboard virtual para simular circuitos digitales, excelente. Gracias a Arturo Javier Miguel de Priego, su creador.
En este documento se describen de forma muy clara y concisa los fundamentos de la realización de medidas experimentales.
Desde las cuerdas y la longitud de Planck hasta el límite del universo visible.
Excepcional tutorial en vídeo, 12 entregas, muchas gracias a su autor Jason, de rpc-electronics.
Interesante cubo LED con patrones programables.
A veces nos equivocamos e importamos en CVS módulos que no queremos, para deshacernos de ellos:
Borrar del repositorio de CVS:(en mi caso /var/lib/cvsd/cvsroot) los directorios que corresponden con los módulos que queremos eliminar:$sudo rm -rf /var/lib/cvsd/cvsroot/arduino/badmodule
reiniciar el demonio cvsd:$sudo /etc/init.d/cvsd restart
A veces puede ser necesario también editar el fichero CVSROOT/modules:
$mkdir tmp
$cd tmp
$cvs -d :pserver:javier@localhost:/cvsroot checkout CVSROOT/modules
Eliminar las referencias a los módulos en el fichero modules, guardar los cambios.
$cvs -d :pserver:javier@localhost:/cvsroot commit -m "eliminado modulo badmodule"
Queremos importar el directorio /home/javier/Documentos/myprojects/AvoidObstacles y su contenido a cvs, como un nuevo módulo. Queremos que en el repositorio de cvs el módulo AvoidObstacles esté dentro de arduino.
Nos vamos al directorio que queremos importar:$cd Documentos/myprojects/AvoidObstacles
Realizamos la impportación:$cvs -d :pserver:javier@localhost:/cvsroot import -m "Imported sources" arduino/AvoidObstacles AvoidObstacles REL_1_0
Tengo un backup del repositorio CVS donde tengo todos mis proyectos, el nombre del repositorio es cvsroot (debería ser cvsrepo, ya sé que es algo confuso) y quiero instalarlo en otra máquina. Ambas máquinas tienen Ubuntu. El usuario con el que accedía al antiguo cvs era "javier".
Usa synaptic o apt-get para instalar el paquete cvs (cliente) en la nueva máquina
Usa synaptic o apt-get para instalar el paquete cvsd (servidor) en la nueva máquina, te preguntará por un nombre para el directorio donde se almacenará el repositorio, en mi caso: cvsroot.
Si quieres cambiar el nombre del repositorio:
Edita el fichero /etc/grub/grub.conf y modificar en la última línea el nombre del repositorio (i.e changedrepo).
Crea un directorio con ese nombre en /var/lib/cvsd:$sudo mkdir /var/lib/cvsd/changedrepo.
Cambia los propietarios del directorio a cvsd:cvsd (es usuario con el que se ejecuta el demonio cvsd, ie:$sudo chown -R cvsd:cvsd /var/lib/cvsd/changedrepo.
Reinicia el demonio cvsd para que los cambios surjan efecto:$sudo /etc/init.d/cvsd restart
Copia el contenido del repositorio antiguo en el nuevo:$sudo cp -R /media/backup/cvsroot/* /var/lib/cvsd/cvsroot
Cambia el propietario del contenido de cvsroot a cvsd:cvsd:$sudo chown -R cvsd:cvsd /var/lib/cvsd/cvsroot
Reinicia el demonio cvsd: $sudo /etc/init.d/cvsd restart
Inicializa el repositorio: $sudo cvs -d /var/lib/cvsd/cvsroot init
Crea el usuario javier (o como se llamara tu antiguo usuario de cvs): $sudo cvsd-passwd /var/lib/cvsd/cvsroot +javier
Prueba que todo va bien: $cvs -d :pserver:javier@localhost:/cvsroot login
He instalado Ubuntu 12.10 (64 bits) en mi Acer Aspire V5-531. Pero no me aparece el típico menú de arranque de GRUB para elegir el sistema que quiero arrancar. He repetido la instalación y nada. He probado a reinstalar GRUB y nada.
El problema puede tener que ver con el hecho de que mi portátil tiene de fábrica 3 particiones primarias (una de recuperación, otra de no sé qué y la tercera con windows 7). Esto me obliga a instalar Linux en una partición extendida (lo que es normal), pero muy lejos del principio del disco.
Al final he encontrado está página dónde explica como usar boot-repair para reparar un GRUB que no funciona: enlace , ahora mi grub me permite el arranque dual y funciona perfectmente.
El programa testdisk se puede recuperar en pocos minutos una tabla de particiones borrada y por ende los datos que teníamos en las particiones. Yo lo he hecho y es muy simple.
- Arraca con un Live CD de Linux
- descárgate testdisk a un directorio, descomprímelo y ejecútalo.
- El proceso es guiado, como wizard en modo texto.
Nota que hay dos opciones:
1- búsqueda rápida: Busca raṕidamente en todo el disco vestigios de particiones, sector a sector y va mostrando lo que encuentra.
2- Si al terminar la búsqueda rápida no ha encontrado todas las particiones (puede pasar si había particiones lógicas, o las ha habido e la historia del disco) haz una búsqueda exhaustiva ("deep search"). Encontrará algunas más.
Descarta las particiones que no te interese recuperar y quédate con las que sí, en este paso incluso se pueden ver y copiar todos los archivos de una partición dada a un lugar seguro (i.e USB Stick).
3- Restaura la tabla de particiones.
with the -d option (readable mode, recommended)
sudo sfdisk -d /dev/sda > sfdiskdsda.out
sudo sfdisk /dev/sda < sfdiskdsda.out
Me acabo de comprar un portatil nuevo, con windows 7 y le voy a añadir un ubuntu 12.10. Pero antes de machacar el MBR de fábrica con el GRUB, por si acaso, no sólo voy a hacer un backup del MBR original, si no del algo más.
Antes de instalar Ubuntu arranco con un Live Usb stick (live pincho usb) y hago lo siguiente:
$sudo fdisk /dev/sda
command (m for help): p
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xab71c97f
Device Boot Start End Blocks Id System
/dev/sda1 2048 33794047 16896000 27 Hidden NTFS WinRE
/dev/sda2 * 33794048 33998847 102400 7 HPFS/NTFS/exFAT
/dev/sda3 33998848 364736300 165368726+ 7 HPFS/NTFS/exFAT
/dev/sda4 364736510 625141759 130202625 5 Extended
Partition 4 does not start on physical sector boundary.
/dev/sda5 364736512 617175039 126219264 83 Linux
/dev/sda6 617177088 625141759 3982336 82 Linux swap / Solaris
Vemos que la primera partición empieza en el sector 2048, por lo que voy a hacer una copia de los 2047 sectores anteriores, por si acaso ahí hay algo impportante (además del MBR). Por supesto, el día del rescate, si es que llega, el disco debería estar particionado exactamente así, porque si no la tabla de particiones no serviría.
Monto la partición de windows en /mnt/windows7
$sudo mkdir /mnt/windows7
$sudo mount -t ntfs /dev/sda3 /mnt/windows7
Y copio los sectores a un fichero:
$sudo dd if=/dev/sda of=/mnt/windows7/2047sectors.bak bs=512 count=2047
Desmonto...
$sudo umount /dev/sda3
...y espero no tener que recurrir nunca al archivo de rescate.
A vueltas con el arranque.
A veces, a los que nos gusta cacharrear con Linux, se nos pasa algo por alto y... nos hemos cargado el MBR y el ordenador no arranca. Super Grub2Disk nos sirve para crear un CD o DVD de arranque ¿USB también? que busca todos los sistemas operativos en los dispositivos de almacenamiento del ordenador y nos permite arranacarlos.
De paso un enlace a la guía de recuperación de Grub.
Más de lo mismo, otra guía de recuperación, enlace
About modules(drivers) currently loaded in Linux
First of all is interesting to know the hardware packed in your box. Two options at least:
$lshw
or
$dmidecode
To list the modules currently loaded in Linux two options too (maybe more):
$cat /proc/modules
or
$lsmod
To obtain a more detailed info on a particular driver (ie: video)
$modinfo video
CVS repository migration from Linux to Windows (also will work to back up a cvs)
Some time ago I had to say goodbye to my old Linux friend, The gave me a new computer and for the first time in my live I couldn't make it run Linux, so here I am enjoying Windows again.
In the Lines below I describe the sequence of steps to bring a cvs repository back to live
1- I did a copy of my cvs repository under /home/javier/Documentos/cvsroot from my linux computer to an external har drive
2- I copied the repository to the Windows computer under F:\cvsrepository
3- I installed in the windows computer the suite CVSNT.
4- Go to Start->programs->CVS Suite->CVS Server.
5- Clic on the tab "Repository Configuration"
6- Click on the button "Add" (New repository)
7- Fill in the Repository settings as follows
8. Click Ok and restart the server.
9. As my CVSROOT was originally set to :pserver:javier@localhost:/home/javier/Documentos/cvsroot. I had to create a cvs user named javier in the CVSNT Server. To do this I created a javier user in windows, doesn-t need to be an administrator.
10. I opened a windows console and executed the following commands:
set CVSROOT=:sspi:localhost:/home/javier/Documentos/cvsroot
cvs passwd -a javier
I set the password to javier also (to not to forget it again, beacuse a fogot it ;-))
11. Now is time to test the connection using pserver and checkout my source files to complete my projects (in the console execute the following commands)
CVSROOT=:pserver:javier@localhost:/home/javier/Documentos/cvsroot
cvs login
cvs checkout CNCMill
Everything is rock'n rolling!!! back again!!!
Una Fresadora CNC hecha de tuberías
enlace Intérprete de código G, con Arduino para RepRap, seguramente se puede usar para una máquina cnc
Las tuberías de hierro son sólidas y fáciles de ensamblar para hacer estructuras complejas, aquí se usan para hacer una fresadora.
enlace está bastante claro, pero las u de aluminio ceden con la presión de los rodamientos. mejor usar tubos de sección cuadrada. A la base de plástico habría que hacerle unos agujeros en forma de
cuadrícula para poder fijar las piezas con tornillos. interesante lo del sofware cnc para linux.
Una Fresadora CNC hecha de madera
La madera es un material barato y fácil de trabajar, aquí se ve como se puede usar para hacer una fresadora controlada por ordenador.
Una Fresadora CNC a partir de piezas de impresora.
Una fresadora CNC no es más que una máquina controlada por ordenador que permite mover una herramienta de corte giratoria sobre la superficie del material que se desea trabajar.
La herramienta de corte elimina todo el material sobrante hasta obtener la pieza deseada.
En este caso en lugar de una herramienta de corte va equipado con un láser.
Usar el mando de la PS2 en lugar de ratón y teclado.
El programa y driver JoyToKey permite conectar el mando de la PS2 al ordenador y usarlo como ratón o teclado. Es una opción muy interesante
para personas con algún tipo de discapacidad que les permita manejar el ratón con facilidad.
Impresoras 3D. Del diseño a la realidad.
Son capaces de fabricar objetos completos en plástico (ABS) a partir de su diseño (CAD).
El objeto a fabricar se divide en capas de un espesor de décimas o centésimas de milímetro y el cabezal va imprimiendo-creando cada capa sobre la capa inferior.
Básicamente, son como impresoras normales, la principal diferencia reside en que el cabezal de impresión-creación se va desplazando hacia arriba en cada pasada, después de imprimir-crear
una capa del objeto, para comenzar con la siguiente. Imprimir-fabricar un objeto de unos 5 cm de alto puede tardar unas pocas horas.
Los cabezales de impresión-creación, en lugar de tinta, van depositando sobre la capa inferior gotas submilimétricas de un termoplastico (ABS) que se polimeriza inmediatamente al
contacto con el aire y un catalizador (y a veces, luz ultravioleta). De esta forma, un objeto pasa del mundo digital binario, al mundo real, cobrando existencia. Es un acto de pura creación!.
En principio, una de estas impresoras 3D podría fabricar una copia exacta y funcional de sus partes mecánicas ya ensambladas.
Hay muchas marcas de impresoras que han dado el salto a esta nueva tecnología, aunque para mí, lo mas interesante es el proyecto RepRap. En RepRap venden Kits para fabricarte tu
propia impresora 3D por menos de 1.000 Euros. El MakerBot Replicator es tb una buena opción.