ARCADE FOREVER

Controlar leds con arduino uno.

« Older   Newer »
  Share  
Kusaro
view post Posted on 7/4/2018, 12:23 by: Kusaro     +1   +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
225
Reputation:
+23

Status:


Por lo que he visto la tira de leds que tienes es tal que así:
photo_2018_04_07_13_03_23
Como vez va al revés que como se suelen configurar normalmente, en vez de dar voltaje para encender el led, es todo lo contrario, tu le estas dando siempre el voltaje de 5v y cuando conectas la entrada G, B o R la tira de leds de ese color se encienden.

Ahora bien esta correspondería al trozo de la tira que has cortado:
photo_2018_04_07_13_03_20
Para unas pruebas simples, no pasa nada si haces la conexion directa de G, B y R a arduino, pero recomiendo que uses transistores, ya que puedes freir a arduino si le pones una carga de corriente muy grande ( aparte de que funcionaría al revés, cuando pongas en "high" el pin que conecta a G, B, o R, el led se apagaria, y en "low" se encenderia)

De echo, te aconsejo algo tal que asi:
photo_2018_04_07_13_03_19
De esta manera cada led no esta conectado "directamente" a arduino sino que pasa a través de un transistor, y según pongas en high o low el pin corespondiente, este se encenderá o apagará.

Dicho esto, pasemos ahora al código. Por lo que he visto, estás utilizando "digitalwrite" eso solo te sirve en caso de que quieras "encender" o "apagar" si quieres jugar con intensidades, tienes que utilizar pulsos, y para esto sería con "analogwrite".

Te escribo un ejemplo:
int ledPin = 9; // LED connected to digital pin 9
int analogPin = 3; // potentiometer connected to analog pin 3
int val = 255; // variable to store the read value

void setup()
{
pinMode(ledPin, OUTPUT); // sets the pin as output
}

void loop()
{

analogWrite(ledPin, val);
delay(250);
val = val/2;
}

Con esto, el led deberia de empezar encendido a tope, y cada 1/4 de segundo irá disminuyendo su intensidad, hasta empezar a parpadear y finalmente apagarse.
 
Top
115 replies since 7/4/2018, 09:00   1139 views
  Share