Taula de continguts:

Fer més intel·ligent un robot mòbil: 4 passos
Fer més intel·ligent un robot mòbil: 4 passos

Vídeo: Fer més intel·ligent un robot mòbil: 4 passos

Vídeo: Fer més intel·ligent un robot mòbil: 4 passos
Vídeo: Раскрываю секрет сочного мяса! Рецепт приготовления баранины с содой в помпейской печи 2024, Juliol
Anonim
Fer més intel·ligent un robot mudes de gespa
Fer més intel·ligent un robot mudes de gespa

Així que tinc un robot de tallagespa encantador, però estúpid (la imatge és de www.harald-nyborg.dk).

Se suposa que aquest robot em tallarà la gespa, però la meva és massa gran i complexa perquè pugui entrar realment a les cantonades.

No es mostren als meus dibuixos una multitud d'arbres i un joc de gronxadors, etc., etc. El resultat és que el robot passa WAY gaire temps, travessant seccions obertes ja segades i massa poc temps tallant les parts dures.

Així que vaig decidir afegir una mica d’intel·ligència externa.

23-04-2020 EDIT: el sensor no funcionava del tot, així que vaig canviar un parell de coses

Subministraments

2 interruptors de 2 vies exteriors

O

1 enrutador usb antic

1 targeta de relé usb

1 digispark

1 hub USB

1 caixa electrònica estanca

23-04-2020 EDITAR:

Encaminador USB vell OR1

1 targeta de relé usb

1 usb2serial tll cosa

1 hub USB

1 caixa electrònica estanca

1 sensor d'ultrasons Dfrobot URM 37 v3.2 (probablement podríeu utilitzar qualsevol sensor =)

kmod-usb-serial-cp210x

Pas 1: Pas 1: Tall de diverses àrees Manuel

Pas 1: Tall de diverses àrees Manuel
Pas 1: Tall de diverses àrees Manuel
Pas 1: Tall de diverses àrees Manuel
Pas 1: Tall de diverses àrees Manuel

La imatge mostra com vaig passar d’una àrea de tall a dues àrees.

El meu robot s’iniciarà automàticament cada 2. dies, de manera que, sempre que recordés canviar-lo d’una zona a l’altra, va funcionar bé.

He utilitzat 2 interruptors manuals, com els que faríeu servir en un passadís o una escala.

Això va funcionar, excepte els que vaig fer servir, eren massa pobres i, per tant, vaig aconseguir que hi haguessin errors que els arrossegessin i els desordenessin.

Pas 2: Pas 2: la solució automàtica

Pas 2: la solució automàtica
Pas 2: la solució automàtica
Pas 2: la solució automàtica
Pas 2: la solució automàtica
Pas 2: la solució automàtica
Pas 2: la solució automàtica
Pas 2: la solució automàtica
Pas 2: la solució automàtica

Així que vaig decidir fer alguna cosa automàtic.

Tinc un enrutador Netgear R6100 usat, el tinc perquè té wifi, usb i memòria suficient per fer experiments sobre experimentar, en lloc de fer sobre OpenWrt i els seus amics.

Tinc un millor hub USB 2.0 ebays i una targeta de relé de 12v.

Després vaig tenir un digispark d’un projecte anterior. 23-04-2020 EDIT: va utilitzar una cosa usb2seriel

Vaig connectar els relés en lloc dels interruptors. He utilitzat el relleu 3 i 4

Després he instal·lat OpenWrt i hi he afegit Crelay, picocom i coreutils-stty.

23-04-2020 EDIT: afegit xxk, kmod-usb-serial-cp210x també

Connectat 12V al router i a la placa de relés.

23-04-2020 EDIT: va utilitzar un Urm 37 v3.2 en lloc de la resta d'aquesta pàgina

Després vaig aprendre alguna cosa "divertit". el relay boad intentarà encendre el concentrador USB, impedint així que el digispark es reiniciï correctament. Així que vaig tallar el cable d'alimentació del cable USB de la targeta de relé i del concentrador USB.

Aleshores vaig connectar el digispark i la targeta de relé USB al concentrador USB 2.0 i el concentrador al router.

Per ser justos, he programat el digispark abans d’afegir-lo al router

Al digispark, he afegit un botó que he connectat entre P1 i Gnd.

Aquest botó l'he col·locat, de manera que el robot l'activarà un cop estigui carregat al garatge.

Vaig haver d'afegir una molla a l'activació per aconseguir un bon compromís sòlid.

Pas 3: Pas 3: Programari

El fitxer conté un programa ide arduino per al digispark.

Es col·loca a root / LawnSelector.

Aquest fitxer necessita un parell de llibres digispark, com digiCDC i les taules digispark afegides a l'arduino ide.

Després hi ha els fitxers / root / GrassCtr / *.

Aquests són els fitxers que realment fan la feina.

Kreds1 canvia els relés a area1

Kreds2 canvia els relés a area2

KredsStatus pregunta al relé USB, quina zona està activa

23-04-2020 EDIT: utilitzeu UltraSoundSeriel en lloc de llegir digispark.

ReadDigiSpark, llegeix les notícies tots els dimarts.. Espera. Llegeix l'estat d'entrada del digispark

GrassCtl fa el pensament.

Heus aquí el que fa.

Si el robot està IN durant més de 10 hores, decideix que el robot està a la nit i això activa un xanclet que fa que comenci a cada zona cada segona vegada. La raó d’això és que el meu robot comença tallant tota la vora i, d’aquesta manera, talla les vores cada dos dies.

Després, un cop el robot sega, el sensor li dirà que el robot està fora.

Cada vegada que el robot torna a carregar la bateria (es defineix com a estant durant més de 20 minuts), la zona es canviarà a l’altra.

si us plau tingueu en compte. El programari és un desastre terrible, però funciona, tant cap endavant com cap amunt

Pas 4: Pas 4: Activació del programari

Per executar el programari, hem de fer alguna cosa.

L’he afegit a un cronJob

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

al fitxer

/ etc / crontabs / root

Després, per activar cronjobs, ho vaig fer

habilitar /etc/init.d/cron

Com puc saber, ara el robot canviarà entre l’inici de la zona de sega 1 o 2 i canviarà el que es sega cada vegada que ha estat recarregant les bateries.

I sí, ara ho fa tot

Recomanat: