InicioHazlo Tu MismoAhorrando de pines digitales con led RGB

Ahorrando de pines digitales con led RGB

Hazlo Tu Mismo3/28/2018
INTRODUCCIÓN: (Saraza)

A la hora de adoptar nuevos recursos (en este caso) me ha resultado muy práctico e interesante hacer este post esperando que te sirva como en mi caso.
ANTES: En mis proyectos usaba mucho Led Azul, Rojo, Verde y Blanco también varios pulsadores y Buzzer. Esto me ocasionaba una notable reducción de mis “PINES DIGITALES”. Debiendo llegar a pensar (en algunos casos) que necesitaría usar un Arduino MEGA pagando así los espacios de mis proyectos.


Una tarde me decidí a comprar cinco Led RGB para ver de qué se trataba y gracias a eso.
1. Encontré utilidad de los Pines ANALÓGICOS (Así liberé todos los DIGITALES).
2. De varios Led(s) ahora uso uno solo y le doy el color que necesito según sea el momento.
3. Pasé el Buzzer a usarlo (igual que en el digital) pero en el ANALÓGICO.
4. Comprendí la diferencia de uso de los Led RGB con CÁTODO o ÁNODO común.

Led Ánodo o Cátodo común:
Ahorrando de Pines Digitales con Led RGB


Entonces me quedó de este modo:

Pines digitales
D2 y D3 en (INPUT) para mis botones Switch

Pines analógicos
A0 para el Buzzer
A1 para RGB Rojo (Red)
A2 para RGB Verde (Green)
A3 para RGB Azul (Blue)
A4 y A5 Display LCD c/I2C para 16x2 o 20x4

Y todo el resto de los digitales libres para usar con lo que quiera!!!


Ejemplo básico para encender un Led RGB básico con ANODO COMUN

void setup() {
     Serial.begin(9600);

     pinMode(3, INPUT);   // Boton Blanco
     digitalWrite(3, LOW);

     pinMode(A0, OUTPUT);   // Buzzer
     pinMode(A1, OUTPUT);   // Led Verde
     pinMode(A2, OUTPUT);   // Led Rojo
     pinMode(A3, OUTPUT);   // Led Azul
}

void loop() {
     LedVerde();
     delay(1000);
     LedRojo();
     delay(1000);
     LedAzul();
     delay(1000);
     Parpadeo();
}

void LedVerde(){
     analogWrite(A1, 255);
     analogWrite(A2, 0);
     analogWrite(A3, 255);
}

void LedRojo(){
     analogWrite(A1, 0);
     analogWrite(A2, 255);
     analogWrite(A3, 255);
}

void LedAzul(){
     analogWrite(A1, 255);
     analogWrite(A2, 255);
     analogWrite(A3, 0);
}

void LedBoton(){
     analogWrite(A1, 0);
     analogWrite(A2, 0);
     analogWrite(A3, 0);
}

void Parpadeo(){
     for (int i=0; i<=1; i++){
         // *** Blanco (255,255,255)**
         analogWrite(A1, 0); analogWrite(A2, 0); analogWrite(A3, 0);
         delay(250);
         // *** Negro (0,0,0)*********
         analogWrite(A1, 255); analogWrite(A2, 255); analogWrite(A3, 255);
         delay(250);
     }
     tone(A0,70,250);
}


Con respecto al costo solo te puedo decir que pagué $5.- cada Led… Comprate un par y probalos; vas a ver qué diferencia… Te deseo lo mejor!
Datos archivados del Taringa! original
0puntos
60visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

H
Humberto02🇦🇷
Usuario
Puntos0
Posts15
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.