Brincando com LEDs Arduino - Tutorial

|



Apresento para vocês uma série de exercícios para quem quer brincar com LEDs e Arduino.
Neste passo a passo é possível criar um pisca com LEDs e uma chave sinalizadora.



Montar na sua matriz de contatos:
-Atenção é importante notar que os LEDs devem estar ligados um paralelo com o outro e com polos opostos.
-O resistor pode ser de outro valor como 330R ou 470R, a modificação altera no brilho do LED.


Clicar na imagem para ampliar.

A1-Execute o programa abaixo: 

/*
Programa desenvolvido por Gamesh_
http://brasilrobotics.blogspot.com/
06/01/2011
*/
int ledPin1 =11;
int ledPin2 =10;



void setup() {

pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}



void loop()
{
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
delay(1000);

}

Comentário do programa:
-Como temos o LedPin1 em estado HIGH(LIGADO, 5V) e o LedPin2 no estado LOW(Baixo, 0V) temos um fluxo de elétrons em um sentido. Como o LED é um diodo e como tal permite apenas a passagem de corrente em um sentido(LED é polarizado) temos apenas um Led ligado.


A2-Execute o programa modificado abaixo: 

/*
Programa desenvolvido por Gamesh_
http://brasilrobotics.blogspot.com/
06/01/2011
*/
int ledPin1 =11;
int ledPin2 =10;



void setup() {

pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}



void loop()
{
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(1000);

}

Comentário deste novo código:
-Com a Mudança do HIGH para o LOW no LedPin1 e LedPin2 temos o outro Led ligado.

Vamos modificar mais um pouco o programa?

B1-Execute o programa abaixo:

/*
Programa desenvolvido por Gamesh_
http://brasilrobotics.blogspot.com/
06/01/2011
*/
int ledPin1 =11;
int ledPin2 =10;



void setup() {

pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}



void loop()
{
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
delay(1000);

digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(1000);

}


Comentário deste código:
Temos agora um pisca LED do tipo que tem em estacionamentos de carro. Em determinado tempo temos um fluxo de energia num sentido que liga um LED e em outro momento temos um fluxo em sentido contrário que liga o outro LED.

Vejam no vídeo como fica:










Vamos mais fundo?
Montar na sua matriz de contatos:
-Adicionar um botão e um resistor(pode ser de valor diferente).

Clicar na imagem para ampliar.




Pronto para modificar mais um pouco o programa?

C1-Execute o programa abaixo: 


/*
Programa desenvolvido por Gamesh_
http://brasilrobotics.blogspot.com/
06/01/2011
*/
int ledPin1 = 11;
int ledPin2 = 10;
int Botao1 = 7;
int val=0;


void setup() {

pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(Botao1, INPUT);
}



void loop()
{

val = digitalRead(Botao1);


if(val==LOW){

digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);

}
else{


digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);

}


}


Comentário deste novo código:
-É feita a leitura do botão e uma condição é criada:
1° Caso o botão não esteja pressionado o LedPin1 deve estar ligado. Fiz a combinação para que o "vermelho" esteja ligado neste caso.
2° Caso contrário o LedPin2 deve ficar ligado. Ajustei para que o "verde" esteja ligado neste caso.
Então quando não pressionamos o botão o LED Vermelho indica que está desligado e quando pressionamos o LED Verde indica que está ligado.
Trata-se então de uma chave que indica quando o seu aparelho está sendo usado ou não, basta implementar.


Vejam no vídeo como fica:






Gostou do tutorial? Incentive mais tutoriais visitando:

9 comentários:

enio disse...

Parabens,

o 1º foi otimo e esse foi excelente.

Paulo disse...

Muito bom, mas tenho uma dúvida:
Pra que o resistor em série com o botão?

Gamesh_ disse...

olá Paulo

O resistor garante o bom funcionamento do botão.

Visite a aula sobre botões que você verá maior detalhes.

3 Aula - Botões, Arduino e Resistor Pull-up e Pull-Down - Tutorial

Natan disse...

como é determinado o valor dos resistores? por que um resistor de 1k e nao de 2k ou 10k

Brasilrobotics disse...

Opa

O uso de um resistor depende de U=RI
U=tensao
R=resitencia
I= corrente

E´ possivel variar o valor da resistencia entretanto maiores resistencias em serie temos uma corrente menor circulando.
resistencias muito baixar sao quase um fio.
Para proteger circuitos usa-se resistores para limitar a corrente que passar no fio. Assim pode-se variar o valor da resistencia mas precisa saber oque se faz para evitar nao fritar o arduino ou mesmo fornecer uma baixa corrente ao circuito desejado.
Estude sobre Resistores, Serie e Paralelo, Malhas e circuitos bascos de eletronica.
os livro de Fisica 3 costumam ter esse tema e na internet esta´ cheio.
Futuramente algo sera abordado com profundidade sobre o tema.

Bruno Hemerly disse...

Olá amigo, só tenho uma dúvida.

no terceiro exemplo você declarou uma variavel 'int val=0'

o que isso significa? pra que ela serve?

e depois você falou que botão 1 = val

obrigado

Erivelton Share disse...

Estou iniciando em Arduino e gostaria de saber qual material necessário para construir uma matriz de leds 24x8
igual a essa http://www.youtube.com/watch?v=SRjeJqdbNkM

Me indiquem qual material comprar aqui na loja, obrigado
msn erivelton42@hotmail.com

Unknown disse...

Não entendi porque neste circuito de Pull-dow possui apenas 1 resistor(que esta protegendo apenas o GND) Segundo a aula 3 "Botões, Arduino e Resistor Pull-up e Pull-Down" não seria necessário outro resistor que ficasse em serie entre a porta 7 e o botão? Não tem perigo de queimar a porta 7 passando a corrente diretamente (sem oferecer nenhuma resistencia) ?

Anônimo disse...

I am really іnspired with youг wгіting abilities аѕ smartly аs ωіth the layout on your weblοg.

Is that this a рaіd subјect or dіd уou custоmіze it
уourѕelf? Anywаy stay up the еxcellent hіgh qualіty writing,
it's uncommon to peer a great weblog like this one nowadays..

Also visit my web page ... Resistor Color Code Calculator

 

©2010 Brasilrobotics | by Gamesh_