İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bugün kendi kendini süren, otonom arabaların yükselişiyle, kendimden birini yapma zorluğunu üstlenmeye karar verdim. Bu proje aynı zamanda Mühendislik Tasarım ve Geliştirme ve Robotik derslerimde son projem oldu ve bir lise STEM yarışmasında en iyi otonom araç ödülünü aldı.
Sıfırdan başlamak yerine, zaten sahip olduğumuz bir RC arabayı kullanmayı seçtim ve onu bir RedBoard Arduino Uno kartıyla eşleştirdim. Arduino'yu göreceli kullanım ve programlama kolaylığı nedeniyle seçtim.
Merak edenler için bu arabada fırçalanmış motora sahip Redcat Racing 03061 Sıçramaya Karşı Dirençli ESC bulunuyor. ESC, araba ile birlikte gelen kontrolör kullanılarak zaten programlanmıştı. Elimizde olmadığı için bunu fırçasız bir motorla test etmedim, ancak herkes bu projeyi fırçasız bir motorla deneyebilir.
Özetle, bu araba (5) HC-SR04 Ultrasonik sensörden veri toplar. Bu veriler, nasıl hareket edileceğine karar verdiği Arduino'ya geri döner. Arduino daha sonra direksiyon servosunu ve motoru buna göre kontrol eder. Program bunu yapmak için standart Arduino servo kitaplığını kullanır ve ek kitaplık gerekmez.
Araba, bir potansiyometre aracılığıyla değişken hız kontrolü ve duvara çarptığında bir duvara geri dönme yeteneğine sahiptir. Ek olarak, araba bir duvara çok yakın sürüklenirse, kendini gevşeterek kendini düzeltebilir.
Adım 1: Parça Listesi
Feragatname: Aracın kendisi için gerekli olan parçaları dahil etmiyorum, sadece aracın dışındaki ek parçaları dahil ediyorum. Bunun için bir ESC, motor, şasi, pil vb. hepsi gerekli olacaktır.
İhtiyacın olacak:
(1) Arduino Uno - nakavtlar gayet iyi çalışacak
(1) Breadboard - bu proje için +/- rayını bir breadboard'dan aldım ve başka bir daha küçük breadboard kullandım. Herhangi bir boyut yapacak.
(5) HC-SR04 Ultrasonik Sensörler
(1) Potansiyometre - arabanın hızını kontrol etmek için kullanılır
(20) Dişi-Erkek Dupont teller - Gerekirse diğer teller için genişletici olarak daha fazlasını kullanmanızı şiddetle tavsiye ederim
Lehim ile havya
Arduino Güç Kaynağı - bu durumda, seri olarak bağlanmış (6) 1.2v AA pil kullandım. Bunun gibi harici telefon ve tablet güç bankaları, USB bağlantı noktasına takıldığında da iyi çalışır.
Bant, sıcak tutkal ve/veya öğeleri birbirine tutturmak için kullanılan diğer öğeler
(1) Geçiş Anahtarı (isteğe bağlı - Arduino'yu açıp kapatmak için kullanıyorum)
Adım 2: Sensörleri Konumlandırın
İlk olarak, sensörleri doğru şekilde konumlandırmak ve sabitlemek isteyeceksiniz. (1) öne bakan sensör, (2) yaklaşık 45 derece açılı sensörler ve (2) arabanın yanlarında sensörler var. Yanlar ve ön taraf için 3D baskılı montaj braketleri ve sıcak tutkal iletken olmadığından açılı ön sensörleri sabitlemek için sıcak tutkal kullandım. Yanlar ve ön taraf için montaj braketleri indirilebilir ve 3D yazdırılabilir.
Adım 3: Breadboard ve Potansiyometreyi ekleyin
Ardından, kablolamaya başlamadan önce devre tahtası ve hız kontrol potansiyometresini eklemek isteyeceksiniz. Burası, arabanın gövdesindeki boşluk nedeniyle küçük bir devre tahtası ve başka bir devre tahtasından +/- kullandım, ancak standart bir devre tahtası da gayet iyi olacak.
Adım 4: Her Şeyi Kablolayın
Bu muhtemelen en büyük adımdır ve yanlış bir kablo aracın düzgün çalışmamasına neden olabilir. Ek rehberlik için yukarıdaki Fritzing şemasına bakın.
Arduino'nuzun 5v pinini breadboard üzerindeki pozitif raya ve Arduino'nuzun GND pinini breadboard'un negatif rayına bağlayarak başlayın.
Ardından, sonar sensörlerini bağlayın. HC-SR04 sensörlerinin dört piminin her biri etiketlenmiştir. Onlar:
VCC -- 5v güç
Tetik - ultrasonik bir darbe göndermek için tetik
Echo - nabzın süresini ölçen alıcı pin
GND - topraklama pimi
Bunun için dişi-erkek Dupont telleri kullanın. VCC pinlerinin her biri pozitif devre tahtası rayına bağlanmalıdır ve GND pinlerinin her biri negatif devre tahtası rayına bağlanmalıdır. Bazı tellerin yeterince uzun olmamasıyla ilgili bir sorunum olduğu için bu kısım için uzatma olarak fazladan dişi-erkek Dupont telleri kullandım.
Ardından, Trig ve Echo pinlerini Arduino'ya bağlayın. Bunlar Arduino'nun dijital pinlerine şu şekilde bağlanacaktır:
Ön Merkez Sensörü:
Tetik -- pim 6
Yankı -- pin 7
Sol Taraf Sensörü:
Tetik -- 4
yankı -- 5
Sağ Taraf Sensörü:
Tetik -- 2
yankı -- 3
Ön Sol Sensör:
Tetik -- 10
yankı -- 11
Ön Sağ Sensör:
Tetik -- 9
yankı -- 8
Ardından direksiyon servosunu, motor ESC'yi ve hız kontrol potansiyometresini bağlayın.
İlk olarak, direksiyon servosu ile başlayın. Arabamdaki servonun kırmızı, turuncu ve kahverengi kabloları vardı. Renkler biraz değişebilir, ancak hepsi benzer şekilde kablolanacaktır:
Kahverengi tel (toprak) -- negatif devre tahtası rayına bağlayın
Kırmızı kablo (5v güç) -- 5v devre tahtası rayına bağlayın
Turuncu tel (sinyal) - Arduino'nuzdaki pim 13'e bağlanın
Motoru kontrol eden ESC - veya Elektronik Hız Kontrol Cihazı - çok benzer şekilde kablolanmıştır. Bu durumda, teller beyaz, kırmızı ve siyahtır.
Beyaz (sinyal) -- Arduino'nuzdaki pim 12'ye bağlanın
Kırmızı (5v) -- hiçbir şeye BAĞLAMAYIN. Motor durduğunda geriye doğru akan elektrik dalgalanması nedeniyle 5v bağlanmamalıdır. Bir USB bağlantı noktasını veya muhtemelen Arduino'nuzu kızartabilirsiniz.
Siyah (toprak) -- negatif devre tahtası rayına bağlanın
Son olarak, daha önce breadboard'unuza koyduğunuz potansiyometreyi bağlayın. Küçük sayılar muhtemelen üzerinde bir yere basılmıştır. Şu şekilde kablolanmalıdır:
1 (sol pin) -- negatif devre tahtası rayına bağlanın
2 (orta pin) - Arduino'nuzdaki A0 pinine bağlanın
3 (sağ pin) -- pozitif devre tahtası rayına bağlanın
Kablolama çok dağınık görünecek, bu nedenle biraz kablo yönetimi yapmak istiyorsanız, şimdi yapmanın tam zamanı.
Adım 5: Arduino'ya Güç Verme
Ardından, Arduino için bir güç çözümü kurmak isteyeceksiniz. Bu projede iki ayrı güç kaynağı kullanılıyor: araba için pil ve Arduino için pil. Bu durumda, seri bağlanmış (6) 1.2v şarj edilebilir AA pil kullandım. Taşınabilir cep telefonu güç bankaları da çalışır, sadece Arduino'nuzun USB bağlantı noktasına (mini-USB gibi) takılan bir kabloya sahip olduğunuzdan emin olun.
Lütfen 9v pillerin bu projeyle ÇALIŞMAyacağını unutmayın. 9v pillerin tasarlanma şekli nedeniyle voltaj Arduino'yu çalıştırmak için yeterlidir, ancak pilden çıkan akım kısa sürede ölmesine neden olacaktır. Ayrıca 9v pilde rastgele yeniden başlatmalarla ilgili sorunlar yaşadım.
Kullandığım çözümü kullanmayı seçerseniz, ihtiyacınız olacak:
(6) AA piller (alkalin piller de iyi çalışır)
Tüm (6) piller için AA pil tutucular. Bu harika çalışır ve bir havya kullanmanızı bile gerektirmez. Yaptığım besleme için 3 adet iki adet pil tutucuyu resimdeki gibi birbirine zincirledim, pozitif/negatif kabloları birbirine lehimledim, 9v pil adaptöründen DC elektrik fişini alıp pozitif ve negatif uca lehimledim. teller. Daha sonra Arduino'yu açıp kapamayı kolaylaştırmak için güç kaynağına seri olarak bir güç anahtarını lehimledim. Bu tamamen isteğe bağlıdır.
Adım 6: Arduino Programını Yükleyin
Ardından, programı Arduino'ya yüklemeniz gerekecek. Programı buradan indirin ve Arduino IDE aracılığıyla Arduino'nuza yükleyin.
Kodu değiştirmek isteyenler için, her bir parçanın ne yaptığını açıklayan bazı sözde kodlar ekledim.
EDIT 9/25/18 - İki duvarın ortasından geçmesini sağlamak için ikinci bir program ekledim. Arabaya erişimim olmadığı için kodu deneme şansım olmadı, ancak denemekten çekinmeyin.
7. Adım: Her Şeyi Takın ve Açın
Son olarak, her şeyi prize takmanız gerekecek. İlk olarak, araç aküsünü araca bağlayın ve ESC'nizi açın. ESC, Arduino tarafından "silahlandırılmaya" hazır olduğunu belirten bip sesi çıkarmalıdır. Ardından, Arduino'yu çalıştırın. ESC üç kez bip sesi çıkarmalı ve tekerlekler dönmeye başlamalıdır. ESC bip sesi verir ancak tekerlekler dönmeye başlamazsa, hızı artırmak için potansiyometreyi sağa çevirin. Araba çok hızlı hareket ediyorsa, potansiyometreyi sola çevirin.
Potansiyometre olması gerektiği gibi çalışıyorsa, bunu çözmek için pozitif ve negatif kabloları çevirebilirsiniz.
Video, arabanın çalıştığını, hızın nasıl değiştirileceğini ve çalıştırma sırasını gösterir.