Čidlo vzdálenosti

Za účelem šetření místa v garáži jsem vytvořil projekt, který mi umožní zaparkovat na centimetr přesně od garážových dveří. Mezera mezi dveřmi a autem je pak opravdu malinká a o to více prostoru zůstane ve zbývající části garáže.

Do garáže většinou zajíždím popředu. Kvůli garážovým dveřím, které se zavírají shora dolů, jsem chtěl mít vždy rezervu a zajížděl hlouběji do garáže. Kdybych nezajel dostatečně hluboko, garážové dveře by mohly při zavírání poškrábat zadní část vozu.

Použil jsem Arduino Nano, 5 barevných ledek a ultrasonické čidlo HC-SR04. Arduino jsem umístil na dobře viditelné místo poblíž zásuvky. Čidlo jsem připevnil k 4 žílovému, 4 metry dlouhému kabelu, aby ho bylo možné umístit doprostřed garáže. Když se automobil přibližuje k čidlu, začnou se postupně zapínat nejdříve zelené ledky, pak žluté a nakonec i červená, při jejímž rozsvícení automobil stojí ve správné vzdálenosti.

Celý projekt napájím 5V.

Zdrojový kód

#define ECHOPIN 2
#define TRIGPIN 3

// Distances for each LED (in centimeters)
float distances[] = { 3, 5, 10, 15, 30 };
int num = sizeof(distances) / sizeof(float);

// Blink the first LED if distance is lower
float maxDistance = 40;
void setup() {
 // Serial.begin(9600);

 pinMode(ECHOPIN, INPUT);
 pinMode(TRIGPIN, OUTPUT);

 // Pins for each LED: 4, 6, 8, 10, 12
 for (int i = 4; i < 4 + num * 2; i += 2) {
   pinMode(i, OUTPUT);
 }
}

void loop() {
 digitalWrite(TRIGPIN, LOW);
 delayMicroseconds(2);
 digitalWrite(TRIGPIN, HIGH);
 delayMicroseconds(10);
 digitalWrite(TRIGPIN, LOW);

 float distance = pulseIn(ECHOPIN, HIGH);
 distance = distance * 0.017315f;
 // Serial.print(distance);
 // Serial.print("cm\n");

 // Blink with the first LED to get ready
 if (
  distance < maxDistance &&
  distance > distances[num - 1]
 ) {
  digitalWrite(num * 2 + 2, HIGH);
  delay(250);
  digitalWrite(num * 2 + 2, LOW);
 } else

 // Turn on/off the leds
 for (int i = 0; i < num; i++) {
   if (distance < distances[i]) {
     digitalWrite(i * 2 + num - 1, HIGH);
   } else {
     digitalWrite(i * 2 + num - 1, LOW);
   }
 }

 delay(250);
}

Galerie

[Best_Wordpress_Gallery id=“1″ gal_title=“Čidlo vzdálenosti“]

Příspěvek byl publikován v rubrice Hobby se štítky , a jeho autorem je Petr Pošvic. Můžete si jeho odkaz uložit mezi své oblíbené záložky nebo ho sdílet s přáteli.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *