Menu
CoddyTech

Sensore di parcheggio: luci

Fa parte della sezione Progetti del percorso Arduino di Coddy. Lezione 10 di 24.

Nessuno legge i numeri mentre parcheggia. I tre LED trasformano la distanza in un colore: verde sul pin 6 quando la strada è libera, giallo sul pin 7 quando ti stai avvicinando, rosso sul pin 13 quando devi fermarti.

Tre intervalli e un LED esattamente per ciascuno. Una catena if / else if / else è adatta, perché viene eseguito un solo ramo:

if (cm >= 100) {
  // verde
} else if (cm >= 30) {
  // giallo: da 30 a 99
} else {
  // rosso: sotto 30
}

Il secondo test non deve dire cm < 100: else significa che il primo test era falso, quindi la distanza è già inferiore a 100.

Spegni tutti e tre i LED prima di accenderne uno, come con il semaforo. Altrimenti il giallo rimane acceso quando si accende il rosso.

challenge icon

Sfida

Facile

Mostra la distanza con un colore:

  • imposta i pin 6, 7 e 13 come output
  • 100 cm o più: solo verde
  • da 30 a 99 cm: solo giallo
  • meno di 30 cm: solo rosso

Continua a stampare la distanza. Premi Run, trascina il sensore della distanza, poi Check.

Provalo tu

// Il sensore di distanza
const int trigPin = 9;
const int echoPin = 10;

// Invia un impulso e restituisce la distanza in 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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Progetti

Esercitati da solo: Playground Arduino