Go Down

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

rodrigopontes

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.

ViniciusPolo

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ê.
Precisa de produtos para seu Arduino?
Não deixe de ver meus produtos no Mercado Livre!
http://lista.mercadolivre.com.br/_CustId_76934379

rodrigopontes

é 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

rodrigopontes

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


ViniciusPolo

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ã.
Precisa de produtos para seu Arduino?
Não deixe de ver meus produtos no Mercado Livre!
http://lista.mercadolivre.com.br/_CustId_76934379

rodrigopontes

#20
Jan 18, 2012, 03:43 am Last Edit: Jan 19, 2012, 12:51 am by rodrigopontes Reason: 1
amigo viniciospolo, ja descobri...ja tenho o codigo!!!!

tive a falar com o meu ex-formador, e ele deu-me uma ajuda. tenho o codigo com 4 sequencias de strobos. Assim que for possivel posto fotos para verem.

codigo:

Code: [Select]
const int pinoBotao = 10;     // dando nome ao pino conectado o botao para facilitar durante a programacao
const int pinoLedVerm =  5;      // dando nome ao pino conectado o LED Vermelho para facilitar durante a programacao
const int pinoLedAzul =  4;      // dando nome ao pino conectado o LED Azul para facilitar durante a programacao
volatile int state = LOW;
// variables will change:
int buttonState, sequencia=0;         // variable for reading the pushbutton status

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);
 attachInterrupt(0, sequencias, RISING);
}

void loop(){
 
 if(sequencia==1) sequenciaUm();
 if(sequencia==2) sequenciaDois();
 if(sequencia==3) sequenciaTres();
 if(sequencia==4) sequenciaQuatro();


}

void sequencias()
{
 static unsigned long last_interrupt_time = 0;
 unsigned long interrupt_time = millis();
 // If interrupts come faster than 200ms, assume it's a bounce and ignore
 if (interrupt_time - last_interrupt_time > 700)
 {
   sequencia++;
   if (sequencia >4) sequencia = 1;
 }
 last_interrupt_time = interrupt_time;
}

void sequenciaUm(){
 //acende os LEDs azuis
 digitalWrite(pinoLedAzul, LOW);
 //apaga LEDs vermelhos
 digitalWrite(pinoLedVerm, LOW);
 //aguarda um tempo de 500 ms
 delay(500);
 //acende os LEDs vermelhos
 digitalWrite(pinoLedAzul, HIGH);
 //apaga LEDs azul
 digitalWrite(pinoLedVerm, HIGH);
 //aguarda um tempo de 500 ms
 delay(500);

}

void sequenciaDois(){
 //acende os LEDs azuis

 digitalWrite(pinoLedAzul, LOW);
 delay(150);
 digitalWrite(pinoLedAzul, HIGH);
 delay(150);
 digitalWrite(pinoLedAzul, LOW);
 delay(150);
 digitalWrite(pinoLedAzul, HIGH);
 delay(150);
 digitalWrite(pinoLedAzul, LOW);
 delay(150);
 digitalWrite(pinoLedAzul, HIGH);
 delay(150);
 

 //apaga os LEDs vermelhos

 digitalWrite(pinoLedVerm, LOW);
 delay(150);
 digitalWrite(pinoLedVerm, HIGH);
 delay(150);
 digitalWrite(pinoLedVerm, LOW);
 delay(150);
 digitalWrite(pinoLedVerm, HIGH);
 delay(150);
 digitalWrite(pinoLedVerm, LOW);
 delay(150);
 digitalWrite(pinoLedVerm, HIGH);
 delay(150);
 

}
void sequenciaTres(){
 
digitalWrite(pinoLedAzul, HIGH);
 //apaga LEDs vermelhos
 digitalWrite(pinoLedVerm, LOW);
 //aguarda um tempo de 500 ms
 delay(200);
 //acende os LEDs vermelhos
 digitalWrite(pinoLedVerm, HIGH);
 //apaga LEDs azul
 digitalWrite(pinoLedAzul, LOW);
 //aguarda um tempo de 500 ms
 delay(200);

}
void sequenciaQuatro(){
 
  digitalWrite(pinoLedAzul, LOW);
 delay(50);
 digitalWrite(pinoLedAzul, HIGH);
 delay(50);
 digitalWrite(pinoLedAzul, LOW);
 delay(50);
 digitalWrite(pinoLedAzul, HIGH);
 delay(50);
 digitalWrite(pinoLedAzul, LOW);
 delay(50);  
 digitalWrite(pinoLedAzul, HIGH);
 delay(50);
 digitalWrite(pinoLedAzul, LOW);
 delay(50);
 digitalWrite(pinoLedAzul, HIGH);
 delay(50);
  digitalWrite(pinoLedAzul, LOW);
 delay(50);  
 digitalWrite(pinoLedAzul, HIGH);
 delay(50);
 digitalWrite(pinoLedAzul, LOW);
 delay(50);
 digitalWrite(pinoLedAzul, HIGH);
 delay(50);
 //apaga os LEDs vermelhos

 digitalWrite(pinoLedVerm, LOW);
 delay(50);
 digitalWrite(pinoLedVerm, HIGH);
 delay(50);
 digitalWrite(pinoLedVerm, LOW);
 delay(50);
 digitalWrite(pinoLedVerm, HIGH);
 delay(50);
 digitalWrite(pinoLedVerm, LOW);  
 delay(50);  
 digitalWrite(pinoLedVerm, HIGH);
 delay(50);
 digitalWrite(pinoLedVerm, LOW);  
 delay(50);  
 digitalWrite(pinoLedVerm, HIGH);
 delay(50);
 digitalWrite(pinoLedVerm, LOW);  
 delay(50);  
 digitalWrite(pinoLedVerm, HIGH);
 delay(50);
 digitalWrite(pinoLedVerm, LOW);  
 delay(50);  
 digitalWrite(pinoLedVerm, HIGH);
 delay(50);
}


Este foi um exemplo que ele me deu, mas ha outra maneira de fazer mais simples.
peço desculpa ter colado o codigo assim, mas n sei como voces fazem.

de qlqr forma, se tiverem outra ideia, ou outro codigo que queira partilhar, aceito...eu partilhei este para quem precisar.


Abraço

rodrigopontes

ja agora, pode-me explicar como faço isso na pcb?!

desculpe a minha ignorancia...

ViniciusPolo

Olá.
Então a parte do código já está resolvida?
Para passar o Arduino para um PCB basta seguir esses passos que são os mesmo que para um Breadboard.
http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard
Pode ainda usar o regulador de tensao para converter a energia 12V do carro para o Arduino, lembrando que talvez precise coloca um pedaço de metal junto ao regulador para dissipar o calor gerado se for muito.
Quando precisar inserir um link, codigo, foto, etc, basta clicar em um dos botoes acima da caixa de texto.
Como por exemplo quando quiser colocar código clique em # e coloca seu codigo entre as tags code.
Se quiser pode editar sua mensagem anterior e ajustar.
Se surgirem mais dúvidas fico a disposição para ajudar.
Tem meu e-mail, se quiser poste aqui e me mande o link do post pelo e-mail, pois nem sempre venho aqui ao forum.
Precisa de produtos para seu Arduino?
Não deixe de ver meus produtos no Mercado Livre!
http://lista.mercadolivre.com.br/_CustId_76934379

rodrigopontes

#23
Jan 19, 2012, 12:45 am Last Edit: Jan 19, 2012, 12:54 am by rodrigopontes Reason: 1
Obrigado pela ajuda.

Agora tou com um problema, o arduino que eu tinha, era do curso que fiz e agora pediram-me o arduino e tive de o entrgar. Ou seja, tou sem arduino.
Vou ter que comprar um...mas so no fim do mes  :smiley-fat: :smiley-fat:


Outra coisa, posso usar os strobos sem a placa arduino??
disseram-me k sim, mas ia precisar de um microcontrolador, cristais...etc...   ou seja, posso criar numa pci com os componentes necessarios?!

Abraço

ViniciusPolo

Olá.
Sim pode funcionar sem Arduino, basta montar o esquema que passei na resposta anterior em uma PCB ao inves da Breadboard.
Mas deve precisar de um Arduino para gravar o seu programa no microcontrolador.
Precisa de produtos para seu Arduino?
Não deixe de ver meus produtos no Mercado Livre!
http://lista.mercadolivre.com.br/_CustId_76934379

rodrigopontes

#25
Jan 19, 2012, 11:57 pm Last Edit: Jan 20, 2012, 12:10 am by rodrigopontes Reason: 1
sim isso eu sei...
so fikei com uma duvida...no esquema que me mandou, fikei com uma duvida...é preciso tb o arduino-ready??

Já agora, é possivel arranjar-me o desenho p imprimir, e passar para a PCB do esquema anterior na breadbord???
eu tenho o programa para o fazer, mas não me entendo muito com isso...
obrigado

abraço

ViniciusPolo

Olá.
Não, ele é preciso apenas se necessitasse gravar outros programas no microcontrolador.
Mas como você prentede deixar o programa permanente na memoria, não é preciso.
Pode usar o Arduino de algum conhecido para gravar o código no seu microcontrolador.
Precisa de produtos para seu Arduino?
Não deixe de ver meus produtos no Mercado Livre!
http://lista.mercadolivre.com.br/_CustId_76934379

rodrigopontes

Quote
sim isso eu sei...
so fikei com uma duvida...no esquema que me mandou, fikei com uma duvida...é preciso tb o arduino-ready??

Já agora, é possivel arranjar-me o desenho p imprimir, e passar para a PCB do esquema anterior na breadbord???
eu tenho o programa para o fazer, mas não me entendo muito com isso...
obrigado

abraço

Pode me arranjar o esquema com o desenho para colocar na PCB???
Obgdo, Abraço

Go Up