İçindekiler:

Aptal Bir Çim Taşıyıcı Robotu Daha Akıllı Yapmak: 4 Adım
Aptal Bir Çim Taşıyıcı Robotu Daha Akıllı Yapmak: 4 Adım

Video: Aptal Bir Çim Taşıyıcı Robotu Daha Akıllı Yapmak: 4 Adım

Video: Aptal Bir Çim Taşıyıcı Robotu Daha Akıllı Yapmak: 4 Adım
Video: Yanlışlıkla Görünmez Olan Adam, Uyuyan Güzel Kızlardan Yararlanmaya Başlıyor! 2024, Kasım
Anonim
Aptal Bir Çim Taşıyıcı Robotunu Daha Akıllı Hale Getirmek
Aptal Bir Çim Taşıyıcı Robotunu Daha Akıllı Hale Getirmek

Yani güzel ama aptal bir çim biçme robotum var (Resim www.harald-nyborg.dk'den).

Bu robotun çimlerimi kesmesi gerekiyor ama benim çimim gerçekten köşelere giremeyecek kadar büyük ve karmaşık.

Çizimlerimde çok sayıda ağaç ve bir salıncak seti vb. gösterilmemiştir. Sonuç olarak, robot çok fazla zaman harcar, zaten biçilmiş açık bölümlerin üzerinden geçer ve sert parçaları biçmek için çok az zaman harcar.

Bu yüzden biraz dış istihbarat eklemeye karar verdim.

23-04-2020 EDIT: sensör tam olarak çalışmadı, bu yüzden birkaç şeyi değiştirdim

Gereçler

2 dış mekan 2 yollu Anahtar

VEYA

1 eski usb yönlendirici

1 usb röle kartı

1 dijital park

1 usb hub

1 su geçirmez elektronik kutu

23-04-2020 DÜZENLEME:

OR1 eski usb yönlendirici

1 usb röle kartı

1 usb2serial tll şey

1 usb hub

1 su geçirmez elektronik kutu

1 Dfrobot URM 37 v3.2 ultrasonik sensör (muhtemelen herhangi bir sensörü kullanabilirsiniz=)

kmod-usb-seri-cp210x

Adım 1: Adım 1: Manuel Çok Alanlı Kesim

Adım 1: Manuel Çok Alanlı Kesim
Adım 1: Manuel Çok Alanlı Kesim
Adım 1: Manuel Çok Alanlı Kesim
Adım 1: Manuel Çok Alanlı Kesim

Resim bir kesim alanından 2 alana nasıl geçtiğimi gösteriyor.

Robotum her 2. günde bir otomatik olarak başlayacak, bu yüzden onu bir alandan diğerine değiştirmeyi hatırladığım sürece, bu iyi çalıştı.

Koridorda veya merdivende kullanacağınız gibi 2 manuel anahtar kullandım.

Bu işe yaradı, ancak kullandıklarım çok kalitesizdi ve bu nedenle içlerine sürünerek onları mahveden böceklerim oldu.

Adım 2: Adım 2: Otomatik Çözüm

2. Adım: Otomatik Çözüm
2. Adım: Otomatik Çözüm
2. Adım: Otomatik Çözüm
2. Adım: Otomatik Çözüm
2. Adım: Otomatik Çözüm
2. Adım: Otomatik Çözüm
2. Adım: Otomatik Çözüm
2. Adım: Otomatik Çözüm

Bu yüzden otomatik bir şey yapmaya karar verdim.

Kullanılmış bir Netgear R6100 yönlendiricim var, bunu aldım çünkü Wi-Fi, usb ve OpenWrt ve arkadaşlarını üzerine tıkmak yerine deneme hakkında deney yapmak için yeterli belleğe sahip.

Bir ebay'in en iyi usb 2.0 hub'ına ve 12v röle kartına sahibim.

Sonra daha önceki bir projeden bir digispark'ım vardı. 23-04-2020 EDIT: bunun yerine bir usb2seriel şeyi kullandı

Anahtarlar yerine röleleri bağladım. röle 3 ve 4'ü kullandım

Sonra OpenWrt'i kurdum ve ona Crelay, picocom ve coreutils-stty ekledim.

23-04-2020 DÜZENLEME: xxk, kmod-usb-serial-cp210x eklendi

Yönlendiriciye ve röle kartına 12V takılı.

23-04-2020 DÜZENLEME: bu sayfanın geri kalanı yerine bir Urm 37 v3.2 kullandı

Sonra "eğlenceli" bir şey öğrendim. röle boad, usb hub'ı açmaya çalışacak ve böylece digispark'ın doğru şekilde yeniden başlatılmasını engelleyecektir. Bu yüzden usb kablosundaki güç kablosunu röle kartından ve usb hub'ından kestim.

Sonra digispark'ı ve usb röle kartını usb 2.0 hub'ına ve hub'ı da yönlendiriciye taktım.

Adil olmak gerekirse, digispark'ı yönlendiriciye eklemeden önce programladım.

Digispark'ta, P1 ve Gnd arasında kabloladığım bir düğme ekledim.

Bu düğmeyi yerleştirdim, böylece robot, garajında şarj olduğunda onu etkinleştirecek.

İyi bir sağlam nişan almak için aktivasyona bir yay eklemek zorunda kaldım.

Adım 3: Adım 3: Yazılım

Dosya, digispark için bir arduino ide programı içerir.

Root/LawnSelector'a yerleştirilir.

Bu dosya, digiCDC ve arduino ide'ye eklenen digispark panoları gibi birkaç digispark kitaplığına ihtiyaç duyar.

Sonra /root/GrassCtr/* dosyaları var.

Bunlar aslında işi yapan dosyalardır.

Kreds1 röleleri alan1 olarak değiştirir

Kreds2, röleleri alan2 olarak değiştirir

KredsStatus, USB rölesine hangi alanın aktif olduğunu sorar

23-04-2020 DÜZENLEME: digispark'ı okumak yerine UltraSoundSeriel kullanın.

ReadDigiSpark, her salı haberleri okur.. Bekleyin. Digispark'ın giriş durumunu okur

Düşünmeyi GrassCtl yapar.

İşte ne yapar.

Robot 10 saatten daha uzun süre IN'de kalırsa, robotun gece kalacağına karar verir ve bu, iki duraklıyı etkinleştirir, bu da her alanda her saniye başlamasını sağlar. Bunun nedeni, robotum tüm kenarı keserek başlıyor ve bu şekilde her gün kenarları kesiyor.

Ardından robot biçmeye başladığında, sensör robotun dışarıda olduğunu söyleyecektir.

Robot pil şarjı için her geri döndüğünde (20 dakikadan uzun süredir içeride olarak tanımlanır) alan diğer alana değiştirilir.

lütfen aklınızda bulundurun. Yazılım korkunç bir karmaşa, ama çalışıyor, bu yüzden ileriye ve yukarıya

Adım 4: Adım 4: Yazılımı Etkinleştirme

Yazılımı çalıştırmak için bir şeyler yapmamız gerekiyor.

Bir cronJob'a ekledim

*/5 * * * * /root/GrassCtrl/GrassCtl

dosyaya

/etc/crontabs/root

Sonra cronjobs'ı açmak için yaptım

/etc/init.d/cron etkinleştir

Söyleyebileceğim en iyi şey, robot şimdi biçme alanı 1 veya 2'ye başlama arasında değişecek ve pilleri her şarj ederken biçilenleri değiştirecek.

Ve evet, şimdi her şeyi alıyor

Önerilen: