Botão para alternar entre os modo claro e escuro
Clique aqui para acessar o simulador do Wokwi

Utilizando o sensor Ultrasônico para medir Distâncias


1. Criando um projeto


2. Conectando os componentes


3. Adicionando o código no simulador:

      
        
/*
 * HC-SR04 example sketch
 *
 * by Isaac100
 */

#define buzzer 10

const int pino_trig = 4; // Numeração o pino trig que está na placa

const int pino_echo = 5; // Numeração o pino echo que está na placa

float duracao, distancia;

void setup() {

  pinMode(buzzer, OUTPUT);

  pinMode(pino_trig, OUTPUT);

  pinMode(pino_echo, INPUT);
  
  Serial.begin(9600);
}

void loop() {

  digitalWrite(pino_trig, LOW);
  delayMicroseconds(2);

  digitalWrite(pino_trig, HIGH);
  delayMicroseconds(10);
  
  digitalWrite(pino_trig, LOW);

  duracao = pulseIn(pino_echo, HIGH);

  distancia = (duracao * 0.0343) / 2;

  if ((duracao * 0.0343) / 2 < 5){

    tone(buzzer, 1500, 2000);

  }else if ((duracao * 0.0343) / 2 < 10){

    tone(buzzer, 1000, 2000);

  }else if ((duracao * 0.0343) / 2 < 13){

    tone(buzzer, 500, 2000);

  }else{

    tone(buzzer, 200, 2000);
  }

  
  Serial.print("Distância: ");

  Serial.print(distancia);

  Serial.println(" CM");

  delay(200);
}
        
      
      

4. Testando o simulador


Atividade: Brincando com o simulador

1. Na linha 58 substitua "Distância" por "Distância do objeto em: "

2. Na linha 62 substitua "CM" por "Centímetros"

3. Na linha 64 diminua o atraso para 100, assim o alarme será mais rápido

4. Na linha 48 substitua o número 13 por 35

5. Na linha 44 substitua o número 10 por 25

6. Na linha 40 substitua o número 5 por 20


Utilizando o display de 7 segmentos como um contador

1. Criando um Projeto novo

2. Adicione o código abaixo no projeto


          /*
/*******************************************************************************
* RoboCore Kit Iniciante V8 para Arduino - Display de 7 Segmentos
* Mostrar uma contagem de 0 a 9 em um Display de 7 Segmentos.
*******************************************************************************/

// pinos onde cada um dos segmentos estão conectados:
const int pino_a = 12;
const int pino_b = 11;
const int pino_c = 10;
const int pino_d = 9;
const int pino_e = 8;
const int pino_f = 6;
const int pino_g = 7;

void setup() {
  // configura os pinos de cada segmento como saída:
  pinMode(pino_a, OUTPUT);
  pinMode(pino_b, OUTPUT);
  pinMode(pino_c, OUTPUT);
  pinMode(pino_d, OUTPUT);
  pinMode(pino_e, OUTPUT);
  pinMode(pino_f, OUTPUT);
  pinMode(pino_g, OUTPUT);
}

void loop() {
  // acende os segmentos necessários para formar o número 0 (zero):
  digitalWrite(pino_a, HIGH);
  digitalWrite(pino_b, HIGH);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, HIGH);
  digitalWrite(pino_e, HIGH);
  digitalWrite(pino_f, HIGH);
  digitalWrite(pino_g, LOW);
  delay(1000); // aguarda 1 segundo

  // acende os segmentos necessários para formar o número 1 (um):
  digitalWrite(pino_a, LOW);
  digitalWrite(pino_b, HIGH);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, LOW);
  digitalWrite(pino_e, LOW);
  digitalWrite(pino_f, LOW);
  digitalWrite(pino_g, LOW);
  delay(1000); // aguarda 1 segundo

  // acende os segmentos necessários para formar o número 2 (dois):
  digitalWrite(pino_a, HIGH);
  digitalWrite(pino_b, HIGH);
  digitalWrite(pino_c, LOW);
  digitalWrite(pino_d, HIGH);
  digitalWrite(pino_e, HIGH);
  digitalWrite(pino_f, LOW);
  digitalWrite(pino_g, HIGH);
  delay(1000); // aguarda 1 segundo

  // acende os segmentos necessários para formar o número 3 (três):
  digitalWrite(pino_a, HIGH);
  digitalWrite(pino_b, HIGH);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, HIGH);
  digitalWrite(pino_e, LOW);
  digitalWrite(pino_f, LOW);
  digitalWrite(pino_g, HIGH);
  delay(1000); // aguarda 1 segundo

  // acende os segmentos necessários para formar o número 4 (quatro):
  digitalWrite(pino_a, LOW);
  digitalWrite(pino_b, HIGH);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, LOW);
  digitalWrite(pino_e, LOW);
  digitalWrite(pino_f, HIGH);
  digitalWrite(pino_g, HIGH);
  delay(1000); // aguarda 1 segundo

  // acende os segmentos necessários para formar o número 5 (cinco):
  digitalWrite(pino_a, HIGH);
  digitalWrite(pino_b, LOW);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, HIGH);
  digitalWrite(pino_e, LOW);
  digitalWrite(pino_f, HIGH);
  digitalWrite(pino_g, HIGH);
  delay(1000); // aguarda 1 segundo

  // acende os segmentos necessários para formar o número 6 (seis):
  digitalWrite(pino_a, LOW);
  digitalWrite(pino_b, LOW);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, HIGH);
  digitalWrite(pino_e, HIGH);
  digitalWrite(pino_f, HIGH);
  digitalWrite(pino_g, HIGH);
  delay(1000); // aguarda 1 segundo

  // acende os segmentos necessários para formar o número 7 (sete):
  digitalWrite(pino_a, HIGH);
  digitalWrite(pino_b, HIGH);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, LOW);
  digitalWrite(pino_e, LOW);
  digitalWrite(pino_f, LOW);
  digitalWrite(pino_g, LOW);
  delay(1000); // aguarda 1 segundo

  // acende os segmentos necessários para formar o número 8 (oito):
  digitalWrite(pino_a, HIGH);
  digitalWrite(pino_b, HIGH);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, HIGH);
  digitalWrite(pino_e, HIGH);
  digitalWrite(pino_f, HIGH);
  digitalWrite(pino_g, HIGH);
  delay(1000); // aguarda 1 segundo

  // acende os segmentos necessários para formar o número 9 (nove):
  digitalWrite(pino_a, HIGH);
  digitalWrite(pino_b, HIGH);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, LOW);
  digitalWrite(pino_e, LOW);
  digitalWrite(pino_f, HIGH);
  digitalWrite(pino_g, HIGH);
  delay(1000); // aguarda 1 segundo
}
          

      

3. Adicionando todos os componentes


4. Conectando o display


5. Conectando o Resistor


5. Testando display


Atividade: Brincando com o simulador

1. Altere o delay de aparição de cada um dos números. Mude o atraso de todas a mudanças de 1000 para 3000. Depois disso, teste no simulador a lentidão

2. Adicione a seguinte porção de código abaixo do último delay da linha 126 para exibir a letra U depois do número 9


        
    // acende os segmentos necessários para formar a Letra U:
  digitalWrite(pino_a, LOW);
  digitalWrite(pino_b, HIGH);
  digitalWrite(pino_c, HIGH);
  digitalWrite(pino_d, HIGH);
  digitalWrite(pino_e, HIGH);
  digitalWrite(pino_f, HIGH);
  digitalWrite(pino_g, LOW);
  delay(3000); // aguarda 3 segundos