sexta-feira, 19 de abril de 2019

Leitura de entrada Digital (Botão) - Desvio condicional (if) - Laço de repetição (for) 2

Fundamentos para as atividades



Leitura de pino digital - digitalRead()

·        Embarcados - Usando os pinos digitais do Arduino

·        Portal Vida de Silício - Arduino – Entradas e saídas digitais – Pinos digitais

·        Arduino.cc - digitalRead()

           Arduino.cc - Foundations - Digital Pins

MultilógicaShop - função digitalRead()


IF - IF ELSE

Arduino.cc - if/else

Multilógica-Shop - if/else

DEVMEDIA - if/else Operador ternário


FOR

arduino.cc - for


Resistores pull-up e pull-donw e seu uso em botões

Robot Feliciano - Botões e Resistores Pull-down e Pull-up

Laboratório de Garagem - Pull up e Pull down no Arduino

Laboratório de Garagem - Para que servem resistores Pull-Up/Pull-Down e como implementá-losAuto Core blog - Resistores Pull-Up e Pull-Down, como funcionam?

YouTube - Bit a Bit - Arduino - Usando botão e (resistores pull-up)

YouTube - Marlon Nardi - Universo Arduino #2 | Entradas Digitais Pull-Up Pull-Down Botões com Arduino

Youtube - GV ensino - Arduino: Botão e Resistor de Pull Up Interno



  

Exemplo







/*
 * Botao_0_1_0.ino - Botão
 *
 * Liga e desliga um diodo emissor de luz (LED) conectado ao pino digital 13,
 * ao pressionar um botão conectado ao pino 2.
 * 
 * O circuito:
 * - LED conectado do pino 13 ao aterramento por meio de resistor de 300 ohm
 * - botão de pressão conectado ao pino 2 de + 5V
 * - resistor de 10K conectado ao pino 2 A GND
 * 
 * - Nota: na maioria dos Arduinos já existe um LED na placa ligado ao pino 13.
 * 
 * Versão:
 * 0.0.0 -> IDE ARDUINO - Exemplos\02.Digital\Button   
 *          Criado em 2005 by DojoDave <http://www.0j0.org> 
 *          Modificado em 30/08/2011 por Tom Igoe
 *          This example code is in the public domain.
 *          https://www.arduino.cc/en/Tutorial/BuiltInExamples/Button
 * 0.1.0 -> Exclusão da variável glogal estado e resumo da leitura ao teste "if"         
 *          
 * Data: 09/09/2021         
 * Luiz Oscar Ruschel Pilger
*/

// apelidos
#define pinoBotao 2   // pino para o botão
#define pinoLed  13   // pino para o led

void setup() {
  pinMode(pinoLed, OUTPUT);   // inicializa o pino do Led como saída
  pinMode(pinoBotao, INPUT);  // incializa o pino do botão como entrada
}

void loop() {
  // Verifica se o botão está pressionado.
  // Na configuração Pull Donw o estado é HIGH
  if (digitalRead(pinoBotao) == HIGH) {
    digitalWrite(pinoLed, HIGH); // Coloca a saída em nível alto para ligar o led
  } 
else {
    digitalWrite(pinoLed, LOW);  // Coloca a saída em nivel baixo para desligar o led
  }
}

  

Atividades:

1 - Copiar o exemplo acima (Botao_0_1_0.ino) , compilar, simular e observar o funcionamento

2 - Considerando o exemplo apresentado (Botao_0_1_0.ino), colocar o trecho de código abaixo como comentário (incluir "//" no início de cada linha. O que acontece?

else {
    digitalWrite(pinoLed, LOW);  // Coloca a saída em nivel baixo para desligar o led
  }

3 - Crie um novo Skecth a partir da atividade 1 (Exemplo -Botao_0_1_0.ino), modifique o circuito do botão colocando o botão na configuração Pull-Up e observe o que acontece com o funcionamento do circuito




4 - Criar um novo sketch a partir da atividade 3. Mudar o funcionamento do programa:
          Botão apertado -> led ligado
          Botão solto        -> led desligado

4.1 - Criar um novo sketch a partir da atividade 4. Modificar o circuito e o sketch
          Botão -> pino 4
          Led     -> pino 10

5 - Criar um novo sketch, usando como base o sketch construído na atividade 3.
      O sketch deve conter:
          2 leds: led1 e led2
          2 botões: botao1 e botao2
      O sketch deve funcionar da seguinte forma:
          botao1 pressionado led1 ligado
          botao1 solto led1 desligado
          botao2 pressionado led2 desligado
          botao2 solto led2 ligado

6 - Criar um novo sketch, usando como base o sketch 
construído na atividade 3.
      O sketch deve conter:
          3 leds: led1, led2 e led3
          3 botões: botao1, botao2 e boto3
      O sketch deve funcionar da seguinte forma:
          botao1 controla o led1
          botao2 controla o led2
          botao3 controla o led3
          obs.: não foi indicado a forma de controle, ficando a escolha do autor (quem cria o sketch)

7 - Criar um novo sketch, usando como base o sketch utilizado na atividade 3.
      O sketch deve conter:
          1 led
          1 botão
      O sketch deve funcionar da seguinte forma:
          Ao pressionar o botão o led pisca 5 vezes

8 - Criar um novo sketch, usando como base o sketch utilizado na atividade 3.
      O sketch deve conter:
          1 led
          3 botões: botao1, botao2 e boto3
      O sketch deve funcionar da seguinte forma:
          botao1: Ao pressionar o botao1 o led pisca 6 vezes
          botao2: Ao pressionar o botao1 o led pisca 12 vezes
          botao3: Ao pressionar o botao1 o led pisca 18 vezes


  

Nenhum comentário:

Postar um comentário