LED controlado por botão 

Neste projeto para iniciantes no Arduino vamos aprender como controlar um LED por meio de um botão.

     A primeira coisa que devemos fazer para controlar o nosso LED com um botao usando o Arduino é montar o nosso circuito onde usaremos os sequintes materiais:

     - Arduino

     - "Pushbutton" botão de pressionar

     - LED

     - Fios jumper

     Na imagem abaixo podemos ver como este componentes devem ser organizados para que nosso circuito fique pronto. Lembrando que a perninha maior do LED fica sempre conectada ao fio positivo enquanto a perninha menor fica conectada ao fio negativo. 

Screenshot 2022-06-03 164417.jpg

     No caso do nosso pushbutton, os fios só podem ser conectados na diagonal ou um ao lado do outro, porém não podem ser conectados no mesmo lado no sentido vertical. Será mais fácil entender isso olhando a imagem abaixo que mostra os dois jeitos como podemos conectar o-s fioa ao pushbutton:

Screenshot 2022-06-04 190318.jpg
Screenshot 2022-06-04 190405.jpg

      Agora que já construímos o nosso circuito devemos focar no nosso código que dirá ao Arduino o que fazer. Primeiro para entendermos como programar o Arduino para realizar essa função vamos primeiro pensar no algoritimo que teremos que criar para esse problema. Lembrando que um algoritimo é a série de intruções que um computador deve seguir para resolver uma tarefa. Nesse caso a primeira coisa qu o Arduino deve fazer é checar qual é o estado do botão (pushbutton), isto é se ele está ligado ou deligado. Baseado nesse estado o Arduino deve decidir o que fazer. Neste caso teremos uma condição If e Else, você pode ler mais sobre isso apertando aqui. Continuando, a nossa primera condição é que se o estado do botão for apertado então queremos que o estado do LED mude para desligado, por outro lado se o estado do botão não for apertado, ou seja, souto, então o estado do LED deve mudar para desligado.

     Agora devemos escrever primeiro a parte do nosso código que diz a respeito das variáveis que devem ser declaradas. As duas variáveis que precisamos declarar são: o pino no qual o LED está ligado, neste caso usarei o pino digital 13, e o pino no qual o botão está ligado, aqui usarei o pino digital 7. Então temos o código:

         int LED = 13;

         int botao = 7;

     Depois de declarar as váriaveis vamos para a segunda parte do código, o void Setup, dentro desta função iremos definir a função de cada pino. O pino conectado ao LED é um pino output já que existe energia saindo dele. Por outro lado, o pino conectado ao pushbutton é um pino input, porém ele é um tipo especial de input chamado de input pullupe é usado especificamente para botões do tipo pushbutton como o que estamos usando. Para usar o input normal com o pushbutton é necessário conectar um outro fio ao botão com um resitor. Portanto, temos o seguinte código:

       void Setup() {

            pinMode(LED, OUTPUT);

            pinMode(botao, INPUT_PULLUP);

        }

      Agora só temos que escrever a última parte do código, void loop, onde realmente o nosso algoritimo que foi explicado anteriormente será executado. O código para tal algotimo é o seguinte:

      void loop() {

          if (digitalRead(botao) == HIGH){
                digitalWrite(LED, HIGH);
           }
 
         else {
              digitalWrite(LED, LOW);
         }
       }

     Sendo assim, temos o código completo que junta todas as três partes:

        int LED = 13;

        int botao = 7;

        void Setup() {

            pinMode(LED, OUTPUT);

            pinMode(botao, INPUT_PULLUP);

        }

       void loop() {

          if (digitalRead(botao) == HIGH){
                digitalWrite(LED, HIGH);
           }
 
         else {
              digitalWrite(LED, LOW);
         }
       }