Innehållsförteckning:

Gör en dum gräsklippare robot smartare: 4 steg
Gör en dum gräsklippare robot smartare: 4 steg

Video: Gör en dum gräsklippare robot smartare: 4 steg

Video: Gör en dum gräsklippare robot smartare: 4 steg
Video: Installationsfilm GARDENA SILENO city/SILENO life, Del 4 - Installera laddstationen 2024, Juli
Anonim
Gör en dum gräsklipparrobot smartare
Gör en dum gräsklipparrobot smartare

Så jag har en härlig, men dum gräsklipparrobot (Bilden är från www.harald-nyborg.dk).

Den här roboten ska klippa min gräsmatta, men min gräsmatta är för stor och komplex för att den verkligen ska komma in i hörnen.

Inte visas på mina ritningar är en mängd träd och en gunga och så vidare och så vidare. Resultatet är att roboten spenderar VÄG för mycket tid, kör över redan klippta öppna sektioner och för lite tid att klippa de hårda delarna.

Så jag bestämde mig för att lägga till lite extern intelligens.

23-04-2020 EDIT: sensorn fungerade inte riktigt, så jag ändrade ett par saker

Tillbehör

2 utomhus tvåvägsbrytare

ELLER

1 gammal usb -router

1 usb -reläkort

1 digispark

1 usb -hubb

1 vattentät elektroniklåda

23-04-2020 EDIT:

OR1 gammal usb -router

1 usb -reläkort

1 usb2serial tll tinghy

1 usb -hubb

1 vattentät elektroniklåda

1 Dfrobot URM 37 v3.2 ultraljudssensor (du kan förmodligen använda valfri sensor =)

kmod-usb-serial-cp210x

Steg 1: Steg 1: Manuel skärning i flera områden

Steg 1: Manuel skärning av flera områden
Steg 1: Manuel skärning av flera områden
Steg 1: Manuell skärning av flera områden
Steg 1: Manuell skärning av flera områden

Bilden visar hur jag gick från ett skärområde till 2 områden.

Min robot startar automatiskt varannan dag, så så länge jag kom ihåg att ändra den från ett område till det andra fungerade det bra.

Jag använde två manuella omkopplare, som de du skulle använda i en hall eller trappa.

Detta fungerade, förutom att de jag använde var av för dålig kvalitet, och därför fick jag buggar att krypa in i dem och förstöra dem

Steg 2: Steg 2: den automatiska lösningen

Steg 2: den automatiska lösningen
Steg 2: den automatiska lösningen
Steg 2: den automatiska lösningen
Steg 2: den automatiska lösningen
Steg 2: den automatiska lösningen
Steg 2: den automatiska lösningen
Steg 2: den automatiska lösningen
Steg 2: den automatiska lösningen

Så jag bestämde mig för att göra något automatiskt.

Jag fick en begagnad Netgear R6100 -router, jag fick den här eftersom den har wifi, usb och tillräckligt med minne för att experimentera med att experimentera, istället för att klämma på OpenWrt och vänner.

Jag fick en ebays bästa usb 2.0 -hubb och ett 12v reläkort.

Sedan hade jag en digispark från ett tidigare projekt. 23-04-2020 EDIT: använde en usb2seriel thinghy istället

jag kopplade reläerna istället för omkopplarna. jag använde relä 3 och 4

Sedan installerade jag OpenWrt och lade till Crelay, picocom och coreutils-stty till den.

23-04-2020 EDIT: lagt till xxk, kmod-usb-serial-cp210x också

Ansluten 12V till routern och reläkortet.

23-04-2020 EDIT: använde en Urm 37 v3.2 istället för resten av denna sida

Då lärde jag mig något "kul". reläet kommer att försöka slå på usb -hubben och därmed hindra digisparken från att starta om korrekt. Så jag klippte strömkabeln i usb -kabeln från reläkortet och usb -navet.

Då kopplade jag in digisparken och usb -reläkortet till usb 2.0 -hubben och navet i routern.

För att vara rättvis, programmerade jag digisparken innan jag lade den till routern

I digisparken lade jag till en knapp som jag kopplade mellan P1 och Gnd.

Den här knappen placerade jag så att roboten aktiverar den när den väl laddar i garaget.

Jag var tvungen att lägga till en fjäder till aktiveringen för att få ett bra solid engagemang.

Steg 3: Steg 3: Programvara

Filen innehåller ett arduino ide -program för digispark.

Den är placerad i root/LawnSelector.

Den här filen behöver ett par digispark libs, som digiCDC och digispark -korten som läggs till i arduino ide.

Sedan finns det/root/GrassCtr/* -filerna.

Det här är filerna som faktiskt gör jobbet.

Kreds1 ändrar reläer till area1

Kreds2 ändrar reläer till area2

KredsStatus frågar USB -reläet, vilket område är aktivt

23-04-2020 EDIT: Använd UltraSoundSeriel istället för att läsa digispark.

ReadDigiSpark, läser nyheterna varje tisdag.. Vänta. Läser inmatningsläget för digisparken

GrassCtl tänker.

Här är vad det gör.

Om roboten är IN i mer än 10 timmar bestämmer den att roboten är in för natten, och detta aktiverar en flipflop, som gör att den startar i varje område varannan gång. Anledningen till detta är att min robot börjar med att klippa hela kanten, och på så sätt skär den kanterna varannan dag.

Sedan när roboten klipper, kommer sensorn att berätta att roboten är ute.

Varje gång roboten återvänder för batteriladdning (definierad som att vara inne i mer än 20 minuter) kommer området att ändras till det andra området.

Vänligen notera. Programvaran är en fruktansvärd röra, men det fungerar, så vidare och uppåt

Steg 4: Steg 4: Aktivering av programvaran

För att köra programvaran måste vi göra något.

Jag lade till den i en cronJob

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

till filen

/etc/crontabs/root

Sedan gjorde jag det för att slå på cronjobs

/etc/init.d/cron aktivera

Så gott jag kan se kommer roboten nu att växla mellan att börja klippa område 1 eller 2, och kommer att ändra vad som klipps varje gång det har varit att ladda batterierna.

Och ja, nu blir det allt

Rekommenderad: