3 fórmulas y media para Led Blink en Arduino

Vamos a ver de que manera tan variada podemos hacer que un LED prenda y apague en Arduino…

Arduino Uno LED Blink sketch - Onboard D13 LED - YouTube

Vamos por la clásica, la del ejemplo de la IDE de Arduino:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

Bastante clara y muy explicada, verdad?

Vamos con otra…

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  delay(1000);
}

El truco: digitalRead devuelve el estado del pin, y lo niega (si es 1 lo pone en 0, y viceversa)
Luego espera un segundo y el ciclo comienza otra vez…

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, (millis() / 1000) % 2);
}

Vamos mejorando!
Usando la funcion millis() de Arduino, que devuelve los milisegundos desde que se inicio el Arduino, lo dividimos por 1000 para convertir en segundos. Luego aplicamos la funcion módulo (%) que devuelve un 1 para números pares o un 0 para impares, y según el estado, lo “escribimos” en el pin!
Este tipo de solución evita “congelar” el microcontrolador usando la función delay()

Y de regalo,

#include <Automaton.h> //https://github.com/tinkerspy/Automaton

Atm_led led;

void setup() { 
led.begin( 4 ).trigger( led.EVT_BLINK ); 
}

void loop() { 
automaton.run(); 
}

Usando una librería que entre otras cosas, cambia de estados pines rapidamente!!!

Basado en la idea de Wokwi

Zócalo para Atmega328 y Attiny85

Pensado para usarse con un adaptador USBasp, este zócalo dual tiene las conexiones necesarias para programar un Atmega328 (por eso el cristal…) y un Attiny85, que son los dos micros con los cuales vengo experimentando en estos tiempos. Los cables de la parte de abajo no son un defecto, sino una expresión de arte!

Shunt…!

Inspirado en este video de ElectroBoom me hice un shunt! Salió mejor de lo que pensaba, así que le hice uno a mi viejo, para que tenga en su taller tambien!

Realizado con alambre que encontré en la calle, los puntos de soldadura indican el lugar en donde se debe colocar el multimetro:

IMG_20190921_142046

De paso le hice uno a mi papá:IMG-20190921-WA0007

Cada milivoltio (mV) representa 100mA de corriente. En la foto se lo muestra midiendo un consumo de 520mA:

IMG_20190921_133531

Acá midiendo 8.97 A:IMG_20190921_140012IMG_20190921_140027

Comparado con un amperímetro. No está taaaaaaan maaaaaal:

IMG_20190921_141454

Para mí, quedó muy bien!IMG_20190921_141654

Saludos y gracias!