ATMEL AVR
Codebender es un entorno de Arduino diseñado para funcionar totalmente en la web, es decir, no tenemos que instalar nada en nuestro ordenador para poder programar en Arduino. Además, una vez compilado el código, permite descargar a una Placa Arduino conectado al pc por medio de USB o a un arduino conectado por ethernet remotamente.
Tiene incluida la gestión de código y nos permite almacenar en la nube nuestro código usando ejemplos y librerías. Sigue leyendo
¿Quién soy yo? Mi nombre es Alberto y nací en el norte de Italia, donde vivo con mi esposa. Soy un desarrollador de software con una gran pasión por el hardware, y he pasado años jugando y haciendo cosas con Arduino ™.
Cuando perdí mi trabajo como desarrollador de software, a fines de 2012, me decidí a tomar un descanso de todo lo que hice en los últimos 15 años, y he querido dedicar mi tiempo a algo que podría ser interesante para mí y útil para otros. Sigue leyendo
Cuando queremos tomar las riendas de la programación de AVR en C una de las mejores parejas es “Eclipse IDE” mas “AVR-GCC” siendo estos dos libres y gratuitos, aunque claro esta que “AVR Studio” nos brinda un buen ecosistemas no siempre es el mejor sobretodo si no somos usuarios de win2.
En esta guía pretendo listar los pasos básicos para con figurar nuestro IDE. Sigue leyendo
La conversión de un auto de RC en un robot es una manera rápida y fácil para empezar con la robótica. Por lo menos, cuando te aburres de jugar con tu coche de control remoto después de tres días, puedes convetirlo en un robot que hará todo lo que desees. Bueno, quizás no todo, pero por lo menos una cantidad considerable de movimientos.
En esta explicación el autor expone lo mínimo necesario para empezar. Esto es un robot básico que se puede ampliar con sensores, código y hardware adicional para hacer algunas cosas realmente sorprendentes. Sigue leyendo
PocketBot2 es un pequeño robot seguidor de linea. Está basado en su antecesor, el PocketBot Project. PocketBot2 tiene nuevas características importantes, aunque todavía mantiene todas las funciones y propiedades de la versión anterior del robot. Es decir, las reducidas dimensiones de 48 × 32 × 12 mm se conservan, por lo que el robot se adapta perfectamente en una caja de fósforos. Esta basado en un microcontrolador Atmel ATXmega128A3 y el programa está escrito en C. Una placa de circuito impreso doble faz hace las veces de chasis del robot. Tiene dos ruedas y dos puntos que sostienen la parte delantera y trasera. Se alimenta con una batería recargable de Li-Pol (3.7V, 190mAh). Posee un conector de 10 pines para conectar con la interfaz JTAG y UART para programar y depurar.
Sigue leyendo
El proposito de este ejemplo es mostrar el funcionamiento de 2 motores DC activandolos por PWM lo cual podemos hacer con cualquier microcontrolador. Para este ejemplo usaremos una Placa Romeo la cual utilizo por la comodidad de tener los perifericos mas utilizados en un robot para uso didáctico. Se podria combinar un puente H tipo L298 con una placa Arduino UNO, o utilizar cualquiera similar.
El proposito del ejemplo es el siguiente: El mismo programa de prueba realizado con el IDE standard de Arduino y con el Atmel Studio 6. Veremos que si programamos en ANSI C directamente el mismo programa ocupara la cuarta parte de memoria o menos. Sigue leyendo
La placa Romeo es un controlador todo-en-uno (All-in-one) diseñado especialmente para aplicaciones de robótica, 2 drivers para motores de 2A, puertos PWM, puertos I2C y mucho mas. Lo más importante de esta placa es que es compatible con Arduino lo que que significa que puede utilizar Romeo como una Arduino standard.
Posee todos los beneficios de la plataforma Arduino, mucho código fuente de ejemplo con licencias libres, se puede ampliar fácilmente con la mayoría de los shilds Arduino.
Integra control para dos motores DC y puerto para conexion inalambrica que proporciona una forma mucho más fácil para comenzar su proyecto de robótica. Sigue leyendo
A continuación escribiré el código de un programa ejemplo donde se aplica una forma sencilla de generar ondas cuadradas. Para este ejemplo se han utlizado las interrupciones por CTC (Clear Timer on Compare) del Timer0, Timer1 y Timer 2. Con el Timer 0 generamos una frecuencia de 1kHz, con el Timer1 generamos 0.5kHz y con el Timer3 4kHz.
El programa principal o loop no hace nada, todas las acciones estan realizadas dentro de las respectivas interrupciones. Cada interrupción da vuelta 1 pin en el cual se encuentra conectado un LED. Sigue leyendo

Arduino timer interrupts
Las interrupciones del timer hacen que el programa del bucle principal sea interrumpido a intervalos precisos de tiempo para realizar una tarea especifica. Una vez realizada esta tarea el procesador vuelve a hacer la tarea que habia interrumpido en el bucle principal. Sigue leyendo