Kazalo:

Kako narediti neumnega robota za premikanje trate pametnejšega: 4 koraki
Kako narediti neumnega robota za premikanje trate pametnejšega: 4 koraki

Video: Kako narediti neumnega robota za premikanje trate pametnejšega: 4 koraki

Video: Kako narediti neumnega robota za premikanje trate pametnejšega: 4 koraki
Video: Дэниел Шмахтенбергер: Уничтожат ли нас технологии? 2024, November
Anonim
Kako narediti neumnega robota za premikanje trate pametnejšega
Kako narediti neumnega robota za premikanje trate pametnejšega

Torej imam čudovitega, a neumnega robota za kosilnico (slika je iz www.harald-nyborg.dk).

Ta robot naj bi mi pokosil trato, vendar je moja trata prevelika in zapletena, da bi lahko res zašla v ovinke.

Na mojih risbah ni prikazano množica dreves in garnitura gugalnic in tako naprej in tako naprej. Rezultat je, da robot porabi veliko časa, teče po že pokošenih odprtih odsekih in premalo časa za košnjo trdih delov.

Zato sem se odločil dodati nekaj zunanje inteligence.

23-04-2020 EDIT: senzor ni dobro deloval, zato sem spremenil nekaj stvari

Zaloge

2 zunanja dvosmerna stikala

ALI

1 star usb usmerjevalnik

1 USB relejna kartica

1 digispark

1 usb zvezdišče

1 vodotesna škatla za elektroniko

23. 4. 2020 UREDI:

OR1 stari usb usmerjevalnik

1 USB relejna kartica

1 usb2serial tll thinghy

1 usb zvezdišče

1 vodotesna škatla za elektroniko

1 ultrazvočni senzor Dfrobot URM 37 v3.2 (verjetno bi lahko uporabili kateri koli senzor =)

kmod-usb-serial-cp210x

Korak 1: Korak 1: Manuel Multi Area Rezanje

1. korak: Manuel Multi Area Rezanje
1. korak: Manuel Multi Area Rezanje
Korak: Manuel Multi Area Rezanje
Korak: Manuel Multi Area Rezanje

Na sliki je prikazano, kako sem šel z enega območja rezanja na 2 področja.

Moj robot se bo samodejno zagnal vsak 2. dan, tako da, dokler sem se spomnil, da ga zamenjam z enega področja na drugo, je to delovalo dobro.

Uporabil sem 2 ročna stikala, podobna tistim, ki bi jih uporabljali v hodniku ali na stopnišču.

To je delovalo, razen tistih, ki sem jih uporabil, so bili prenizke kakovosti, zato so se vanje prikradli hrošči in jih pokvarili

2. korak: 2. korak: samodejna rešitev

Korak: Samodejna rešitev
Korak: Samodejna rešitev
Korak: Samodejna rešitev
Korak: Samodejna rešitev
Korak: Samodejna rešitev
Korak: Samodejna rešitev
Korak: Samodejna rešitev
Korak: Samodejna rešitev

Zato sem se odločil, da naredim nekaj samodejno.

Dobil sem rabljen usmerjevalnik Netgear R6100, tega sem dobil, ker ima wifi, USB in dovolj pomnilnika za eksperimentiranje z eksperimentiranjem, namesto da bi nanj nabiral OpenWrt in prijatelje.

Imam ebays best usb 2.0 hub in 12v rele kartico.

Potem sem imel digispark iz prejšnjega projekta. 23-04-2020 EDIT: namesto tega sem uporabil usb2seriel stvar

namesto stikal sem ožičil releje. Uporabil sem rele 3 in 4

Nato sem namestil OpenWrt in mu dodal Crelay, picocom in coreutils-stty.

23-04-2020 EDIT: dodan tudi xxk, kmod-usb-serial-cp210x

Priključite 12V v usmerjevalnik in relejsko ploščo.

23-04-2020 EDIT: namesto preostale strani je uporabljen Urm 37 v3.2

Potem sem se naučil nekaj "zabavnega". rele boad bo poskušal vklopiti zvezdišče USB, s čimer bo preprečil pravilno ponovni zagon digisparka. Tako sem prekinil napajalni kabel v USB kablu iz relejne kartice in USB zvezdišča.

Nato sem priključil digispark in usb rele kartico v vozlišče usb 2.0, pesto pa v usmerjevalnik.

No, če sem pošten, sem pred dodajanjem usmerjevalniku programiral digispark

V digisparku sem dodal gumb, ki sem ga povezal med P1 in Gnd.

Ta gumb sem postavil, zato ga bo robot aktiviral, ko bo polnil v garaži.

aktivaciji sem moral dodati pomlad, da sem dobil dobro solidno zaroko.

3. korak: 3. korak: programska oprema

Datoteka vsebuje program arduino ide za digispark.

Postavljen je v root/LawnSelector.

Ta datoteka potrebuje nekaj digisparkovih knjižnic, na primer digiCDC in plošče digisparka, dodane v arduino ide.

Nato so datoteke/root/GrassCtr/*.

To so datoteke, ki dejansko opravljajo svoje delo.

Kreds1 spremeni releje v območje1

Kreds2 spremeni rele v območje2

KredsStatus vpraša rele USB, katero območje je aktivno

23-04-2020 EDIT: Namesto branja digispark uporabite UltraSoundSeriel.

ReadDigiSpark, bere novice vsak torek … Počakaj. Prebere vhodno stanje digisparka

GrassCtl razmišlja.

Evo, kaj počne.

Če je robot v pripravljenosti več kot 10 ur, se odloči, da je robot noč, in to aktivira flipflop, zaradi česar se vsakič znova zažene na vsakem območju. Razlog za to je, da moj robot začne z rezanjem celotnega roba in na ta način reže robove vsak drugi dan.

Ko bo robot kosil, bo senzor povedal, da je robot zunaj.

Vsakič, ko se robot vrne, da polni baterijo (definirano kot, da je v njej več kot 20 minut), se območje spremeni v drugo območje.

Prosimo, upoštevajte. Programska oprema je hudo nered, vendar deluje tako naprej in navzgor

4. korak: 4. korak: Aktiviranje programske opreme

Za zagon programske opreme moramo nekaj narediti.

Dodal sem ga v cronJob

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

v datoteko

/etc/crontabs/root

Potem, da bi vklopil cronjobs sem

/etc/init.d/cron enable

Kolikor lahko razumem, se bo robot zdaj preusmeril med zagonsko območje košnje 1 ali 2 in spremenil bo košnjo vsakič, ko je polnil baterije.

In ja, zdaj se dobi vse

Priporočena: