Okul projesi · Arduino UNO + L298N + 4'lü kızılötesi sensör

Çizgi İzleyen Robot

Kitteki parçalarla kuracağınız robotun 3D modeli. Döndürüp inceleyebilir, parçalarını ayırabilir ya da pistte cizgi_izleyen.ino kodundaki kurallarla sürebilirsin.

Robotumuz afişteki gibi: Versiyon 2 sayfası →

Kod ve varsayılan ayarlar Versiyon 2'ye göre (TABAN_HIZ 130, KP 30). 3D model Versiyon 1 yerleşimini gösteriyor.

Sürükle: döndür · Tekerlek / iki parmak: yakınlaştır

Kod ne yapıyor

Robot çizgiyi nasıl görür?

Her sensör yere kızılötesi ışık yollar. Beyaz zemin ışığı geri yansıtır, siyah bant yutar. Kontrol kartındaki trimpot "ne kadar ışık dönerse beyaz sayılsın" eşiğini ayarlar. Arduino her sensörden sadece 0 ya da 1 okur.

Kod her sensöre bir puan verir. Çizgiyi gören sensörlerin puan ortalaması hata olur: eksiyse çizgi solda, artıysa sağda, sıfırsa tam ortada.

−3S1 · en sol
−1S2
+1S3
+3S4 · en sağ
sol = taban + KP × hata
sağ = taban − KP × hata

Çizgi soldaysa hata eksi olur: sol tekerlek yavaşlar, sağ tekerlek hızlanır ve robot sola döner. Çizgi hiç görünmezse robot çizgiyi en son gördüğü tarafa yerinde döner. Dört sensör birden siyah görürse kısa süre düz geçer (kavşak), 0,4 saniyeden uzun sürerse durur.

S1 S2 S3 S4 19 mm bant 15 mm ← robotun solu sağı →
ileri ↑ 0 0

Düz gider

Teknik çizim · ölçüler cm · model değerleri

Ölçüler

Robotu üç yönden gör, sonra aşağıda her parçanın kendi ölçülerine bak. Kesikli çizgiler, üstteki parçaların altında kalan yerleri gösterir.

024 6810 cm ≈ 19,2 cm 6,7 cm aks → sensör (5–8 cm) Üst kat: Arduino, sensör kartı Ara kat: pil yuvası, L298N Alt: motorlar, tekerlekler Sensör yerden 5–10 mm Kızılötesi ışık bandı görür arka ön → Kırmızı kesikli çizgiler: alt plaka ≈ 4,4 · üst plaka ≈ 8,3 · en üst ≈ 10,3 cm
Dış ölçü (boy × en × yükseklik)
19,2 × 18,4 × 10,3cm, tekerlekler ve sensörler dahil.
Plakaların yerden yüksekliği
4,4 · 8,3 cmAlt plakayı motor ve tekerlek kaldırır: 3,25 (teker yarıçapı) + 1,1 (motorun yarısı).
Teker arası
15,8 cmİki tekerleğin ortası arası.
Sensör aralığı
15 mm19 mm bant için. Bant genişliğinden biraz az olsun.
Sensör yüksekliği
5–10 mmÇok yüksekte zemin ve bant aynı görünür.
Aks → sensör
5–8 cmModelde 6,7 cm.

Parça parça ölçüler

Her kartta parçanın iki yönden çizimi, ölçüleri ve nereye dikkat edeceğin var. Çizimler karta sığacak ölçekte; sağ üstteki çubuk 1 cm'yi gösterir.

Standart ölçü Her yerde aynı boyda satılan parça. Tahmini · cetvelle ölç Kitten kite değişir, değer bizim modelimizden.

Pin pin bağlantı

Kablolama

Arduino UNO D5 ~D7D8 D9D10D6 ~ VINGND 5VGND A0A1A2A3 DC jak USB bilgisayar (kod yüklerken) 6 × AA pil ≈ 9 V, barrel jak L298N ENAIN1IN2 IN3IN4ENB 12VGND 5V: boş bırak OUT1OUT2 OUT3OUT4 M Sol motor M Sağ motor Sensör kartı VCCGND OUT1OUT2OUT3OUT4 S1 S2 S3 S4 en sol en sağ
Hız (PWM): ENA, ENB Yön: IN1–IN4 Güç GND Sensör sinyali

Arduino kodu · ayar menüsü

Kod

Soldaki menüden ayarları değiştir; sağdaki kod anında güncellenir ve değişen satırlar işaretlenir. Hız ayarları yukarıdaki pist simülasyonuyla bağlı. Seçimlerin bu tarayıcıda saklanır.

Hazır ayar
Sadece TABAN_HIZ ve KP'yi değiştirir. Versiyon 2 nedir?
cizgi_izleyen.ino Varsayılan ayarlar

Kodu kopyalayıp Arduino IDE'ye yapıştır.

  1. Kopyala. "Kodu kopyala" düğmesine bas.
  2. Yapıştır. Arduino IDE'de Dosya → Yeni. İçindekileri sil, kodu yapıştır, cizgi_izleyen adıyla kaydet.
  3. Kartı seç. Araçlar → Kart: Arduino Uno. Port: kartın COM portu (CH340).
  4. Yükle. Sağ ok düğmesine bas. Motor testinden önce pili tak; USB motorları döndüremez.

Kurulum sırası

Adım adım

  1. Hazırlık

    Arduino IDE'yi kur, kartı USB ile tak. COM portu görünmezse CH340 sürücüsünü kur. Siyah izole bant ve beyaz kartonla deneme pisti yap.

  2. Alt kat

    Motorları plastik tutucularla alt katın altına vidala, tekerlekleri millere geçir. Sarhoş tekeri arkaya bir aralayıcıyla tak.

  3. Sensör çubuğu

    4 sensörü bir dondurma çubuğuna 15 mm arayla diz. Çubuğu iki aralayıcıyla alt katın önüne as: yerden 5–10 mm, aksın 5–8 cm önünde.

  4. Ara kat

    Pil yuvasını arkaya, L298N'i öne koy. ENA ve ENB jumper'larını çıkar.

  5. Üst kat

    Dört aralayıcıyla üst katı kur. Arduino'nun USB'si arkaya, sensör kartının trimpotları öne baksın.

  6. Kablolar

    Şemadaki gibi bağla, pili en son tak. Kabloları kablo bağıyla topla, tekerleklere değmesinler.

  7. Sensör testi · MOD 1

    Seri Monitör 9600. Her sensörü sırayla beyaz ve siyahın üstünde tut, işaret net değişene kadar kendi trimpotunu çevir.

  8. Motor testi · MOD 2

    Tekerlekler havada, pil takılı. Ters dönen motor için SOL_TERS ya da SAG_TERS ayarını true yap.

  9. Yarış · MOD 0

    TABAN_HIZ 120 ile başla. Virajda kaçırıyorsa KP'yi artır, düzde zikzak çiziyorsa azalt. Sonra hızı adım adım yükselt.

Model temsilidir. Kitteki parçaların gerçek ölçüleri biraz farklı olabilir, yerleşim önerilen düzendir. Simülasyon cizgi_izleyen.ino ile aynı kuralları ve aynı ayar adlarını kullanır.