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