Taula de continguts:

Banana / Raspberry Pi + Arduino Rover amb càmera web: 9 passos
Banana / Raspberry Pi + Arduino Rover amb càmera web: 9 passos

Vídeo: Banana / Raspberry Pi + Arduino Rover amb càmera web: 9 passos

Vídeo: Banana / Raspberry Pi + Arduino Rover amb càmera web: 9 passos
Vídeo: Beepberry! Tiny Pi-based Blackberry cyberdeck #shorts 2024, Juliol
Anonim
Banana / Raspberry Pi + Arduino Rover amb càmera web
Banana / Raspberry Pi + Arduino Rover amb càmera web

Un projecte que he fet en el meu temps lliure. És un robot de quatre rodes de tracció completa controlat a través d’una interfície web. Si teniu algun comentari o pregunta, no dubteu a posar-vos en contacte amb mi. Aquest projecte utilitza parts impreses en 3D i determinats trossos de codi creats per altres persones. Podeu trobar crèdits i fer una ullada a les peces originals al final d’Instruuble.

Comencem?

Pas 1: components que necessiteu

Components que necessiteu
Components que necessiteu
Components que necessiteu
Components que necessiteu
Components que necessiteu
Components que necessiteu

Aquí teniu la llista de components que he utilitzat amb els enllaços i les alternatives. Visc a Shenzhen, Xina i vaig comprar les peces directament a Taobao.

Alternativa de xassís de robot de 4 motors: qualsevol xassís prou gran serà útil. Aquest té 4 motors per obtenir un parell addicional. Els motors són motors grocs regulars i econòmics

L293D Arduino Motor Shield rev.1 clon Alternativa: millor blindatge del motor amb més intensitat

Clonació d'Arduino Uno Alternativa: podeu utilitzar qualsevol altra placa Arduino sense canvis significatius al codi.

Bateria de 6 V 4,5 Ah Pb Alternativa: és possible experimentar amb bateries LiPo més petites si voleu un robot més lleuger / utilitzeu només dos motors.

Alternativa Banana Pi: es pot canviar per Raspberry Pi 1/2/3 o Orange Pi sense canvis significatius de codi. Jo només feia servir Banana Pi perquè en tenia un al voltant.

Càmera web alternativa: utilitzeu càmera CSI per a Raspberry Pi / Banana Pi / Orange Pi

Muntatge panoràmic / inclinable de la càmera amb servos sg60 Alternativa: el muntatge inclinat / panoràmic de la impressió 3D, per exemple, pot utilitzar-lo.

Parts impreses en 3D Alternativa: deixeu-vos guiar per la vostra imaginació i talent de disseny en 3D. També Thingverse:)

Pas 2: connecteu els motors amb l'escut del motor L293D

Connecteu els motors amb l'escut del motor L293D
Connecteu els motors amb l'escut del motor L293D
Connecteu els motors amb l'escut del motor L293D
Connecteu els motors amb l'escut del motor L293D

Connecteu cada motor amb els terminals de cargol del blindatge del motor. Aquí teniu el diagrama de cablejat. Si només teniu dos motors i no voleu canviar el codi, aneu-los a MOTOR 1 i MOTOR 3.

NOTA: Per a aquells que utilitzen motors diferents amb una potència de corrent superior, és possible que necessiteu un altre controlador de motor. Com a alternativa, un petit truc que vaig aprendre recentment és que podeu agafar dos controladors L293D més a sobre de l’actual (és el xip central del tauler).

Pas 3: Arduino Uno, muntatge de l'escut del motor

Arduino Uno, muntatge de blindatge del motor
Arduino Uno, muntatge de blindatge del motor

Poseu Arduino Uno a la caixa i instal·leu Motor Shield a sobre. Només hi ha una manera de fer-ho, si no encaixa, estàs fent una mica de wong.

Arduino Uno Snug Case

Heus aquí el cas que he utilitzat, model creat per Esquilo.

Pas 4: connecteu l'alimentació a Banana Pi i Arduino

Connecteu l'alimentació a Banana Pi i Arduino
Connecteu l'alimentació a Banana Pi i Arduino

He utilitzat la interfície SATA per proporcionar energia a Banana Pi (6v). Si teniu la mateixa placa també podeu fer-ho, només cal que assegureu-vos que el voltatge és de 5v a 6v. És una font d’alimentació no regulada, de manera que suposo que hi ha un circuit de protecció per a l’alimentació SATA a Banana Pi M1.

ATENCIÓ: per a Raspberry Pi teniu algunes opcions: una de segura (mitjançant un connector USB per proporcionar 5v) i una altra de poc segura (amb pins GPIO). Aquí teniu l’enllaç per llegir sobre la connexió de l’alimentació als pins GPIO de Raspberry Pi. Assegureu-vos que

1) Utilitzeu una font d'alimentació regulada

2) Estableix el voltatge a 5v

No hi ha cap circuit de protecció per als pins GPIO. Si feu alguna cosa malament, hi ha moltes possibilitats de danyar l’electrònica de la placa.

Per a Arduino, només cal connectar l’alimentació als terminals de cargol d’entrada del blindatge del motor. Pot trigar fins a 12v.

Pas 5: poseu Banana Pi a la funda impresa en 3D, munteu la resta del Rover

Poseu Banana Pi a la funda impresa en 3D, munteu la resta del Rover
Poseu Banana Pi a la funda impresa en 3D, munteu la resta del Rover
Poseu Banana Pi a la funda impresa en 3D, munteu la resta del Rover
Poseu Banana Pi a la funda impresa en 3D, munteu la resta del Rover

He utilitzat aquest cas per a Banana Pi de thingverse, creat per GermanRobotics. La portada la vaig fer jo mateixa.

Poseu Banana Pi a la funda, tapeu-la amb la tapa i utilitzeu una pistola de cola per fixar Arduino Uno a la part superior de la funda Banana Pi.

Tapeu la bateria amb aquesta tapa i poseu el suport inclinat / inclinat de la càmera web a la part superior.

Si utilitzeu Banana Pi, necessitareu un concentrador USB, ja que només té dues ranures USB (Raspberry 2, 3 en té quatre). Per qüestions estètiques, vaig decidir utilitzar un concentrador USB OTG 1-2 i amagar els cables dins de la funda Banana Pi.

Pas 6: Fet el muntatge de maquinari

Fet el muntatge de maquinari
Fet el muntatge de maquinari

Resumim ràpidament el que hem fet fins ara.

Hem muntat la plataforma del robot, hem connectat l’energia a Banana Pi, Arduino Uno, hem connectat motors i servos al controlador del motor i hem utilitzat un concentrador USB per connectar la càmera USB i Arduino Uno al Banana Pi. Ara podeu provar i solucionar problemes del maquinari. El diagrama de cablejat que mostra totes les connexions es mostra a la imatge d’aquest pas.

Pas 7: Configuració del sistema

Configuració del sistema
Configuració del sistema

He utilitzat la imatge de Raspbian Lite per al sistema al meu pi. La versió Lite no té GUI i inclou només paquets bàsics per instal·lats. Però requereix molt menys espai, cosa que significa que podem utilitzar una targeta SD més petita. Si no us sentiu còmode sense GUI, també podeu instal·lar la imatge completa.

Connecteu el vostre pi a Internet amb el cable Ethernet. Després de l'arrencada, el primer pas seria connectar-lo a Wi-Fi.

Executeu l'ordre següent al terminal

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Editeu el fitxer de configuració amb les vostres credencials de WiFi

network = {ssid = "testing" psk = "testingPassword"}

Reinicieu el pi. Voila! Ara esteu connectat a la Wi-Fi.

A continuació, haurem d'instal·lar pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Ara fem servir pip per instal·lar Flask per executar un servidor web i pyserial per pi per comunicar-nos amb Arduino mitjançant connexió serial.

matràs d'instal·lació sudo pip

sudo pip instal·lar pyserial

L'últim serà instal·lar i configurar el paquet de moviment, que fem servir per transmetre vídeo des de la nostra càmera web.

Seguiu aquest fantàstic instructiu per fer-ho.

Ara estem preparats per a rebombori!

Pas 8: Inici del programari

Inici del programari
Inici del programari
Inici del programari
Inici del programari

Recordeu com he dit que estem preparats per a bramar?

D’acord, una mica més de mòlta i llavors podrem començar a remugar:)

Baixem tots els fitxers necessaris del meu repositori de github.

git clone

Pengeu rover.ino a Arduino Uno. Si heu fet canvis de maquinari (per exemple, mitjançant un escut de motor diferent), heu de canviar l'esbós.

Si feu servir una càmera web, modifiqueu la línia a la part inferior del fitxer index.html de la carpeta de plantilles. Canvieu l'URL de la línia IFRAME perquè coincideixi amb l'URL src del vostre flux de vídeo.

Ara podeu iniciar el servidor web. Executeu l'ordre següent

sudo python pi_rover.py

Si heu seguit la meva versió molt a prop i teniu Arduino connectat, veureu el següent (primera imatge) al terminal.

Escriviu l'adreça IP del vostre robot al navegador web (per exemple, en el meu cas, era 192.168.1.104), podeu comprovar l'adreça IP amb l'ordre $ ifconfig a Linux.

/ fes el ball de celebració aquí! /

Si teniu alguna pregunta, no dubteu a preguntar-me als comentaris. Aquest tutorial està dirigit a nivells per a principiants, però no per a principiants zero, per això he estat molt breu sobre les coses que només es poden cercar a Google (per exemple, gravar la imatge del sistema a la targeta SD, penjar esbossos Arduino, etc.).

Pas 9: Crèdits

La idea i el codi del servidor web provenen d’aquest fantàstic instructiu de jscottb. El vaig modificar per utilitzar maquinari més comú, com Arduino Uno.

Les parts impreses en 3D de Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Recomanat: