İçindekiler:
- Adım 1: Ana Konsept ve Motivasyon
- Adım 2: Malzeme ve Araçlar
- Adım 3: (Lazer) Kesim ve (3B) Baskı
- Adım 4: Elektroniğin Montajı
- Adım 5: Kodlama
- Adım 6: Montaj
- 7. Adım: Sonuç
Video: Kaçış Robotu: Bir Kaçış Oyunu için RC Araba: 7 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
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:
- Uzaktan kumandada çözülmesi gereken bilmece
- Oyuncular tarafından uzaktan kumanda ile robotun kontrolü
- 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
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ı
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ı
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 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
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ç
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:
Kaçış Odası Arduino: 6 Adım (Resimlerle)
Kaçış Odası Arduino: Bu proje, temel kodlama bilgisi olan arduino por elektronik bileşenlerini kullanarak bir kaçış odası prototipi oluşturmakla ilgilidir. Bu kaçış odasının ele alınması gereken 5 aşaması olacaktır:(Herkes için farklı olabilir)1. Basınç sensörü - LEDBir kez
Küçük Bir Skee-Ball Oyunu için Otomatik Puanlama: 10 Adım (Resimlerle)
Küçük Bir Skee-Ball Oyunu için Otomatik Puanlama: Ev yapımı Skee-Ball oyunları tüm aile için çok eğlenceli olabilir, ancak dezavantajları her zaman otomatik puanlama eksikliği olmuştur. Daha önce, oyun toplarını sc'ye göre ayrı kanallara akıtan bir Skee-Ball makinesi inşa etmiştim
Bir Arduino'yu Kitaplık Olmadan Kayan Bir Metin Görüntülemek İçin Başka Bir Arduino Kullanarak Programlamak: 5 Adım
Bir Arduino'yu Kitaplık Olmadan Kayan Bir Metni Görüntülemek için Başka Bir Arduino Kullanarak Programlama: Sony Spresense veya Arduino Uno o kadar pahalı değil ve çok fazla güç gerektirmez. Ancak projenizin güç, alan ve hatta bütçe kısıtlaması varsa Arduino Pro Mini kullanmayı düşünebilirsiniz. Arduino Pro Micro'nun aksine, Arduino Pro Mi
Rick & Morty: Evrenden Kaçış! Ultrasonik Yakınlık Sensörü Oyunu: 7 Adım (Resimlerle)
Rick & Morty: Evrenden Kaçış! Ultrasonik Yakınlık Sensörü Oyunu: Oyunun konusu nedir? Oyun oldukça basittir. Elinizi ultrasonik yakınlık sensöründe yukarı ve aşağı hareket ettirerek Rick ve Morty'nin içinde bulunduğu uzay gemisini kontrol ediyorsunuz. Amaç: Skor kazanmak için portal silahları toplayın, korkak Jerry the Solucan iki katı
Bir Araba Amplifikatörüne Güç Vermek için Eski bir Xbox PSU kullanın.: 3 Adım
Bir Araba Amplifikatörüne Güç Vermek için Eski bir Xbox PSU kullanın.: Bu benim ilk Eğitilebilir Tablom, bu yüzden bana fazla yüklenmeyin. Eminim birçok yerde kafa karıştırıcıdır. İnternette, bir evde bir araba amplifikatörüne güç sağlamak için bir PC PSU'nun nasıl kullanılacağına dair öğreticiler görüyorum. Denemek istedim ama görünüşe göre yeniyim