Go Down

Topic: Ajuda - programa p arduino controle strobos leds vermelho/azul (Read 4 times) previous topic - next topic

rodrigopontes

vou tentar entao. so n sei qts saidas vou usar p fazer akilo k pretendo...
se alguem me puder dar uma ajuda, agradeço.

obgd
rpontes

ViniciusPolo

Olá.
Voce pretende ligar todos LEDs de um lado e depois todos LEDs de outro lado?
Se for isso o que voce pode fazer é simplemente usar um transistor para ligar e desligar o conjunto de LEDs e economizar nas saidas.
Se no seu modlulo de LEDs tiver dois fios para ligar o conjunto de LEDs um no positovo e outro no negativo vai ser super simples.
Primeira coisa voce precisa de um transistor que aguente a corrente dos LEDs, entao primeiro é preciso medir a corrente que eles consomem.
Depois basta ligar o terra do modulo de LEDs no terra da sua fonte e o positivo voce liga no transistor.
Depois com um simples sinal HIGH para a saida ligada ao transistor voce consegue ligar todos os LEDs do modulo.
A parte do código voce pode usar o exemplo que indicaram e acho que é a saida 13 que usa.
Entao voce ligaria a saida 13 do arduino ao transistor.
Se ficou mais dúvidas basta deixar postadas.
Precisa de produtos para seu Arduino?
Não deixe de ver meus produtos no Mercado Livre!
http://lista.mercadolivre.com.br/_CustId_76934379

rodrigopontes



ora aí esta o meu projecto. claro k n é nada de especial, é um prototipo meu, so p teste....dps de ter tudo a fuincionar, irei personalizar a meu gosto com caixa e tudo.

neste modulo, em cd quadrado k ta as cores azul e vermelho, tem uma entrada p cada cor. ja tenh feito num bocado de pci, um transistor BD240A, conforme na imagem a seguir.



a questao é, além deste modulo, tenho outro igual...ou seja, no total tenho 4 entradas para os leds. a minha duvida é como irei fazer o programa no arduino. O exmpl que me deram do blink without delay, é facil fazer so p uma cor....isso sei fazer, agr conjuga-los para as 4 entradas e intercalar com eles todos (conforme no video anterior) isso é k ta complicado p mim...n consigo mesmo.

Alguem me ajuda?!

Desculpem se tou a ser mt chato...mas keria tentar perceber melhor.
obgd pelas dicas, companheiros.

Abraço

ViniciusPolo

#8
Jan 16, 2012, 04:23 pm Last Edit: Jan 16, 2012, 06:22 pm by ViniciusPolo Reason: 1
Olá.
Primeiro não está sendo chato, pois realmente para alguém que tenha dificuldade em programar apenas aquele exemplo do Blink não basta.
Segundo, sua parte elétrica ficou muito boa, devia depois fazer um tutorial para o pessoal de como fez tudo.
Terceiro, vou deixar aqui um exemplo meio genérico para você com duas sequencias, mas pode implementar outras facilmente basta modificar alguns parâmetros.
E se ficar mais dúvidas é só voltar e perguntar.
Caso tenha alguma sequencia mais complicada que deseje explique melhor com detalhes e tempos como deseja que os LEDs pisquem e posso ajudar.
Esse meu exemplo é baseado em apenas 1 botão, conforme você pressiona ele, vai mudando para as sequencias que criar.
O botão está Ligado a Saída 13 e supondo que tenha apenas 1 modulo de LEDs sendo Vermelho ligado a Saída 2 e Azul a Saída 3.


Code: [Select]
const int pinoBotao = 13;     // dando nome ao pino conectado o botao para facilitar durante a programacao
const int pinoLedVerm =  2;      // dando nome ao pino conectado o LED Vermelho para facilitar durante a programacao
const int pinoLedAzul =  3;      // dando nome ao pino conectado o LED Azul para facilitar durante a programacao

void setup() {
  // inicializa os pinos dos LEDs como saidas
  pinMode(pinoLedVerm, OUTPUT);
  pinMode(pinoLedAzul, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(pinoBotao, INPUT);
  //desliga os dois LEDs, apenas para ter certeza que quando inicia é com os LEDs apagados
  digitalWrite(pinoLedVerm, LOW);
  digitalWrite(pinoLedAzul, LOW);
}

void loop(){
  sequenciaUm();
  sequenciaDois();
}

void sequenciaUm(){
  while(buttonState == LOW){//assim que entra na funçao só vai sair quando o botao for pressionado, ou seja, enquanto ele nao estiver pressionado vai ficar na funçao
  //acende os LEDs azuis
  digitalWrite(pinoLedAzul, HIGH);
  //apaga LEDs vermelhos
  digitalWrite(pinoLedVerm, LOW);
  //aguarda um tempo de 500 ms
  delay(500);
  //acende os LEDs vermelhos
  digitalWrite(pinoLedVerm, HIGH);
  //apaga LEDs azul
  digitalWrite(pinoLedAzul, LOW);
  //aguarda um tempo de 500 ms
  delay(500);
  } 
}

void sequenciaDois(){
  while(buttonState == LOW){//assim que entra na funçao só vai sair quando o botao for pressionado, ou seja, enquanto ele nao estiver pressionado vai ficar na funçao
  //acende os LEDs azuis
  digitalWrite(pinoLedAzul, HIGH);
  //acende LEDs vermelhos
  digitalWrite(pinoLedVerm, HIGH);
  //aguarda um tempo de 500 ms
  delay(500);
  //apaga os LEDs vermelhos
  digitalWrite(pinoLedVerm, LOW);
  //apaga LEDs azul
  digitalWrite(pinoLedAzul, LOW);
  //aguarda um tempo de 500 ms
  delay(500);
  } 
}

Precisa de produtos para seu Arduino?
Não deixe de ver meus produtos no Mercado Livre!
http://lista.mercadolivre.com.br/_CustId_76934379

rodrigopontes

caro amigo viniviuspolo, voce me ajudou imenso.

Quanto ao tutorial, assim k tiver isto preparado, vou concerteza apresentar ao pessoal...com fotos, video e tudo...desde o inicio.

Vou entao experimentar, e dps digo algo.
Obgdo uma vez mais.

Abraço.

Go Up