Menu
CoddyTech

Sensor de Estacionamento: Luzes

Parte da seção Projetos do Journey de Arduino da Coddy. Lição 10 de 24.

Ninguém lê números ao estacionar. Os três LEDs transformam a distância em uma cor: verde no pino 6 quando o caminho está livre, amarelo no pino 7 quando você está se aproximando, vermelho no pino 13 quando precisa parar.

Três faixas e exatamente um LED para cada uma. Uma sequência de if / else if / else é adequada, porque apenas um dos ramos é executado:

if (cm >= 100) {
  // verde
} else if (cm >= 30) {
  // amarelo: 30 a 99
} else {
  // vermelho: abaixo de 30
}

O segundo teste não precisa dizer cm < 100: o else significa que o primeiro teste foi falso, então a distância já está abaixo de 100.

Apague os três LEDs antes de acender um deles, como no semáforo. Caso contrário, o amarelo continuará aceso quando o vermelho acender.

challenge icon

Desafio

Fácil

Mostre a distância por meio de cores:

  • configure os pinos 6, 7 e 13 como saídas
  • 100 cm ou mais: somente verde
  • de 30 a 99 cm: somente amarelo
  • menos de 30 cm: somente vermelho

Continue exibindo a distância. Pressione Run, arraste o sensor para alterar a distância e, em seguida, pressione Check.

Experimente você mesmo

// O sensor de distância
const int trigPin = 9;
const int echoPin = 10;

// Envie um pulso e retorne a distância em cm.
long readDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  return duration / 58;
}

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  long cm = readDistance();
  Serial.println(cm);
  delay(100);
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Projetos

Pratique por conta própria: Playground de Arduino