⭐⭐ Principiante avanzato ⏱️ 20 minuti

Sensore di parcheggio

Costruisci un sensore di parcheggio, proprio come in auto. Più ti avvicini al sensore, più il cicalino suona veloce. Sei vicinissimo? Allora senti un tono lungo.

Prima fai un veloce accesso. Poi il tuo progetto è subito pronto.

🧰 Che cosa ti serve?

1× Arduino UNO
1× Sensore di distanza HC-SR04
1× Buzzer attivo
🔌
Cavo USB + Cavetti jumper

🗺️ Schema di collegamento

Segui i fili dall'Arduino a ogni componente. Puoi scegliere tu i colori dei fili.

Da A
Arduino UNO · D9 Sensore di distanza HC-SR04 · Trig
Arduino UNO · D10 Sensore di distanza HC-SR04 · Echo
Arduino UNO · 5V Sensore di distanza HC-SR04 · Vcc
Arduino UNO · GND Sensore di distanza HC-SR04 · Gnd
Arduino UNO · D8 Buzzer attivo · S
Arduino UNO · 5V Buzzer attivo · +
Arduino UNO · GND Buzzer attivo · -

🛠️ Così lo costruisci

  1. Collega il HC-SR04: Trig al pin 9, Echo al pin 10, Vcc a 5V e Gnd a GND.
  2. Collega il cicalino: S al pin 8, + a 5V e − a GND.
  3. Usa le strisce + e − della tua breadboard per 5V e GND.

💻 Il codice

// Sensore di parcheggio
// Più ti avvicini al sensore, più il cicalino suona veloce. Proprio come in auto!

const int TRIG_PIN = 9;     // Trig del HC-SR04 sul pin 9
const int ECHO_PIN = 10;    // Echo del HC-SR04 sul pin 10
const int CICALINO_PIN = 8;   // S del cicalino sul pin 8

void setup() {
  Serial.begin(9600);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(CICALINO_PIN, OUTPUT);
}

// Misura la distanza in centimetri
long misuraDistanza() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);     // Manda un suono breve (che tu non senti)
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);

  long tempo = pulseIn(ECHO_PIN, HIGH, 30000);  // Quanto tempo serve perché l'eco torni?
  if (tempo == 0) return 999;                   // Nessuna eco: niente vicino
  return tempo / 58;                            // Converti il tempo in centimetri
}

void loop() {
  long distanza = misuraDistanza();
  Serial.print(F("Distanza: "));
  Serial.print(distanza);
  Serial.println(F(" cm"));

  if (distanza < 5) {
    digitalWrite(CICALINO_PIN, HIGH);   // Molto vicino: un tono lungo
    delay(100);
  } else if (distanza < 50) {
    digitalWrite(CICALINO_PIN, HIGH);   // Bip breve
    delay(50);
    digitalWrite(CICALINO_PIN, LOW);
    delay(distanza * 10);              // Più vicino = pausa più corta = bip più rapidi
  } else {
    digitalWrite(CICALINO_PIN, LOW);    // Lontano: silenzio
    delay(100);
  }
}

🧠 Che cosa fa il codice?

  • misuraDistanza() manda un suono e misura quanto tempo ci mette l'eco a tornare. Poi lo trasformiamo in centimetri.
  • Oltre 50 cm: il cicalino sta zitto.
  • Più vicino: la pausa tra i bip diventa più corta. Sotto 5 cm suona senza fermarsi.

🎯 Prova anche…

  • Fai iniziare il sensore di parcheggio a suonare già da 1 metro
  • Aggiungi un LED rosso che si accende quando è troppo vicino
  • Mostra la distanza nel monitor seriale, con una barretta di asterischi

🚀 Costruisci questo progetto con Codey: apri codey.online/it/starter-kits/uno/projects/parking-sensor e clicca su FAI QUESTO. Così il codice e lo schema di collegamento sono subito pronti.

Prima fai un veloce accesso. Poi il tuo progetto è subito pronto.
⬇️ Scarica questa pagina come PDF 📚 Scarica il tutorial completo (PDF)

Codey Online è un prodotto di OTRONIC

Crea il tuo progetto Arduino o ESP32 con l'AI

Descrivi cosa vuoi realizzare. Codey Online scrive il codice, disegna lo schema di collegamento, lo compila e programma la tua scheda direttamente dal browser.

Inizia gratis