top of page

PROJETO 01

Diagrama de Blocos

upg_Exerc01_.png

Figura MD20 - Protótipo de Circuito - Projeto 01

exer01_buzzer_led_push_bb.png

Código - 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);
       }
}

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.

tinkercad.png
tinkercad_01_03.png
bottom of page