Esta mensagem é baseada nestes tutoriais:
Material:
- 1 breadboard
- 1 arduino
- 1 led
- 1 resistência de 220 ohm
- 1 botão de pressão (pushbutton)
- 1 resistência de 10 kohm
- 5 Fios elétricos
Esquema:
Esquema desenhado no Fritzing
Código:
__________________________________________________
int led=13; //led no pino 13
int botao=12; //botão no pino 12
int var=0;
void setup()
{
pinMode(led,OUTPUT);
pinMode(botao,INPUT);
}
void loop()
{
var=digitalRead(botao); //ler o valor enviado pelo botão: "HIGH" ou "LOW"
if (var == HIGH) {
digitalWrite(led,HIGH);
} else {
digitalWrite(led,LOW);
}
}
__________________________________________________
Com este código, o led apenas acende enquanto estivermos a carregar no botão. Assim que o largarmos, o led apaga.
Clique no botão "Upload" do arduino e observe os resultados!
1 comentários:
OLÁ AMIGOS!
Fiz a experiência, porem quando coloca mais uma 3º saída essa fica com o Led piscando ao invés de funcionar corretamente como a 1º e a Segunda?
segue código modificado:
//BT1
int E1=2; // led no pino 2
int S1=20; // botão no pino 20
int var1=0; // valor instantaneo enviado pelo botão
int var2=0; // valor guardado
int estado1=0; // guarda o valor 0 ou 1 (HIGH ou LOW)
//BT2
int E2=3; // led no pino 3
int S2=21; // botão no pino 21
int var3=0; // valor instantaneo enviado pelo botão
int var4=0; // valor guardado
int estado2=0; // guarda o valor 0 ou 1 (HIGH ou LOW)
//BT3
int E3=4; // led no pino 4
int S3=22; // botão no pino 22
int var5=0; // valor instantaneo enviado pelo botão
int var6=0; // valor guardado
int estado3=0; // guarda o valor 0 ou 1 (HIGH ou LOW)
void setup()
{
pinMode(E1,OUTPUT);
pinMode(S1,INPUT);
pinMode(E2,OUTPUT);
pinMode(S2,INPUT);
pinMode(E3,OUTPUT);
pinMode(S3,INPUT);
}
void loop()
{
//BT1
var1=digitalRead(S1); // ler o valor enviado pelo botão: "HIGH" ou "LOW"
if ((var1 == HIGH) && (var2 == LOW)){
estado1 = 1 - estado1;
delay(20); // de-bouncing
}
var2=var1;
if (estado1 == 1) {
digitalWrite(E1, HIGH); // liga o led
} else {
digitalWrite(E1, LOW); // desliga o led
}
//BT2
var3=digitalRead(S2); // ler o valor enviado pelo botão: "HIGH" ou "LOW"
if ((var3 == HIGH) && (var4 == LOW)) {
estado2 = 1 - estado2;
delay(20); // de-bouncing
}
var4=var3;
if (estado2 == 1) {
digitalWrite(E2, HIGH); // liga o led
} else {
digitalWrite(E2, LOW); // desliga o led
}
//BT3
var5=digitalRead(S3); // ler o valor enviado pelo botão: "HIGH" ou "LOW"
if ((var5 == HIGH) && (var6 == LOW)) {
estado3 = 1 - estado3;
delay(20); // de-bouncing
}
var6=var5;
if (estado3 == 1) {
digitalWrite(E3, HIGH); // liga o led
} else {
digitalWrite(E3, LOW); // desliga o led
}
}
Enviar um comentário