INHOUDSOPGAWE:

Maak 'n stomme grassnyer -robot slimmer: 4 stappe
Maak 'n stomme grassnyer -robot slimmer: 4 stappe

Video: Maak 'n stomme grassnyer -robot slimmer: 4 stappe

Video: Maak 'n stomme grassnyer -robot slimmer: 4 stappe
Video: Джонатан Блоу: Сознание, игровой дизайн и свобода воли 2024, Julie
Anonim
Maak 'n dom grassnyer -robot slimmer
Maak 'n dom grassnyer -robot slimmer

Ek het dus 'n lieflike, maar dom grassnyerrobot (die foto is van www.harald-nyborg.dk).

Hierdie robot is veronderstel om my grasperk te sny, maar my grasperk is te groot en ingewikkeld om regtig in die hoeke te kom.

Op my tekeninge word nie 'n menigte bome en 'n swaai -stel, ensovoorts, ensovoorts getoon nie. Die gevolg is dat die robot baie tyd spandeer om oor reeds gesnyde gedeeltes te hardloop en te min tyd om die harde dele te sny.

Daarom het ek besluit om eksterne intelligensie by te voeg.

23-04-2020 EDIT: die sensor werk nie heeltemal nie, so ek het 'n paar dinge verander

Voorrade

2 buite 2 -rigting skakelaars

OF

1 ou usb router

1 usb -afloskaart

1 digispark

1 usb -hub

1 waterdigte elektroniese boks

23-04-2020 EDIT:

OR1 ou usb -router

1 usb -afloskaart

1 usb2serial tll dinghy

1 usb -hub

1 waterdigte elektroniese boks

1 ultrasoniese sensor van Dfrobot URM 37 v3.2 (u kan waarskynlik enige sensor gebruik =)

kmod-usb-serial-cp210x

Stap 1: Stap 1: Manuel multi -gebied sny

Stap 1: Manuel multi -gebied sny
Stap 1: Manuel multi -gebied sny
Stap 1: Manuel multi -gebied sny
Stap 1: Manuel multi -gebied sny

Die prentjie wys hoe ek van een snygebied na 2 gebiede gegaan het.

My robot begin elke 2. dag outomaties, so solank ek onthou het om dit van die een gebied na die ander te verander, het dit goed gewerk.

Ek het 2 handskakelaars gebruik, soos dié wat u in 'n gang of trap sou gebruik.

Dit het gewerk, behalwe dat die wat ek gebruik het, te swak was, en daarom het ek goggas ingekruip en dit gemors

Stap 2: Stap 2: die outomatiese oplossing

Stap 2: die outomatiese oplossing
Stap 2: die outomatiese oplossing
Stap 2: die outomatiese oplossing
Stap 2: die outomatiese oplossing
Stap 2: die outomatiese oplossing
Stap 2: die outomatiese oplossing
Stap 2: die outomatiese oplossing
Stap 2: die outomatiese oplossing

Daarom het ek besluit om iets outomaties te doen.

Ek het 'n gebruikte Netgear R6100 -router, ek het hierdie een, want dit het wifi, usb en genoeg geheue om te laat eksperimenteer oor eksperimenteer, in plaas daarvan om OpenWrt en vriende daarop te prop.

Ek het 'n ebays beste usb 2.0 hub en 'n 12v relay kaart.

Toe kry ek 'n digispark van 'n vorige projek. 23-04-2020 EDIT: gebruik eerder 'n usb2seriel-ding

Ek het die relais in plaas van die skakelaars bedraad. ek het relais 3 en 4 gebruik

Toe installeer ek OpenWrt en voeg Crelay, picocom en coreutils-stty daarby.

23-04-2020 EDIT: ook xxk, kmod-usb-serial-cp210x bygevoeg

Steek 12V in die router en die relaisbord.

23-04-2020 EDIT: gebruik 'n Urm 37 v3.2 in plaas van die res van hierdie bladsy

Toe leer ek iets "lekker". die relay boad sal probeer om die usb -hub aan te skakel en sodoende die digispark verhinder om korrek te herlaai. Ek sny dus die kragdraad in die usb -kabel van die relaiskaart en die usb -hub af.

Toe steek ek die digispark en die usb -relaikaart in die usb 2.0 -hub en die hub in die router.

Om eerlik te wees, ek het die digispark geprogrammeer voordat ek dit by die router voeg

In die digispark het ek 'n knoppie bygevoeg wat ek tussen P1 en Gnd verbind het.

Hierdie knoppie het ek geplaas, sodat die robot dit sal aktiveer sodra dit in die motorhuis gelaai is.

Ek moes 'n veer by die aktivering voeg om 'n goeie vaste verbintenis te kry.

Stap 3: Stap 3: Sagteware

Die lêer bevat 'n arduino ide -program vir die digispark.

Dit word in root/LawnSelector geplaas.

Hierdie lêer benodig 'n paar digispark libs, soos digiCDC en die digisparkborde wat by die arduino -ide gevoeg is.

Dan is daar die/root/GrassCtr/* lêers.

Dit is die lêers wat eintlik die werk doen.

Kreds1 verander die aflosse na area1

Kreds2 verander die aflosse na area2

KredsStatus vra die USB -relais, watter area aktief is

23-04-2020 EDIT: Gebruik UltraSoundSeriel in plaas van digispark te lees.

LeesDigiSpark, lees die nuus elke dinsdag.. Wag. Lees die invoertoestand van die digispark

GrassCtl doen die denke.

Hier is wat dit doen.

As die robot langer as 10 uur IN is, besluit hy dat die robot die nag in is, en dit aktiveer 'n flipflop, wat elke tweede keer in elke gebied begin. Die rede hiervoor is dat my robot begin om die hele rand te sny, en op hierdie manier sny dit die rande elke tweede dag.

As die robot dan maai, sal die sensor weet dat die robot uit is.

Elke keer dat die robot terugkeer vir laai van die battery (gedefinieer as langer as 20 minute), word die gebied na die ander gebied verander.

neem asseblief kennis. Die sagteware is 'n vreeslike gemors, maar dit werk, so aan en opwaarts

Stap 4: Stap 4: Aktivering van die sagteware

Om die sagteware te laat loop, moet ons iets doen.

Ek het dit by 'n cronJob gevoeg

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

na die lêer

/etc/crontabs/root

Toe het ek die cronjobs aangeskakel

/etc/init.d/cron aktiveer

Soos ek kan weet, sal die robot nou wissel tussen die begin van die maai -area 1 of 2, en die hoeveelheid wat gesny word, verander elke keer as hy die batterye herlaai het.

En ja, nou kry dit alles

Aanbeveel: