Spisu treści:

Inteligentniejszy robot-kosiarka: 4 kroki
Inteligentniejszy robot-kosiarka: 4 kroki

Wideo: Inteligentniejszy robot-kosiarka: 4 kroki

Wideo: Inteligentniejszy robot-kosiarka: 4 kroki
Wideo: czy warto mieć robota koszacego 2024, Lipiec
Anonim
Inteligentniejszy robot-kosiarka
Inteligentniejszy robot-kosiarka

Więc mam ślicznego, ale głupiego robota kosiarki (zdjęcie pochodzi z www.harald-nyborg.dk).

Ten robot ma kosić mój trawnik, ale mój trawnik jest zbyt duży i skomplikowany, by mógł naprawdę dostać się w rogi.

Na moich rysunkach nie ma mnóstwa drzew, huśtawki i tak dalej i tak dalej. W rezultacie robot spędza DUŻO czasu, przejeżdżając już skoszone, otwarte sekcje, a za mało czasu na koszenie twardych części.

Postanowiłem więc dodać zewnętrzną inteligencję.

23-04-2020 EDIT: czujnik nie do końca działał, więc zmieniłem kilka rzeczy

Kieszonkowe dzieci

2 zewnętrzne przełączniki dwukierunkowe

LUB

1 stary router USB

1 karta przekaźnika usb

1 digipark

1 koncentrator USB

1 wodoszczelne pudełko z elektroniką

23-04-2020 EDYCJA:

OR1 stary router USB

1 karta przekaźnika usb

1 usb2serial tll coś

1 koncentrator USB

1 wodoszczelne pudełko z elektroniką

1 czujnik ultradźwiękowy Dfrobot URM 37 v3.2 (prawdopodobnie mógłbyś użyć dowolnego czujnika=)

kmod-usb-szeregowy-cp210x

Krok 1: Krok 1: Ręczne cięcie wielu obszarów

Krok 1: ręczne cięcie wielu obszarów
Krok 1: ręczne cięcie wielu obszarów
Krok 1: ręczne cięcie wielu obszarów
Krok 1: ręczne cięcie wielu obszarów

Zdjęcie pokazuje, jak przeszedłem z jednego obszaru cięcia do 2 obszarów.

Mój robot będzie się automatycznie uruchamiał co 2. dzień, więc dopóki pamiętałem, aby zmienić go z jednego obszaru na drugi, działało to dobrze.

Użyłem 2 ręcznych przełączników, takich jak te, których używasz w przedpokoju lub na klatce schodowej.

To zadziałało, z wyjątkiem tego, że te, których użyłem, były zbyt słabej jakości, dlatego dostałem do nich robaki, psując je

Krok 2: Krok 2: Automatyczne rozwiązanie

Krok 2: Automatyczne rozwiązanie
Krok 2: Automatyczne rozwiązanie
Krok 2: Automatyczne rozwiązanie
Krok 2: Automatyczne rozwiązanie
Krok 2: Automatyczne rozwiązanie
Krok 2: Automatyczne rozwiązanie
Krok 2: Automatyczne rozwiązanie
Krok 2: Automatyczne rozwiązanie

Postanowiłem więc zrobić coś automatycznego.

Mam używany router Netgear R6100, mam ten, ponieważ ma Wi-Fi, USB i wystarczającą ilość pamięci, aby eksperymentować z eksperymentowaniem, zamiast robić to z wkuwania OpenWrt i znajomych.

Mam najlepszy hub usb 2.0 w serwisie eBay i kartę przekaźnikową 12V.

Potem miałem digipark z wcześniejszego projektu. 23-04-2020 EDIT: zamiast tego użyłem usb2seriel

podłączyłem przekaźniki zamiast przełączników. użyłem przekaźnika 3 i 4

Następnie zainstalowałem OpenWrt i dodałem do niego Crelay, picocom i coreutils-stty.

23-04-2020 EDIT: dodano również xxk, kmod-usb-serial-cp210x

Podłączone 12V do routera i płytki przekaźników.

23-04-2020 EDIT: użyłem Urm 37 v3.2 zamiast reszty tej strony

Wtedy nauczyłem się czegoś „zabawnego”. płyta przekaźnika spróbuje włączyć koncentrator USB, utrudniając w ten sposób prawidłowe ponowne uruchomienie digiparka. Więc odciąłem przewód zasilający w kablu USB od karty przekaźnika i koncentratora USB.

Następnie podłączyłem digipark i kartę przekaźnika USB do koncentratora USB 2.0, a koncentrator do routera.

Cóż, żeby być uczciwym, zaprogramowałem digipark przed dodaniem go do routera

W digiparku dodałem przycisk, który podłączyłem między P1 i Gnd.

Ten przycisk umieściłem, aby robot go aktywował, gdy będzie ładowany w garażu.

musiałem dodać sprężynę do aktywacji, aby uzyskać dobre, solidne zazębienie.

Krok 3: Krok 3: Oprogramowanie

Plik zawiera program arduino ide dla digispark.

Jest umieszczony w katalogu głównym/LawnSelector.

Ten plik wymaga kilku bibliotek digispark, takich jak digiCDC i tablice digispark dodane do arduino ide.

Następnie tam pliki /root/GrassCtr/*.

Są to pliki, które faktycznie wykonują pracę.

Kreds1 zmienia przekaźniki na area1

Kreds2 zmienia przekaźniki na area2

KredsStatus pyta przekaźnik USB, który obszar jest aktywny

23-04-2020 EDIT: Użyj UltraSoundSeriel zamiast czytać digispark.

ReadDigiSpark, czyta wiadomości w każdy wtorek.. Czekaj. Odczytuje stan wejścia digipark

GrassCtl myśli.

Oto, co robi.

Jeśli robot jest IN przez więcej niż 10 godzin, decyduje, że robot jest na noc, a to aktywuje flipflop, który sprawia, że startuje w każdym obszarze co drugi raz. Powodem tego jest to, że mój robot zaczyna od cięcia całej krawędzi iw ten sposób tnie krawędzie co drugi dzień.

Następnie, gdy robot kosi, czujnik poinformuje, że robot jest wyłączony.

Za każdym razem, gdy robot wraca na ładowanie baterii (zdefiniowane jako przebywanie przez ponad 20 minut), obszar zostanie zmieniony na inny.

proszę zanotować. Oprogramowanie to straszny bałagan, ale działa, więc naprzód i w górę

Krok 4: Krok 4: Aktywacja oprogramowania

Aby uruchomić oprogramowanie, musimy coś zrobić.

Dodałem to do cronJob

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

do pliku

/etc/crontabs/root

Następnie, aby włączyć cronjobs, zrobiłem

/etc/init.d/cron włącz

Jak mogę powiedzieć, robot będzie teraz przełączał się między rozpoczęciem koszenia obszaru 1 lub 2 i będzie zmieniał to, co skoszono za każdym razem, gdy ładuje akumulatory.

I tak, teraz dostaje wszystko

Zalecana: