Obsah:

Chytřejší tvorba robota hloupého sekačky: 4 kroky
Chytřejší tvorba robota hloupého sekačky: 4 kroky

Video: Chytřejší tvorba robota hloupého sekačky: 4 kroky

Video: Chytřejší tvorba robota hloupého sekačky: 4 kroky
Video: Part 2 - The Thirty-Nine Steps Audiobook by John Buchan (Chs 6-10) 2024, Červenec
Anonim
Chytřejší robot z hloupého sekačky
Chytřejší robot z hloupého sekačky

Takže mám krásného, ale hloupého robota na sekačku (obrázek je z www.harald-nyborg.dk).

Tento robot mi měl sekat trávník, ale můj trávník je příliš velký a složitý na to, aby se opravdu dostal do rohů.

Na mých kresbách není zobrazeno množství stromů, houpačka a tak dále a tak dále. Výsledkem je, že robot tráví CESTU hodně času, přejezdem již posekaných otevřených sekcí a příliš málo času sekáním tvrdých částí.

Rozhodl jsem se tedy přidat nějakou externí inteligenci.

23-04-2020 EDIT: senzor nefungoval úplně, tak jsem změnil pár věcí

Zásoby

2 venkovní 2cestné přepínače

NEBO

1 starý usb router

1 USB reléová karta

1 digispark

1 USB rozbočovač

1 vodotěsný box na elektroniku

23-04-2020 EDIT:

OR1 starý usb router

1 USB reléová karta

1 usb2sériové zboží

1 USB rozbočovač

1 vodotěsný box na elektroniku

1 ultrazvukový senzor Dfrobot URM 37 v3.2 (pravděpodobně můžete použít jakýkoli senzor =)

kmod-usb-serial-cp210x

Krok 1: Krok 1: Víceúčelové řezání Manuel

Krok 1: Víceúčelové řezání Manuel
Krok 1: Víceúčelové řezání Manuel
Krok 1: Víceúčelové řezání Manuel
Krok 1: Víceúčelové řezání Manuel

Obrázek ukazuje, jak jsem šel z jedné oblasti řezání do 2 oblastí.

Můj robot se automaticky spustí každý 2. den, takže pokud jsem si pamatoval, že ho změním z jedné oblasti do druhé, fungovalo to dobře.

Použil jsem 2 ruční spínače, jako ty, které byste použili v hale nebo na schodišti.

To fungovalo, kromě těch, které jsem použil, byly příliš špatné kvality, a proto jsem do nich lezl brouky a zpackal je

Krok 2: Krok 2: Automatické řešení

Krok 2: Automatické řešení
Krok 2: Automatické řešení
Krok 2: Automatické řešení
Krok 2: Automatické řešení
Krok 2: Automatické řešení
Krok 2: Automatické řešení
Krok 2: Automatické řešení
Krok 2: Automatické řešení

Rozhodl jsem se tedy udělat něco automatického.

Mám použitý směrovač Netgear R6100, ten jsem dostal, protože má wifi, usb a dostatek paměti, aby bylo možné experimentovat s experimentováním, místo aby se do něj vměstnalo OpenWrt a přátelé.

Mám ebays nejlepší USB 2.0 hub a 12v relé kartu.

Pak jsem měl digispark z dřívějšího projektu. 23-04-2020 EDIT: místo toho použil věc usb2seriel

zapojil jsem relé místo spínačů. Použil jsem relé 3 a 4

Poté jsem nainstaloval OpenWrt a přidal do něj Crelay, picocom a coreutils-stty.

23-04-2020 EDIT: přidáno xxk, také kmod-usb-serial-cp210x

Zapojeno 12V do routeru a reléové desky.

23-04-2020 EDIT: místo zbytku této stránky byl použit Urm 37 v3.2

Pak jsem se naučil něco „zábavného“. reléový výstup se pokusí zapnout USB rozbočovač, čímž zabrání správnému restartu digisparku. Přerušil jsem tedy napájecí kabel v kabelu USB z reléové karty a USB rozbočovače.

Potom jsem zapojil digispark a USB reléovou kartu do rozbočovače USB 2.0 a rozbočovač do routeru.

Abych byl spravedlivý, naprogramoval jsem digispark před přidáním do routeru

Do digisparku jsem přidal tlačítko, které jsem zapojil mezi P1 a GND.

Toto tlačítko jsem umístil, takže ho robot aktivuje, jakmile se dobije v garáži.

K aktivaci jsem musel přidat pružinu, abych dosáhl dobrého pevného zapojení.

Krok 3: Krok 3: Software

Soubor obsahuje program arduino ide pro digispark.

Je umístěn v root/LawnSelector.

Tento soubor potřebuje několik knihoven digispark, například digiCDC a desky digispark přidané do arduino ide.

Pak jsou zde soubory/root/GrassCtr/*.

Toto jsou soubory, které ve skutečnosti fungují.

Kreds1 mění relé na area1

Kreds2 mění relé na area2

KredsStatus se zeptá USB relé, jaká oblast je aktivní

23-04-2020 EDIT: Místo čtení digispark použijte UltraSoundSeriel.

ReadDigiSpark, čte zprávy každé úterý.. Počkejte. Přečte vstupní stav digisparku

GrassCtl přemýšlí.

Tady je to, co to dělá.

Pokud je robot IN více než 10 hodin, rozhodne se, že je robot v noci, a tím se aktivuje flipflop, díky kterému se spustí v každé oblasti pokaždé podruhé. Důvodem je, že můj robot začíná řezáním celé hrany a tímto způsobem řeže hrany každý druhý den.

Poté, co robot seká, senzor oznámí, že je robot venku.

Pokaždé, když se robot vrátí k nabití baterie (definováno jako přítomnost déle než 20 minut), oblast se změní na jinou oblast.

prosím na vědomí. Software je hrozný nepořádek, ale funguje, tak kupředu a nahoru

Krok 4: Krok 4: Aktivace softwaru

Abychom mohli software spustit, musíme něco udělat.

Přidal jsem to do cronJob

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

do souboru

/etc/crontabs/root

Poté, abych zapnul cronjobs, jsem to udělal

/etc/init.d/cron povolit

Jak nejlépe vím, robot nyní přepne mezi spuštěním oblasti sekání 1 nebo 2 a změní to, co je posečeno, pokaždé, když se dobíjí baterie.

A ano, teď to bude všechno

Doporučuje: