Innholdsfortegnelse:

Gjør en dum plenmaskinrobot smartere: 4 trinn
Gjør en dum plenmaskinrobot smartere: 4 trinn

Video: Gjør en dum plenmaskinrobot smartere: 4 trinn

Video: Gjør en dum plenmaskinrobot smartere: 4 trinn
Video: Самые Умелые Рабочие в Мире! 2024, Juli
Anonim
Gjør en dum plenmaskinrobot smartere
Gjør en dum plenmaskinrobot smartere

Så jeg har en nydelig, men dum gressklipperobot (bildet er fra www.harald-nyborg.dk).

Denne roboten skal klippe plenen min, men plenen min er for stor og kompleks for at den virkelig skal komme inn i hjørnene.

Ikke vist på tegningene mine er et mangfold av trær og et svingsett og så videre og så videre. Resultatet er at roboten bruker VEI til mye tid, løper over allerede klipte åpne seksjoner og for lite tid til å klippe de harde delene.

Så jeg bestemte meg for å legge til litt ekstern intelligens.

23-04-2020 EDIT: sensoren fungerte ikke helt, så jeg endret et par ting

Rekvisita

2 utendørs 2 -veis brytere

ELLER

1 gammel usb -ruter

1 usb -relékort

1 digispark

1 usb -hub

1 vanntett elektronikkboks

23-04-2020 EDIT:

OR1 gammel usb -ruter

1 usb -relékort

1 usb2serial tll tinghy

1 usb -hub

1 vanntett elektronikkboks

1 ultralydsensor Dfrobot URM 37 v3.2 (du kan sannsynligvis bruke hvilken som helst sensor =)

kmod-usb-serial-cp210x

Trinn 1: Trinn 1: Manuel kutting av flere områder

Trinn 1: Manuel kutting av flere områder
Trinn 1: Manuel kutting av flere områder
Trinn 1: Manuel kutting av flere områder
Trinn 1: Manuel kutting av flere områder

Bildet viser hvordan jeg gikk fra ett skjæreområde til 2 områder.

Min robot starter automatisk hver 2. dag, så så lenge jeg husket å bytte den fra det ene området til det andre, fungerte dette bra.

Jeg brukte to manuelle brytere, som de du ville bruke i en gang eller trapp.

Dette fungerte, bortsett fra at de jeg brukte var av for dårlig kvalitet, og derfor fikk jeg insekter som kravlet inn i dem og ødela dem

Trinn 2: Trinn 2: Den automatiske løsningen

Trinn 2: Den automatiske løsningen
Trinn 2: Den automatiske løsningen
Trinn 2: Den automatiske løsningen
Trinn 2: Den automatiske løsningen
Trinn 2: Den automatiske løsningen
Trinn 2: Den automatiske løsningen
Trinn 2: Den automatiske løsningen
Trinn 2: Den automatiske løsningen

Så jeg bestemte meg for å gjøre noe automatisk.

Jeg har en brukt Netgear R6100 -ruter, jeg fikk denne fordi den har wifi, usb og nok minne til å eksperimentere med å eksperimentere, i stedet for å gjøre det om å stappe OpenWrt og venner videre.

Jeg har en ebays beste usb 2.0 hub og et 12v relékort.

Da hadde jeg en digispark fra et tidligere prosjekt. 23-04-2020 EDIT: brukte en usb2seriel thinghy i stedet

jeg koblet releene i stedet for bryterne. jeg brukte relé 3 og 4

Deretter installerte jeg OpenWrt og la Crelay, picocom og coreutils-stty til den.

23-04-2020 EDIT: lagt til xxk, kmod-usb-serial-cp210x også

Plugg 12V til ruteren og relékortet.

23-04-2020 EDIT: brukte en Urm 37 v3.2 i stedet for resten av denne siden

Da lærte jeg noe "morsomt". reléet vil prøve å slå på usb -huben, og dermed hindre digisparken i å starte på riktig måte. Så jeg kuttet strømledningen i usb -kabelen fra relékortet og usb -huben.

Da koblet jeg digisparken og usb -relékortet til usb 2.0 -huben, og huben til ruteren.

For å være rettferdig, programmerte jeg digisparken før jeg la den til ruteren

I digisparken la jeg til en knapp som jeg koblet mellom P1 og Gnd.

Denne knappen plasserte jeg, så roboten aktiverer den når den er i garasjen.

Jeg måtte legge en fjær til aktiveringen for å få et godt solid engasjement.

Trinn 3: Trinn 3: Programvare

Filen inneholder et arduino ide -program for digispark.

Den er plassert i root/LawnSelector.

Denne filen trenger et par digispark libs, som digiCDC og digispark -kortene som er lagt til i arduino ideen.

Deretter er det/root/GrassCtr/* filene.

Dette er filene som faktisk gjør jobben.

Kreds1 endrer reléene til area1

Kreds2 endrer reléene til area2

KredsStatus spør USB -reléet, hvilket område som er aktivt

23-04-2020 EDIT: Bruk UltraSoundSeriel i stedet for å lese digispark.

ReadDigiSpark, leser nyhetene hver tirsdag.. Vent. Leser inngangstilstanden til digisparken

GrassCtl tenker.

Her er hva det gjør.

Hvis roboten er IN i mer enn 10 timer, bestemmer den at roboten er inne for natten, og dette aktiverer en flipflop, som får den til å starte i hvert område annenhver gang. Grunnen til dette er at roboten min starter med å kutte hele kanten, og på denne måten kutter den kantene annenhver dag.

Så når roboten klipper, vil sensoren fortelle at roboten er ute.

Hver gang roboten kommer tilbake for batterilading (definert som å være inne i mer enn 20 minutter), vil området bli endret til det andre området.

vær oppmerksom på. Programvaren er et fryktelig rot, men det fungerer, så videre og oppover

Trinn 4: Trinn 4: Aktivering av programvaren

For å kjøre programvaren må vi gjøre noe.

Jeg la den til en cronJob

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

til filen

/etc/crontabs/root

Så, for å slå på cronjobs, gjorde jeg det

/etc/init.d/cron aktivere

Så godt jeg kan fortelle, vil roboten nå skifte mellom å starte klippeenhet 1 eller 2, og vil endre det som klippes hver gang den har vært i lading av batteriene.

Og ja, nå blir det alt

Anbefalt: