Esse é o esquema do circuito montado na Protoboard
O código pode ser encontrado em: https://raw.githubusercontent.com/IIoT-Fei/PortasAbertas2017/master/Piano.ino
Variáveis podem ser vistas como caixinhas que guardam valores. As variáveis têm nomes e podem ser especializadas para guardarem tipos específicos de valores. Por exemplo:
int Botao1 = 2;
Essa linha cria uma variável chamada Botao1
que só pode guardar números
inteiros (int
) e já coloca o valor 2
dentro dela!
No código Piano.ino temos 8 variáveis declaradas.
Uma função é um bloco de código que possui um nome. Nesse caso, o nome da
função é setup
. Esse é uma função especial e o Arduino entende ela como a
primeira coisa que deve ser executada.
Aqui configuramos o nosso Arduino. Essa configuração apenas diz a ele que temos botões plugados nos pinos e um buzzer como saída.
pinMode(Buzzer, OUTPUT);
pinMode(Botao1, INPUT);
pinMode(Botao2, INPUT);
pinMode(Botao3, INPUT);
Essa é a principal função do código Arduino. Ela é executada em ciclos muito
rápidos; isto é, sempre que essa função termina, ela começa de novo!
A primeira linha aqui é:
EstadoBotao1 = digitalRead(Botao1);
A função digitalRead
lê o valor de entrada do Botao1
(que é uma variável
que está guardando o número da porta que este botão está conectado), e joga
dentro da variável EstadoBotao1
. Se o botão estiver pressionado,
EstadoBotao1
valerá 1. Caso contrário, 0.
Agora vem a parte mais legal!
if(EstadoBotao1==1 && EstadoBotao2==0 && EstadoBotao3==0) {
tone(Buzzer, 500);
}
Esse bloco de código faz duas coisas. A primeira linha faz uma pergunta e a segunda linha é executada somente se a pergunta foi respondida com SIM.
Como fazer perguntas?
Fácil!
Nesse código fazemos 3 perguntas e jutamos elas com a palavra e. A pergunta é:
O EstadoBotao1 vale 1; E o EstadoBotao2 vale 0; E o EstadoBotao3 vale 0?
Se isso for verdade, tone(Buzzer, 500)
é executado! Essa função faz o
Buzzer vibrar a 500Hz.
Há outras formas de juntar perguntas. Outra muito comum é através do OU,
representado pelos caracteres ||
. Veja aí, está no canto do seu teclado.
Talvez você precise usar o SHIFT.
Exemplos de perguntas:
if(a==1 && b==2 && a==c){
// Bloco de código
}
a é igual a 1; E b é igual a 2; E a é igual a c?
if( (a==1 && b==2) || a==c){
// Bloco de código
}
(a é igual a 1; E b é igual a 2); OU a é igual a c?
Viu? É fácil!
Agora é a sua vez!