» elektronik » Arduino »Manuel mesafe ayarlı Arduino'daki Parktronic

Manuel mesafe ayarlı Arduino'da Parktronic



Muhtemelen şu temel projelerden biri: arduino Ben park sensörleri. Ancak bu makalede geleneksel bir park sensörünün oluşturulması değil, kritik mesafenin manuel olarak ayarlandığı park sensörleri açıklanacaktır. Bu cihazı oluşturma sürecinde, devre ve programlama becerilerinizi artıracaksınız.

Ana bileşenler:

• arduino Nano / Uno kartı
• ultrasonik mesafe sensörü HC-CR04
• 6 LED
• 220 ohm'da 6 direnç
• 10 KOm başına 2 direnç
• 2 saat düğmesi
• piezo squeaker
• çılgın yönetim kurulu
• baba baba teller
• ayakkabı süngeri (çanta için)

Araçlardan:

• havya
• termo - tutkal

Cihazın algoritmasını düşünün


Manuel mesafe ayarlı Arduino'da Parktronic


Algoritmayı görüntüledikten sonra, şemayı çılgın bir tahtada toplarız:




Devreyi kasaya monte ettiğimden, düğmeler ve LED'lerin mini kalkanları yapmaya karar verildi.



Cihazın kasası ayakkabı süngerinden yapılmış bir kutudan yapılmıştır.
İçerideki cihaza benziyor.



Kodu görelim.

int anahtarı1 = 9; // Düğme 1
int anahtarı2 = 10; // Düğme 2
int pim = 2;
int bin = 40; // Santimetre cinsinden ilk kritik mesafe !!!
int echoPin = 12; // HC-SR04 modülünde yankı pimi
int trigPin = 11; // HC-SR04 modülünde tetik pimi
int buz = 8; // Pin tweeter
boolean lBut1 = DÜŞÜK;
boolean lBut2 = DÜŞÜK;
boolean cBut1 = DÜŞÜK;
boolean cBut2 = DÜŞÜK;
void setup () {
  Serial.begin (9600);
  pinMode (trigPin, OUTPUT);
  pinMode (echoPin, INPUT);
  pinMode (anahtar1, INPUT);
  pinMode (anahtar2, INPUT);
  pinMode (2, ÇIKIŞ); // LED 1
  pinMode (3, ÇIKIŞ); // LED 2
  pinMode (4, ÇIKIŞ); // LED 3
  pinMode (5, ÇIKIŞ); // LED 4
  pinMode (6, ÇIKIŞ); // LED 5
  pinMode (7, ÇIKIŞ); // LED 6
  pinMode (8, ÇIKIŞ); // Gıcırtı
}
boolea ayrışması (son boolean)
{
  boolean akımı = digitalRead (switch1);
  if (son! = geçerli)
  {
    gecikme (5);
    current = digitalRead (anahtar1);
  }
  dönüş akımı;
}
boolean debounce2 (boolean sonlandırma2)
{
  boole akımı2 = digitalRead (anahtar2);
  eğer (son2! = mevcut2)
  {
    gecikme (5);
    current2 = digitalRead (anahtar2);
  }
  dönüş akımı2;
}
void loop () {
  int süresi, cm;
  digitalWrite (trigPin, LOW);
  gecikme Mikrosaniye (2);
  digitalWrite (trigPin, YÜKSEK);
  gecikme Mikrosaniye (10);
  digitalWrite (trigPin, LOW);
  süresi = pulseIn (echoPin, HIGH);
  cm = süre / 58;
  Seri baskı (cm);
  Serial.println ("cm");
  gecikme (10);
  
  cBut1 = açılma (lBut1);
  eğer (lBut1 == DÜŞÜK && cBut1 == YÜKSEK)
  {
    pim = pim-1;
    bin = bin-7; // 7 rakamı kritik mesafeden 7 cm çıkarma anlamına gelir !!!
  }
  lBut1 = cBut1;
  digitalWrite (pin, YÜKSEK);
    cBut2 = düşme2 (lBut2);
  eğer (lBut2 == DÜŞÜK && cBut2 == YÜKSEK)
  {
    pim = pim + 1;
    bin = bin + 7; // 7 rakamı kritik mesafeden 7 cm eklenmesi anlamına gelir !!!
  }
  lBut2 = cBut2;
  digitalWrite (pin, DÜŞÜK);

  eğer (cm  0)
  {
    ton (8,200,200);
    gecikme (300);
    
  }
  başka
  {
    noTone (8);
  }
}


Kutu değerleri sizin için daha uygun olarak değiştirilebilir.

Sonuç olarak, cihaz düzenli olarak işlevlerini yerine getirir.



Bu makale, aynı park sensörlerini fazla çaba harcamadan yapmanıza yardımcı olacaktır.
Herkese bu cihazı tekrarlamada iyi şanslar diliyorum. Umarım rehberim sizin için yararlı olmuştur.
9.5
7.3
8.3

Yorum ekle

    • gülümsegülümsemelerxaxatamamdontknowyahoonea
      patronçizikaptalevetevet-evetagresifgizli
      üzgünümdansdance2dance3pardonyardımiçecekler
      Durarkadaşlariyigoodgooddüdükbaygınlıkdil
      dumanzırıltıcraybeyanalaycıDon-t_mentionindir
      ısıöfkelilaugh1mdatoplantımoskingnegatif
      Not_ipatlamış mısırcezalandırmakokumakkorkutmakkorkutuyorarama
      alaythank_youbuto_clueumnikakutanlaşmak
      kötübeeeblack_eyeblum3kızarmakövünçcan sıkıntısı
      sansürlüşakasecret2tehdit etmekzaferyusun_bespectacled
      shokrespektlolPrevedkarşılamaKrutoyya_za
      ya_dobryiyardımcıne_huliganne_othodiFludyasakyakın

Okumanızı tavsiye ederiz:

Akıllı telefon için verin ...