İçindekiler:

Kaçış Robotu: Bir Kaçış Oyunu için RC Araba: 7 Adım (Resimlerle)
Kaçış Robotu: Bir Kaçış Oyunu için RC Araba: 7 Adım (Resimlerle)

Video: Kaçış Robotu: Bir Kaçış Oyunu için RC Araba: 7 Adım (Resimlerle)

Video: Kaçış Robotu: Bir Kaçış Oyunu için RC Araba: 7 Adım (Resimlerle)
Video: Babasının Oğlu Renk Değiştiren Araba İstiyor 😂 #shorts 2024, Aralık
Anonim
Kaçış Robotu: Bir Kaçış Oyunu için RC Araba
Kaçış Robotu: Bir Kaçış Oyunu için RC Araba
Kaçış Robotu: Bir Kaçış Oyunu için RC Araba
Kaçış Robotu: Bir Kaçış Oyunu için RC Araba

Bu projenin temel amacı, kendisini mevcut robotlardan farklılaştıracak, gerçek ve yenilikçi bir alanda kullanılabilecek bir robot yapmaktı.

Kişisel deneyime dayanarak, bir Kaçış Oyununda uygulanacak araba şeklinde bir robot yapılmasına karar verildi. Farklı bileşenler sayesinde oyuncular, kontrolördeki bir bilmeceyi çözerek arabayı çalıştırabilir, arabanın yörüngesini kontrol edebilir ve odadan kaçmak için yolda bir anahtar alabilirler.

Bu proje Université Libre de Bruxelles (U. L. B.) ve Vrije Universiteit Brussel (V. U. B.), Belçika'da verilen Mekatronik kursunun bir parçası olduğundan, başlangıçta aşağıdakiler gibi birkaç gereklilik sunuldu:

  • Mekanik, elektronik ve programlama alanlarını kullanma ve birleştirme
  • 200€ bütçe
  • Yeni bir şey getiren bitmiş ve çalışan bir robota sahip olmak

Ve gerçek hayattaki kaçış oyun oturumlarında, bazen arka arkaya birden fazla oturumda kullanılacağından, yerine getirilmesi için birkaç gereksinimin daha olması gerekiyordu:

  • Özerklik: Robotu oyun kısıtlamalarına saygı gösterecek şekilde yarı özerk hale getirmenin bir yolunu bulmak
  • Kullanıcı dostu: kullanımı kolay, kameranın geri bildirimi ile bir ekranın varlığı
  • Sağlamlık: şokları absorbe edebilen güçlü malzemeler
  • Güvenlik: robotla doğrudan temas halinde olmayan oyuncular

Adım 1: Ana Konsept ve Motivasyon

Giriş bölümünde açıklandığı gibi, bu projenin ana konsepti, önce kaçış oyununun oyuncuları tarafından kontrol edilen, ardından kontrolü oyunculardan geri alabilen yarı özerk bir robot yaratmak ve inşa etmektir.

Prensip şudur: Bir grup arkadaşınızla bir odaya kilitlendiğinizi hayal edin. Odadan çıkmanın tek yolu bir anahtar bulmak. Anahtar, karanlık bir ara katta, ayaklarınızın altında bulunan bir labirentte gizlidir. O anahtarı almak için elinizde üç şey var: bir uzaktan kumanda, bir harita ve bir ekran. Uzaktan kumanda, uzaktan kumandanın mevcut kontrol düğmeleri üzerinde hayal edilen bir bilmeceyi çözerek, zaten ara katta bulunan bir arabayı kontrol etmenizi sağlar. Bu bilmeceyi çözdükten sonra, araba açılır (bkz. Adım 5: Kodlama - 'loop()' adlı ana fonksiyon) ve verilen haritanın yardımıyla arabayı labirentte yönlendirmeye başlayabilirsiniz. Ekran, robotun önüne sabitlenmiş bir kamera sayesinde otomobilin gördüğünü canlı olarak görüntülemek için oradadır ve bu nedenle yörüngeleri ve daha da önemlisi anahtarı görmenize yardımcı olur. Robotun alt kısmında bulunan mıknatıs sayesinde anahtara sahip olduğunuzda ve labirentin sonuna geldiğinizde anahtarı alıp kilitli kaldığınız odadan çıkabiliyorsunuz.

Bu nedenle robotun ana bileşenleri şunlardır:

  1. Uzaktan kumandada çözülmesi gereken bilmece
  2. Oyuncular tarafından uzaktan kumanda ile robotun kontrolü
  3. Kamera tarafından canlı olarak çekilen videoya dayalı kontrol ekranı

Bu tür oyunlarda ana kısıtlama zaman olduğundan (çoğu kaçış oyununda başarılı olmak için 30 dakika ile 1 saat arasında süreniz vardır), robotun tabanına bir sensör takılır ve bağlanır, böylece oyuncular olarak belirli bir süre (bizim durumumuzda 30 dakika), robot kontrolü geri alır ve parkları kendi başına bitirir, böylece oyunun zamanlayıcısı kapanmadan önce odanın anahtarını alma şansınız olur (bizim durumumuzda 1 saat)

Ayrıca, araç tamamen karanlık bir odada olduğu için, yerden gelen sinyali okumasına yardımcı olmak için LED'ler sensörden uzak olmayan bir yere sabitlenmiştir.

Bu grup projesinin arkasındaki arzu, kendimizi piyasada halihazırda var olana dayandırmak, kişisel bir değer katarak değiştirmek ve onu eğlenceli ve etkileşimli bir alanda kullanabilmekti. Nitekim, Belçika, Brüksel'deki başarılı bir Kaçış Odası ile temasa geçtikten sonra, kaçış oyunlarının sadece giderek daha ünlü olmakla kalmayıp, çoğu zaman etkileşimden yoksun olduklarını ve müşterilerin yeterince "bir parçası" olamamaktan şikayet ettiklerini keşfettik. " oyun.

Bu nedenle, oyuncuları gerçekten oyunun bir parçası olmaya davet ederken verilen gereksinimleri karşılayacak bir robot fikri bulmaya çalıştık.

İşte robotta olanların bir özeti:

- Otonom olmayan kısım: bir uzaktan kumanda, bir alıcı aracılığıyla Arduino'ya bağlanır. Oyuncular uzaktan kumandayı kontrol eder ve bu nedenle motorları kontrol eden Arduino'yu kontrol eder. Arduino, oyun başlamadan önce açılır, ancak oyuncular uzaktan kumandada bir bilmeceyi çözdüklerinde ana işleve girer. Bir IR kablosuz kamera zaten açıktır (açma/kapama açıldığında "bütün" (Arduino tarafından kontrol edilir) ile aynı anda açılır). Oyuncular arabayı uzaktan kumanda ile yönlendirir: hızı ve yönü kontrol ederler (bkz. Adım 5: akış şeması). Ana fonksiyona girildiğinde başlayan zamanlayıcı 30 dakikaya eşit olduğunda, kontrolörden kontrol devre dışı bırakılır.

- Otonom kısım: kontrol daha sonra Arduino tarafından yönetilir. 30 dakika sonra, IR hat takip sensörü parkurları bitirmek için yerdeki bir çizgiyi takip etmeye başlar.

Adım 2: Malzeme ve Araçlar

Malzeme ve Araçlar
Malzeme ve Araçlar
Malzeme ve Araçlar
Malzeme ve Araçlar
Malzeme ve Araçlar
Malzeme ve Araçlar

MALZEME

Elektronik parçalar

  • Mikrodenetleyici:

    • Arduino UNO'su
    • Arduino motor kalkanı - Reichelt - 22.52€
  • Sensörler:

    Kızılötesi hat izleyici - Mc Hobby - 16.54€

  • Piller:

    6x 1.5V pil

  • Başka:

    • protokol
    • Kablosuz kamera (alıcı) - Banggood - 21.63€
    • Uzaktan kumanda (verici + alıcı) - Amazon - 36.99€
    • Şarj yuvası (Qi alıcısı) - Reichelt - 22,33€ (kullanılmıyor - bkz. Adım 7: Sonuç)
    • LED - Amazon - 23.60€

Mekanik parça

  • Kendin Yap araba şasi kiti - Amazon - 14.99€

    • Kullanılmış:

      • 1x anahtarı
      • 1x tekerlek
      • 2x tekerlek
      • 2x DC motor
      • 1x pil tutucu
    • Kullanılmamış:

      • 1x araba şasi
      • 4x M3*30 vida
      • 4x L12 ara parçası
      • 4x bağlantı elemanları
      • 8x M3*6 vida
      • M3 somun
  • Mıknatıs - Amazon - 9.99€
  • Cıvatalar, somunlar, vidalar

    • M2*20
    • M3*12
    • M4*40
    • M12*30
    • ilgili tüm fındık
  • 3D baskılı parçalar:

    • 5x yay
    • 2x motor sabitleme
    • 1x L şeklinde çizgi izleyici sabitleme
  • Lazer kesim parçalar:

    • 2x yuvarlak düz plaka
    • 5x dikdörtgen küçük düz plaka

ALET

  • makineler:

    • 3 boyutlu yazıcı
    • Lazer kesici
  • Tornavidalar
  • El delici
  • Kireç
  • elektronik lehim

Adım 3: (Lazer) Kesim ve (3B) Baskı

Image
Image
(Lazer) Kesim & (3D) Baskı
(Lazer) Kesim & (3D) Baskı
(Lazer) Kesim & (3D) Baskı
(Lazer) Kesim & (3D) Baskı

Bazı bileşenlerimizi elde etmek için hem lazer kesim hem de 3D baskı tekniklerini kullandık. Tüm CAD dosyalarını aşağıdaki dosya.adımında bulabilirsiniz

Lazer kesici

Robotun iki ana sabitleme parçası lazerle kesilmiştir:(Malzeme = 4mm MDF karton)

- Robotun temelini (veya şasisini) oluşturmak için 2 yuvarlak düz disk

- Mekanik ve elektronik bileşenleri yerleştirmek için iki diskte birkaç delik

- Yayları iki şasi plakası arasına sabitlemek için 5 dikdörtgen küçük plaka

3D yazıcı (Ultimaker & Prusa)

Robotun farklı elemanları, onlara aynı anda direnç ve esneklik kazandırmak için 3D olarak basıldı (Malzeme = PLA)- 5 yay: yayların bloklar halinde yazdırıldığını unutmayın, bu nedenle onları vermek için dosyalamak gerekir. onlara 'bahar' şekilleri!

- Motorları sabitlemek için 2 adet dikdörtgen oyuk parça

- Hat izleyiciyi barındırmak için L şeklinde parça

Adım 4: Elektroniğin Montajı

Elektroniklerin Montajı
Elektroniklerin Montajı
Elektroniklerin Montajı
Elektroniklerin Montajı
Elektroniklerin Montajı
Elektroniklerin Montajı

Elektronik eskizlerde de görebileceğiniz gibi, Arduino beklendiği gibi elektronik parçanın merkezi parçası.

Connexion Arduino - Çizgi izci:(cfr. ilgili takipçi çizimi)

Bağlantı Arduino - Motorlar:(cfr. ilgili genel taslak - sol)

Connexion Arduino - Uzaktan Kumanda Alıcısı:(cfr. ilgili genel taslak - yukarı)

Bağlantı Arduino - LED'ler:(cfr. ilgili genel çizim - sol)

5V ve GND portlarının sayısını artırmak ve tüm bağlantıları kolaylaştırmak için bir protoboard kullanılır.

Yukarıda vurgulanan gereksinimleri (özerklik, kullanıcı dostu, sağlamlık, güvenlik) karşılaması gerektiğinden ve elektrik devresi özel dikkat ve önlem gerektirdiğinden bu adım en kolayı değildir.

Adım 5: Kodlama

kodlama
kodlama

Kodlama kısmı Arduino, motorlar, uzaktan kumanda, hat izleyici ve LED'ler ile ilgilidir.

Kodda bulabilirsiniz:

1. Değişkenlerin beyanı:

  • RC Alıcısı tarafından kullanılan Pin Beyanı
  • DC Motorlar tarafından kullanılan Pin Beyanı
  • LED'ler tarafından kullanılan Pin beyanı
  • 'Riddle' işlevi tarafından kullanılan değişkenlerin bildirilmesi
  • IR Sensörleri tarafından kullanılan Pin Beyanı
  • IR Deck tarafından kullanılan değişkenlerin beyanı

2. Başlatma işlevi: farklı pinleri ve LED'leri başlatın

'kurulum()' işlevi

3. Motorlar için fonksiyon:

  • 'turn_left()' işlevi
  • 'turn_right()' işlevi
  • 'CaliRobot()' işlevi

4. İşlev satırı izleyicisi: robotun yarı özerk davranışı sırasında önceki 'CaliRobot()' işlevini kullanır

'Takipçi()' işlevi

5. Uzaktan kumanda işlevi (bilmece): oyunculara sunulan bilmecenin doğru çözümünü içerir

'Bilmece()' işlevi

6. Ana döngü işlevi: Oyuncuların bilmecenin çözümünü bulduktan sonra arabayı kontrol etmelerini sağlar, bir zamanlayıcı başlatır ve zamanlayıcı 30 dakikanın üzerine çıktığında girişi dijitalden (uzaktan kumandalı) dijitale (otonom) geçirir.

'döngü()' işlevi

Kodun ana süreci, ana işlevler vurgulanarak yukarıdaki akış şemasında açıklanmıştır.

Bu projenin tüm kodunu, Arduino IDE geliştirme arayüzü kullanılarak yazılmış olan.ino dosyasında da bulabilirsiniz.

Adım 6: Montaj

birleştirme
birleştirme
birleştirme
birleştirme
birleştirme
birleştirme

Lazer kesim, 3D baskı ve hazır tüm bileşenlere sahip olduğumuzda: her şeyi bir araya getirebiliriz!

Öncelikle 3D baskılı yayları lazer kesimli dikdörtgen plakalarına yayların içindeki deliklerin çapına eşit çaplı cıvatalarla sabitliyoruz.

5 adet yay küçük plakalarına sabitlendikten sonra ikincisini daha küçük cıvatalarla alt şase plakasına sabitleyebiliriz.

İkinci olarak, 3D baskılı motor tespitlerine motorları alt şase plakasının altına küçük civatalarla sabitleyebiliriz.

Bunlar sabitlendikten sonra motorların üzerindeki 2 tekeri de alt şase plakasının deliklerine gelip sabitleyebiliriz.

Üçüncüsü, alt şasi plakasının altına da küçük cıvatalarla alt şasi plakası yatay olacak şekilde tekerlek tekerleğini sabitleyebiliriz.

Artık diğer tüm bileşenleri düzeltebiliriz

  • Alt şasi plakası:

    • Aşağıda:

      • Hat izleyici
      • LED
    • Üzerinde:

      • Uzaktan kumanda alıcısı
      • Arduino ve Motor kalkanı
      • LED
  • Üst şasi plakası:

    • Aşağıda:

      Kamera

    • Üzerinde:

      • Piller
      • Açma / kapama düğmesi

Son olarak, iki şasi plakasını bir araya getirebiliriz.

Not: Tüm bileşenleri bir araya getirirken dikkatli olun !Bizim durumumuzda yayların küçük plakalarından biri iki şasi plakasını monte ederken çok ince olduğu için hasar görmüştür. Yine daha büyük bir genişlikle başladık. Lazer kesimi (3D yazıcının yanı sıra) kullanırken güçlü malzemeler kullandığınızdan emin olun ve parçalarınızın çok ince veya çok kırılgan olmaması için boyutları doğrulayın.

7. Adım: Sonuç

Image
Image
Çözüm
Çözüm
Çözüm
Çözüm

Tüm bileşenler monte edildikten sonra (tüm bileşenlerin iyi sabitlendiğinden ve düşme riskinin olmadığından emin olun), kameranın alıcısı bir ekrana (yani tv ekranına) bağlı ve piller (6x 1.5V) cihaza takılıyor. pil tutucu, her şeyi test etmeye hazırsınız!

Pilleri (6x 1.5V) taşınabilir bir pille değiştirerek projeyi bir adım daha ileri götürmeye çalıştık:

  • bir şarj istasyonu inşa etmek (lazer kesimli bir şarj istasyonuna sabitlenmiş kablosuz şarj cihazı (fotoğraflara bakın));
  • taşınabilir pile bir alıcı (Qi alıcısı) ekleme (fotoğraflara bakın);
  • Arduino'ya bir fonksiyon yazarak, robottan yerdeki çizgiyi ters yönde takip ederek şarj istasyonuna ulaşmasını ve tüm robotun bir sonraki oyun oturumu için otonom olarak hazır olması için pili şarj etmesini isteyen bir fonksiyon yazıyoruz.

Projenin son teslim tarihinden hemen önce pilleri taşınabilir bir pille değiştirmekte sorunlarla karşılaştığımız için (hatırlatma: bu proje ULB/VUB profesörlerimiz tarafından denetlendi, bu nedenle uymamız gereken bir süre vardı), kesinleşen pili test edemedik. robot. Yine de burada, bilgisayardan güç alan (USB bağlantısı) ve uzaktan kumandayla kontrol edilen robotun bir videosunu bulabilirsiniz.

Bununla birlikte hedeflediğimiz tüm katma değerlere ulaşabildik: - Sağlamlık- Yuvarlak şekil- Açma bilmecesi- Kontrol anahtarı (uzaktan -> otonom) Bu proje dikkatinizi ve merakınızı devam ettirdiyse, bu nedenle çok ne yaptığınızı görmek, bazı adımları bizim yaptığımızdan farklı yapıp yapmadığınızı görmek ve otonom şarj işleminde başarılı olup olmadığınızı görmek merak ediyorum!

Bu proje hakkında ne düşündüğünüzü bize söylemekten çekinmeyin!

Önerilen: