Cambiar Fuses y Lock Bits de microcontrolador AVR

Cuando usamos un microcontrolador montado de serie sobre una placa, como puede ser un Arduino Uno, Mega, Nano, Mini, etc. viene configurado de fabrica para que funcione a un voltaje, reloj y frecuencia concreta (entre otras opciones).

Esta configuración es necesario cambiarla cuando usamos microcontroladores comprados sueltos ya que de serie suelen venir configurados a 1Mhz haciendo uso de su reloj interno, es decir al mínimo de sus características para que sea compatible en cualquier sitio.

(más…)

Leer más

Encender o apagar un led gradualmente tras pulsar 3 segundos un botón con Arduino

Un problema muy sencillo de plantear pero quizás algo complejo de ejecutar, el que un led se encienda o apague gradualmente por PWM tras mantener pulsado un pulsador durante 3 segundos de tiempo. En esta versión del código durante la pulsación no se ejecutan otras tareas, se podría dar también esa posibilidad si se quisiera.

(más…)

Leer más

Ejecutar varios Sketch en Arduino sin tener que volver a programarlo desde el ordenador

Podría sernos útil en alguna ocasión disponer de varios programas/sketchs distintos cargados al mismo tiempo en nuestra placa Arduino, por ejemplo porque tenemos un robot que es capaz de seguir lineas, y también de seguir luz, y de recorrer una habitación… pero no todo al mismo tiempo porque son tareas muy concretas.

Para casos como esos podemos hacer uso de la memoria EEPROM para guardar una variable que aumente su valor cada vez que se encienda/resetee el Arduino, de ese modo y con ayuda de un poco mas de código podemos cargar una parte del sketch distinta en cada ejecución, cada una de esas partes serán programas independientes al resto.

(más…)

Leer más