Arduino ile Labirent Çözen Robot Yapımı
Merhabalar, bu projede arduino kullanarak labirent çözen bir robotun nasıl yapılabileceğini açıklamaya çalıştım.
Labirent çözen robotlar temelde 2 farklı tip labirentte dolaşmaktadır. Bunlar çizgi labirentleri ve duvar labirentleridir. Nispeten duvarlı bir labirentin evde inşası daha uğraştırıcı olduğundan ben çizgi labirentini tercih ettim. Ancak çizgi labirentlerinde yol takibi ve kavşak çözümleme duvar labirentlerinden daha uğraştırıcı olmaktadır.
Bu çalışmada sonlu ve basit bir çizgi labirentini robota çözdürmeye çalıştım. Basit sonlu labirentler çıkışların birbirine bağlanıp sonsuz döngüler oluşturmadığı labirentlerdir. Döngüsel labirentlerin çözümünde çok daha karmaşık algoritmalar kullanılmaktadır.
Labirent çözümlemede sıkça kullanılan sol el kuralı metodu ile önce labirenti tam tur dolaşarak öğrenmeyi ve sonrasında bu hamleleri sadeleştirerek gereksiz noktalara girmeden en kısa yolu bularak labirentten çıkmayı amaçladım.
Bu robotun yapımı için gerekli olan malzemeler, çalışma mantığı ve algoritması ile arduino kodunu aşağıda bulabilirsiniz.
Labirent çözen robotlar temelde 2 farklı tip labirentte dolaşmaktadır. Bunlar çizgi labirentleri ve duvar labirentleridir. Nispeten duvarlı bir labirentin evde inşası daha uğraştırıcı olduğundan ben çizgi labirentini tercih ettim. Ancak çizgi labirentlerinde yol takibi ve kavşak çözümleme duvar labirentlerinden daha uğraştırıcı olmaktadır.
Bu çalışmada sonlu ve basit bir çizgi labirentini robota çözdürmeye çalıştım. Basit sonlu labirentler çıkışların birbirine bağlanıp sonsuz döngüler oluşturmadığı labirentlerdir. Döngüsel labirentlerin çözümünde çok daha karmaşık algoritmalar kullanılmaktadır.
Labirent çözümlemede sıkça kullanılan sol el kuralı metodu ile önce labirenti tam tur dolaşarak öğrenmeyi ve sonrasında bu hamleleri sadeleştirerek gereksiz noktalara girmeden en kısa yolu bularak labirentten çıkmayı amaçladım.
Bu robotun yapımı için gerekli olan malzemeler, çalışma mantığı ve algoritması ile arduino kodunu aşağıda bulabilirsiniz.
Gerekli Malzemeler
1 adet Arduino Nano
1 adet QTR-8A çizgi sensörü
1 adet L298N motor sürücü kartı
1 adet LM2596 DC regülatör
2 adet N20 serisi 12mm 6V DC redüksiyonlu 60 RPM motor
2 adet uygun tekerlek
1 adet sarhoş tekerlek
1 adet 2s lipo pil
1 adet ON-OFF switch
Yeterince jumper kablo
Şase için 4mm dakota malzeme
Labirentin yapımı için siyah elektrik bandı
Motor Mount için Thingverse linki
İlgili Dokumanlar
Çizgi labirenti çözüm algoritması ile ilgili akademik çalışma:
https://www.pololu.com/file/0J195/line-maze-algorithm.pdf
QTR-8A sensör kütüphanesi
https://github.com/pololu/qtr-sensors-arduino/releases
Temel Labirent Çözme Algoritmaları
https://en.wikipedia.org/wiki/Maze_solving_algorithm
1 adet Arduino Nano
1 adet QTR-8A çizgi sensörü
1 adet L298N motor sürücü kartı
1 adet LM2596 DC regülatör
2 adet N20 serisi 12mm 6V DC redüksiyonlu 60 RPM motor
2 adet uygun tekerlek
1 adet sarhoş tekerlek
1 adet 2s lipo pil
1 adet ON-OFF switch
Yeterince jumper kablo
Şase için 4mm dakota malzeme
Labirentin yapımı için siyah elektrik bandı
Motor Mount için Thingverse linki
İlgili Dokumanlar
Çizgi labirenti çözüm algoritması ile ilgili akademik çalışma:
https://www.pololu.com/file/0J195/line-maze-algorithm.pdf
QTR-8A sensör kütüphanesi
https://github.com/pololu/qtr-sensors-arduino/releases
Temel Labirent Çözme Algoritmaları
https://en.wikipedia.org/wiki/Maze_solving_algorithm
Kod:
merhabalar, anlatım çok güzel gerçekten, ama kodları bulamadım ben.
YanıtlaSilGüncelledim.
Silsizin kodlarınızı kullandım robot labirenti çözüyor fakat kısa yoldan labirenti çözmüyor
YanıtlaSilrobot kendi ekseni etafında dönüyor çözemedim
kodları banada atabilir misiniz ?
Silkodları bulamıyorum yardımcı olabilir misiniz ?
YanıtlaSilhocam cevap verecek misin ?
YanıtlaSilHocam yukarıda linki var ya
Silhttps://github.com/mucitpilot/mazesolve/archive/main.zip