miércoles, 8 de enero de 2020

Sketch para hacer parpadear un Led con Arduino



Este circuito es la primera clase que tiene todo alumno para aprender sobre esta placa denominada Arduino. En su estructura cuenta con un microcontrolador que le permite hacer múltiples tareas y esta en función de la habilidad del diseñador.
Este circuito permite controlar un foquito led haciéndolo prender y apagar de acuerdo al tiempo asignado.
Los Materiales usados son:
  • 01 placa arduino uno
  • 01 led
  • 01 resistor de 330 ohm
  • cables para conectar


void setup() {
pinMode(10, OUTPUT);
}
void loop() {
digitalWrite(10, HIGH);
delay(1000);
digitalWrite(10, LOW);
delay(1000);
}

Sketch de parpadeo de luz en diodo Led controlado por un potenciómetro en Arduino


El objetivo del siguiente ejemplo es controlar el parpadeo del foquito led mediante un potenciómetro. Para esto necesitamos los siguientes materiales:
  • 01 Placa arduino uno
  • 01 potenciómetro
  • 01 diodo led
  • 01 resistor de 330 ohms
  • alambres para conectar.

int sensor = 0;
int ledPin = 8;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
int pot;
pot = analogRead(sensor);
digitalWrite(ledPin, HIGH);
delay(pot);
digitalWrite(ledPin, LOW);
delay(pot);
}

Sketch de un foquito led RGB en la placa arduino


Este ejemplo nos permite aplicar el uso del foquito led RGB. Este diodo tiene integrado a 3 foquitos led de color Rojo, Verde y Azul. Podemos combinar estos colores primarios para visualizar los que falta.
Por ejemplo al ejecutar el sketch podemos apreciar como como se combinan los colores primarios para apreciar los siguientes colores: rojo, verde, azul, amarillo, cyan, morado y blanco.
Luego durante unos 7.67 segundos se visualizará un matiz de colores que inicia en el rojo y termina en el mismo rojo. Les recomiendo ver el video.
Materiales usados:
  • 01 Placa arduino uno
  • 01 led RGB
  • 03 resistores de 330 ohmios
  • cables para conectar.



const int ROJO_PIN = 9;
const int VERDE_PIN = 10;
const int AZUL_PIN = 11;
void setup()
{
pinMode(ROJO_PIN, OUTPUT);
pinMode(VERDE_PIN, OUTPUT);
pinMode(AZUL_PIN, OUTPUT);
}
void loop()
{
unicosColores();
maticesColores();
}
void unicosColores()
{
// Apaga todos los leds:
digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, LOW);
delay(1000);
// Rojo:
digitalWrite(ROJO_PIN, HIGH);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, LOW);
delay(1000);
// verde:
digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, HIGH);
digitalWrite(AZUL_PIN, LOW);
delay(1000);
// azul:
digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, HIGH);
delay(1000);
// amarillo:
digitalWrite(ROJO_PIN, HIGH);
digitalWrite(VERDE_PIN, HIGH);
digitalWrite(AZUL_PIN, LOW);
delay(1000);
// Cyan:
digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, HIGH);
digitalWrite(AZUL_PIN, HIGH);
delay(1000);
// morado:
digitalWrite(ROJO_PIN, HIGH);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, HIGH);
delay(1000);
// blanco:
digitalWrite(ROJO_PIN, HIGH);
digitalWrite(VERDE_PIN, HIGH);
digitalWrite(AZUL_PIN, HIGH);
delay(1000);
// Apaga todos los leds:
digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, LOW);
delay(1000);
}
void maticesColores()
{
int x;
for (x = 0; x < 768; x++)
{
verRGB(x);
delay(10);
}
}
void verRGB(int color)
{
int intensidadRojo;
int intensidadVerde;
int intensidadAzul;
if (color <= 255)
{
intensidadRojo = 255 – color;
intensidadVerde = color;
intensidadAzul = 0;
}
else if (color <= 511)
{
intensidadRojo = 0;
intensidadVerde = 255 – (color – 256);
intensidadAzul = (color – 256);
}
else
{
intensidadRojo = (color – 512);
intensidadVerde = 0;
intensidadAzul = 255 – (color – 512);
}
analogWrite(ROJO_PIN, intensidadRojo);
analogWrite(AZUL_PIN, intensidadAzul);
analogWrite(VERDE_PIN, intensidadVerde);
}