top of page

Projeto - 01

Desenvolver um projeto utilizando três botões; cada botão pressionado deve acender um LED específico. Quando os três LEDs estiverem acesos o programa deverá disparar um alarme.

01 - Arduino Mega 2560
01 - Protoboard
03 - Push-Button
01 - Buzzer
03 - LEDs ( 01 Vermelho – 01 Amarelo – 01 Verde)
03 - Resistores 10KΩ para os Push-Button
03 - Resistores 220Ω para os Leds
Jumpers

Componentes

Qtd | Descrição

Push-button nas portas digitais (2, 3 e 4)
LEDs nas portas digitais (10, 11 e 12)
Buzzer na porta digital (8)

Instruções

Conhecimentos

Observação:
Os resistores serão utilizados como limitadores de corrente.

Diagrama de Blocos

Diagrama de Blocos

Protótipo do Circuito

Projeto 01

// Projeto Buz_Led_Push
// Neste exemplo utilizamos somente portas digitais.
int ledVermelho = 10; 
int ledAmarelo  = 11;
int ledVerde    = 12;
int botaoVermelho = 2;  
int botaoAmarelo = 3;
int botaoVerde = 4;
int buzzer = 8;
void setup() {
  // put your setup code here, to run once:
  pinMode(ledVermelho, OUTPUT);
  pinMode(botaoVermelho, INPUT);
  pinMode(ledAmarelo, OUTPUT);
  pinMode(botaoAmarelo, INPUT);
  pinMode(ledVerde, OUTPUT);
  pinMode(botaoVerde, INPUT);
  pinMode(buzzer, OUTPUT);
}
void loop() {
  if ((digitalRead(botaoVermelho) == HIGH) && (digitalRead(ledVermelho) == LOW)) {
     digitalWrite(ledVermelho,  HIGH);  
     delay(500);
  }
  if ((digitalRead(botaoVermelho) == HIGH) && (digitalRead(ledVermelho) == HIGH)) {
     digitalWrite(ledVermelho,  LOW);  
     delay(500);        
   }
 
  if ((digitalRead(botaoAmarelo) == HIGH) && (digitalRead(ledAmarelo) == LOW)) {
     digitalWrite(ledAmarelo,  HIGH);    
     delay(500);
  }
  if ((digitalRead(botaoAmarelo) == HIGH) && (digitalRead(ledAmarelo) == HIGH)) {
     digitalWrite(ledAmarelo,  LOW);  
     delay(500);        
   }
 
  if ((digitalRead(botaoVerde) == HIGH) && (digitalRead(ledVerde) == LOW)) {
     digitalWrite(ledVerde,  HIGH);  
     delay(500);
  }
  if ((digitalRead(botaoVerde) == HIGH) && (digitalRead(ledVerde) == HIGH)) {
     digitalWrite(ledVerde,  LOW);  
     delay(500);        
   }
  if ( (digitalRead(ledVermelho)==HIGH) &&
       (digitalRead(ledAmarelo)==HIGH)  &&
       (digitalRead(ledVerde)==HIGH)) {
        digitalWrite(buzzer,HIGH);
       }
 
  if ( (digitalRead(ledVermelho)==LOW) ||
       (digitalRead(ledAmarelo)==LOW)  ||
       (digitalRead(ledVerde)==LOW)) {
        digitalWrite(buzzer,LOW);
       }
}

Código

Comentários sobre o Código

int ledVermelho = 10

Nesta linha criamos uma variável do tipo int e atribuímos o valor 10.​

pinMode(ledVermelho, OUTPUT)

Nesta linha informamos ao Arduino que o modo de seu pino, 10, será utilizado como saída. Lembrando que o valor da variável ledVermelho é 10.​

pinMode(botaoVermelho, INPUT)

Nesta linha informamos ao Arduino que o modo de seu pino, 2, será utilizado como entrada. Lembrando que o valor da variável botaoVermelho é 2.

Configura o pino especificado para que se comporte ou como uma entrada (input) ou uma saída (output).

Sintaxe:
pinMode(pin,modo)
Parâmetros:
pin: o número do pin o qual você deseja predeterminar;
modo: pode ser INPUT ou OUTPUT.

Exemplo:
pinMode(10, OUTPUT); //pino 10 como saída​

digitalWrite(ledVermelho,  HIGH)

Escreve um valor HIGH ou um LOW em um pino digital. Se o pino foi configurado como uma saída (output) com o pinMode(), sua voltagem será determinada ao valor correspondente: 5V (ou 3.3V nas placas de 3.3V) para HIGH, 0V (terra) para LOW.

Sintaxe:
digitalWrite(pin, valor)
Parâmetros:
pin: o número do pin;
valor: HIGH ou LOW.

Exemplo:
digitalWrite(10, HIGH); //5V – ligado​

digitalRead(botaoVermelho)

Lê o estado do pino digital, HIGH ou LOW.

Sintaxe:
digitalRead(pin)
Parâmetros:
pin: o número do pin digital que você quer ler (int)
 
Exemplo:
valPino = digitalRead(10);//lê o pino e guarda seu valor em valPino.
Os valores retornados são: LOW ou HIGH.​

delay(500)
 
Nesta linha informa ao Arduino para esperar um tempo para executar a próxima instrução. Em geral, utilizamos o valor 1000 milissegundos (1 segundo).​

void setup()
 
A função setup serve para definir as configurações iniciais que serão executadas uma única vez dentro do programa.​

void loop()

Na função loop temos os comandos que serão executados continuamente enquanto o Arduino estiver ligado ou a placa não seja reiniciada. Todas as instruções dentro desta função são executadas uma por uma, passo a passo, até o fim da função; em seguida, o Arduino reinicia o loop desde do início, infinitamente.

logoTinkercad
Simulador - 01
bottom of page