Makale, çizgiler boyunca seyahat eden ve labirentlerden geçebilen bir robotun oluşturulmasını gösteriyor, labirenti inceledikten sonra, en kısa yoldan geçebilir. Yazar uzun zamandır bu projeyi yarattı, şans üçüncü kez üstesinden geldi.
Makinenin tanıtımı:
Malzemeler ve araçlar:
- Arduino RBBB
- Mikromotorlar 2 adet
- 2 adet motorlar için braketler
- Tekerlekler 2 adet
- top çarkı
- Analog yansıma sensörü
- 2 adet cıvatalı somun.
- motor sürücüsü
- Pil yuvası 4 adet AAA
Piller (şarj edilebilir piller) AAA 4 adet
- Dava
- Somunlar, cıvatalar, pullar
- bağlantı telleri
- lehim
- pense
- havya
- tornavida
İlk adım. Teori.
Yazar gerekli robotlabirentten bir çıkış yolu bulacaktır, daha sonra dönüş yolculuğunu optimize edebilecektir. Labirentler için bir makine oluştururken, sol taraftaki yöntemle yönlendirildiler. Daha net hale getirmek için, bir labirentte olduğunuzu ve her zaman sol elinizi duvarda tuttuğunuzu hayal etmelisiniz. Belirli bir yolu geçtikten sonra, kapalı değilse labirentten çıkmanıza yardımcı olur. Robot sadece açık labirentlerle çalışabilir.
Sol yöntemin prensipleri oldukça basittir:
- Sola dönebilirseniz sola dönün.
- Düz hareket edebiliyorsanız, düz hareket edin.
- Sağa dönebilirseniz, sağa dönün.
- Çıkmaz sokakdaysanız, 180 derece çevirin.
Ayrıca, robotun kavşakta karar vermesi gerekir, ancak dönüşte kapanmazsa, düz gidecektir. Daha iyi bir dönüş rotası oluşturmak için her karar hafızaya yazılır.
L = sola dönüş
R = sağa dönüş
S = bir tur atla
B = 180 derece döndür
Bu yöntem, aşağıda örnek olarak basit bir labirent kullanılarak eylem halinde gösterilmiştir. Robot mesafeyi LBLLBSR komutlarıyla kapattı.
Yol oldukça uzun bir yol çıktı; optimal bir SRR'ye dönüştürülmesi gerekiyor. Bunu yapmak için, robotun nereden yanlış döndüğü belirlenir. “B” komutunun kullanıldığı her yerde, robot bir çıkmazda olduğu için yol yanlış olacaktır, bu yüzden “B” başka bir şeyle değiştirilmelidir. İlk yanlış hareket LBL idi, robot döndü ve döndü, sadece doğrudan LBL = S'yi takip etmek gerekiyordu.
İkinci Adım Robotun şasisi.
0.8 mm kalınlığında akrilik, robot şasisinin temeli oldu; kesme, çizime göre bir lazerle gerçekleştirildi. Makalenin altındaki arşivde AutoCAD'den bir çizim dosyası olacak. Böyle bir materyali kullanmak gerekli değildi, ancak yazar mevcut olanı aldı.
Alt kısımda, motorların, levhaların, tekerleklerin ve sensörlerin montajı için delikler yapılır. Üst kısım teller için büyük bir deliğe sahiptir.
Üçüncü Adım Tekerleklerin montajı.
Yazar her iki motoru da cıvata ile tutturdu. Ayrıca, mili tekerleğin üzerindeki delikle hizalayarak tekerlekleri akslarına koyarlar.
Dördüncü adım. Arduino.
Bu noktada, yazar önce Arduino RBBB için montaj talimatlarını takip etti. Ayrıca, boyutunu azaltmak için tahtanın bir kısmını kesti. Güç konnektörü ve stabilizatörü metal için makasla kesildi. Bundan sonra, bir sensörü bağlamak için 5V ile A0 arasındaki kontaklar için kartın sol tarafına 9 pimli bir konektör lehimlenmiştir. D5'ten D8'e kontaklar için kartın sağ tarafına 4 pimli bir konektör lehimlenmiştir ve bir motor kontrol cihazı ona bağlanacaktır. Güç sağlamak için, 2 pimli konektör 5V ve GND'ye lehimlenmiştir.
Beşinci Adım Motor kontrolörü.
Yazar bu adım için bir baskılı devre kartı geliştirdi, Kartal formatındaki devre makalenin altındaki arşive eklendi. İlk motor M1-A ve M1-B pimlerine, ikincisi M2 ve M2-B'ye bağlandı. İlk In 1A motorunun ilk girişi Arduino'nun 7. pinine bağlandı. İB'de Arduino'nun pim 6'sına bağlandı. İkinci motorun ilk girişine, In 2A, Arduino'nun 5. pinine bağlanır. Pin In 2B, Arduino'nun 8 pinine bağlanır. Güç ve toprak Arduino gücüne ve toprağa bağlıdır.
Altıncı Adım Sensörler.
Bu eleman bir sensör panosu şeklinde satılmaktadır, başlangıçta sekiz tane vardır, iki uç olan yazar tarafından silinmiştir. Tahtaya 9 pinli bir konektör lehimlenmiştir, Arduino'ya giden bir tel bunlara bağlanacaktır. Sensör, labirentin beyaz ve siyah bir kısmını yüzeyden yansıma kullanarak algılar.
Yedinci adım. Üst kısım.
Robotun üst kısmı cıvata ve raflarla bağlanmış şasi. Pil Velcro ile üstüne sabitlenmiştir. Ondan gelen teller hazırlanan delikten geçirildi. Takarken, yazar vida kullanmamaya, pili Velcro ile bırakmaya karar verdi, böylece pilleri değiştirmek daha kolay olacaktı. Pil kutusundaki düğmeyi kullanarak bir performans kontrolü gerçekleştirilmiştir.
Sekizinci Adım. Sensörlerin montajı.
Sensörler makinenin altına cıvatalandı. GND pimi GND Arduino'ya bağlanır. Daha sonra, Vcc pimi 5V Arduino'ya bağlanır. Arduino 5-0 ADC'ler analog 6-1 sensörlerin pimlerini bağladı.
Dokuz Adım. Güç.
Arduino telleri pilden lehimledi. Robotun açılması ve kapatılması pilin bir anahtarı olacaktır, bu nedenle lehimlemenin kullanılmasına karar verilmiştir. Bu robotun montajını tamamlar.
Onuncu Adım Yazılım bölümü.
Programın çalışma algoritmasından sorumlu çeşitli işlevleri vardır. “Sol el” fonksiyonu sensörlerden okumalar alır ve robotu bu kurallara göre kontrol eder. Robot siyah bir çizgi fark etmeden dönme işlevi açılır, fark ettikten sonra düz gider. Bir yol optimizasyon işlevi de entegre edilmiştir. Program arşivdeki makalenin altında indirilebilir.
Robot Videosu: