Ajuda - programa p arduino controle strobos leds vermelho/azul

Precisava de ajuda de alguem com mais experiencia.
tenho um projecto em mãos e precisava saber se alguem tem ou me pode ajudar a arranjar o programa/codigo p o arduino que faça controlar um conjunto de strobos de leds AZUL/VERMELHO?!?!

anexo um exemplo dakilo que pretendo fazer.
OBGD

Nos exemplos do programa do arduino tem um exemplo chamado blink, é um começo!
:slight_smile:

blink without delay é um exemplo melhor. :slight_smile:

Não será muito difícil. O problema maior até será o debounce das teclas. :wink: Mas até isso é simples.

companheiros do arduino....
peço desculpa, mas o k eu kero fazer é mesmo este, do exmplo do video k vou colocar.
Eu fiz 2 modulos com 20 leds (10 vermelhos e 10 azuis) e kero por a piscar do genero, quando acende o azul do modulo1, no modulo2 acende o vermelho e vice-versa..

O exemplo que apontamos serve para qualquer um deles.

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

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.

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

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.

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);
  }  
}

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.

Olá.
Removi uma parte inutil do código

// variables will change:
int buttonState = 0; // variable for reading the pushbutton status

Era apenas resto do exemplo que me basiei.
Podes criar quantas outras funcoes sequencias quiser, basta seguir o modelo e depois renomea-las.
Lembrar tambem de chama-las na ordem que desejar no loop.
É sepre bom dar um tempo de pelo menos 500ms antes de ler o estado de um botao novamente, mas como estava implicito isso no código pois se chama duas vezes a funcao delay com esse tempo, nao avisei.
Mas caso o tempo de piscar de seus LEDs no total for menor que 500ms, basta apenas repetir o processo até o total de tempos ser maior ou igual a 500ms.
Mais dúvidas e problemas que tiver basta postar.
Abraço.

ok obgdo.

Amigo viniciuspolo, é possivel trocar-mos o endereço de messenger?!

Rodrigo Pontes
rpontes_30@hotmail.com

agora fikei com uma duvida....o botao vou ligar no pino13 e mais??? n sei onde ligar p mudar de sequencia...

aproveito e anexo um video dos strobos ja com o programa k me enviou

mesmo assim, em cada vez k uma cor acende, pretendo fazer outra sequencia, k em cada cor num segundo pisca 5 vezes...

exemplo da net:

abraço

Olá.
Não gosto muito de usar messenger.
Pode me mandar mensagens de e-mail se quiser para .......
Mas prefiro resolver dúvidas por aqui pois assim todos aprendem e fica resgistrado para quando alguem tiver o mesmo problema
O botao vc deve ligar segundo esse esquema, sendo que ele está ligado ao gnd por um resistor de 10k quando não pressionado.
http://arduino.cc/it/Tutorial/Button
Eu não entendi a sequencia que voce deseja.
Me explique melhor, e se no caso serao dois modulos como no vídeo.
Se for dois modulos se refira a LuzVerm1 e LuzVerm2 para saber de qual modulo fala.

Agora vi o segundo video melhor.
Voce deseja igual o do video?
Voce possui um potenciometro?
Se quiser posso fazer identico ao do video.

isso mesmo, pensei k n tinha percebido.
eu tenho potenciometro, so n sei qual é o indicado....no entanto, tinha pensado criar 2 sequencias diferentes, e muda-las com um botao de pressao...agr n sei qual é o melhor.

entao o que pretendia é o seguinte:

Sequencia 1 : igual ao video que mandei com o programa k me deu;
Sequencia 2 : igual ao video que mandei como exemplo na net:
nota: refiro-me ao post anterior a este que escrevi com videos

espero que tenha percebido, caso contrario, tento explicar de outra maneira.
obgdo
Abraço.

Olá.
Deixe me ver se entendi tudo direito.
Quer duas sequencias.
A primeira sequencia é igual a sequenciaUm que fiz no exemplo.
Quer que faça alguma modificação nela como os LEDs piscarem mais rápido?
A segunda sequencia quer igual a do vídeo, LEDs Vermelhos piscam 5 vezes e depois LEDs Azuis piscam 5 vezes?
No segundo vídeo o que acontece que com o potenciômetro o tempo entre os LEDs piscarem é alterado.
Posso implementar isso se quiser usando um potenciômetro.
Dessa forma você usa o botao para mudar entre a sequencia 1 e 2 e o potenciômetro para alterar a frequência que os LEDs piscam.
Posso ainda implementar isso para a sequenciaUm támbem, caso queira.
Amanhã vou estar bem ocupado, mas talvez sobre um tempo a noite para eu implementar.
Mas deixe bem explicado como quer que eu implemento o código para você.

é isso mesmo. Axo k para ja vou optar pelas 2 sequencias, mas sem potenciometro....da p fazer ??? alternando as duas sequencias com o botao!!

OBGD
ABRAÇO

gostava de saber uma coisa...depois de programar tudo, ter tudo a trabalhar, supondo que quero colocar os strobos na minha viatura, terei k andar com o arduino atras dos modulos, ou posso implementar numa pci os componentes necessários?!

Aguardo respostas de ajuda

Olá.
Hoje estou um pouco ocupado ainda e nao deve dar tempo de implementar o código, mas amanha devo ter tempo.
Voce pode usar uma pcb.
Até amanhã.