Com construir un robot a casa (amb imatges)

Taula de continguts:

Com construir un robot a casa (amb imatges)
Com construir un robot a casa (amb imatges)

Vídeo: Com construir un robot a casa (amb imatges)

Vídeo: Com construir un robot a casa (amb imatges)
Vídeo: Где бесплатно скачать SketchUp на русском? 2024, Maig
Anonim

Voleu aprendre a construir el vostre propi robot? Hi ha molts tipus de robots que podeu fabricar vosaltres mateixos. La majoria de la gent vol veure un robot realitzar les tasques senzilles de passar del punt A al punt B. Podeu fabricar un robot completament a partir de components analògics o comprar un kit d’inici des de zero. Construir el vostre propi robot és una manera fantàstica d’ensenyar-vos tant a l’electrònica com a la programació d’ordinadors.

Passos

Primera part de 6: Muntatge del robot

1123333 1
1123333 1

Pas 1. Reuneix els components

Per construir un robot bàsic, necessitareu diversos components simples. Podeu trobar la majoria, si no tots, d’aquests components a la vostra botiga d’aficionats a l’electrònica local o a diversos minoristes en línia. Alguns kits bàsics també poden incloure tots aquests components. Aquest robot no requereix cap soldadura:

  • Arduino Uno (o un altre microcontrolador)
  • 2 servos de rotació contínua
  • 2 rodes que s'adapten als servos
  • 1 corró rodet
  • 1 tauleta de soldadura petita sense soldar (busqueu una tauleta de pa que tingui dues línies positives i negatives a cada costat)
  • 1 sensor de distància (amb cable de connector de quatre pins)
  • 1 mini polsador
  • 1 resistència de 10kΩ
  • 1 cable USB A a B.
  • 1 conjunt de capçaleres trencades
  • 1 porta bateries 6 x AA amb presa d'alimentació de 9V CC
  • 1 paquet de cables de pont o filferro de connexió de calibre 22
  • Cinta de doble cara forta o cola calenta
1123333 2
1123333 2

Pas 2. Capgireu el paquet de bateries de manera que la part posterior plana quedi cap amunt

Construireu el cos del robot utilitzant la bateria com a base.

1123333 3
1123333 3

Pas 3. Alineeu els dos servos a l'extrem de la bateria

Aquest hauria de ser el final del fil conductor de la bateria. Els servos han d’estar correctament alineats perquè les rodes vagin rectes. Els cables dels servos haurien de sortir de la part posterior de la bateria.

1123333 4
1123333 4

Pas 4. Col·loqueu els servos amb la cinta o la cola

Assegureu-vos que estiguin ben fixats a la bateria. Les parts posteriors dels servos han d’estar alineades a l’alçada de la part posterior de la bateria.

Ara els servos haurien d’ocupar la meitat posterior de la bateria

1123333 5
1123333 5

Pas 5. Col·loqueu la taula de suport perpendicularment a l'espai obert de la bateria

Ha de penjar-se una mica a la part frontal de la bateria i s’estendrà més enllà de cada costat. Assegureu-vos que estigui ben fixat abans de continuar. La fila "A" hauria d'estar més a prop dels servos.

1123333 6
1123333 6

Pas 6. Connecteu el microcontrolador Arduino a la part superior dels servos

Si heu fixat correctament els servos, hi hauria d’haver un espai pla que es toqués. Enganxeu la placa Arduino en aquest espai pla de manera que els connectors USB i Power de l'Arduino estiguin orientats cap a la part posterior (allunyats de la placa). La part davantera de l’Arduino hauria d’estar amb prou feines superposada a la taula de treball.

1123333 7
1123333 7

Pas 7. Posar les rodes sobre els servos

Premeu fermament les rodes sobre el mecanisme giratori del servo. Això pot requerir una força important, ja que les rodes estan dissenyades per adaptar-se el més estretament possible per obtenir la millor tracció.

1123333 8
1123333 8

Pas 8. Col·loqueu la roda a la part inferior de la taula

Si capgireu el xassís, hauríeu de veure una mica de taulell que s’estén més enllà de la bateria. Col·loqueu la roda rodant a aquesta peça estesa, si és necessari, amb elevadors. El rodet actua com la roda davantera, cosa que permet al robot girar fàcilment en qualsevol direcció.

Si heu comprat un kit, és possible que el llançador vengui amb alguns elevadors que pugueu utilitzar per assegurar-vos que el llançador arriba al terra. jo

Part 2 de 6: Cablatge del robot

1123333 9
1123333 9

Pas 1. Trencar dues capçaleres de 3 pins

Els faràs servir per connectar els servos a la taula de treball. Premeu els passadors cap avall per la capçalera de manera que els passadors surtin a una distància igual per ambdós costats.

1123333 10
1123333 10

Pas 2. Introduïu les dues capçaleres als passadors 1-3 i 6-8 de la fila E de la taula de treball

Assegureu-vos que estiguin ben inserits.

1123333 11
1123333 11

Pas 3. Connecteu els servocables a les capçaleres, amb el cable negre al costat esquerre (pins 1 i 6)

Això connectarà els servos a la placa de control. Assegureu-vos que el servo esquerre està connectat a la capçalera esquerra i el servo dret a la capçalera dreta.

1123333 12
1123333 12

Pas 4. Connecteu els cables de pont vermell dels pins C2 i C7 als pins de carril vermells (positius)

Assegureu-vos que utilitzeu el carril vermell a la part posterior de la taula de tall (més a prop de la resta del xassís).

1123333 13
1123333 13

Pas 5. Connecteu els cables de pont negre dels passadors B1 i B6 als passadors de rail blau (terra)

Assegureu-vos que utilitzeu el carril blau a la part posterior de la placa. No els endolleu als passadors vermells del carril.

1123333 14
1123333 14

Pas 6. Connecteu els cables blancs dels ponts 12 i 13 de l'Arduino a A3 i A8

Això permetrà a Arduino controlar els servos i girar les rodes.

1123333 15
1123333 15

Pas 7. Connecteu el sensor a la part frontal de la placa de control

No es connecta als rails d'alimentació externs de la placa, sinó a la primera fila de passadors amb lletres (J). Assegureu-vos de situar-lo al centre exacte, amb un nombre igual de pins disponibles a cada costat.

1123333 16
1123333 16

Pas 8. Connecteu un cable de pont negre del pin I14 al primer pin de rail blau disponible a l'esquerra del sensor

Això farà que el sensor es posi a terra.

1123333 17
1123333 17

Pas 9. Connecteu un cable de pont vermell del pin I17 al primer pin de carril vermell disponible a la dreta del sensor

Això alimentarà el sensor.

1123333 18
1123333 18

Pas 10. Connecteu els cables blancs del pont del pin I15 al pin 9 de l'Arduino i de l'I16 al pin 8

Això alimentarà la informació del sensor al microcontrolador.

Part 3 de 6: Cablejat de l'alimentació

1123333 19
1123333 19

Pas 1. Gireu el robot de costat perquè pugueu veure les bateries del paquet

Orienteu-lo de manera que el cable de la bateria surti cap a l'esquerra a la part inferior.

1123333 20
1123333 20

Pas 2. Connecteu un cable vermell a la segona molla de l'esquerra a la part inferior

Assegureu-vos que la bateria està orientada correctament.

1123333 21
1123333 21

Pas 3. Connecteu un cable negre a l'última molla de la part inferior dreta

Aquests dos cables ajudaran a proporcionar el voltatge correcte a l'Arduino.

1123333 22
1123333 22

Pas 4. Connecteu els cables vermells i negres als passadors vermells i blaus de l'extrema dreta de la part posterior de la taula de treball

El cable negre s'ha d'endollar al passador de ferrocarril blau del pin 30. El cable vermell s'ha d'endollar al pas de ferrocarril vermell del pin 30.

1123333 23
1123333 23

Pas 5. Connecteu un cable negre des del pin GND de l'Arduino al rail blau posterior

Connecteu-lo al pin 28 del rail blau.

1123333 24
1123333 24

Pas 6. Connecteu un cable negre des del rail blau posterior al rail blau frontal al pin 29 de cadascun

No connecteu els rails vermells, ja que és probable que danyeu l'Arduino.

1123333 25
1123333 25

Pas 7. Connecteu un cable vermell des del carril vermell frontal del pin 30 al pin de 5 V de l'Arduino

Això proporcionarà energia a l’Arduino.

1123333 26
1123333 26

Pas 8. Introduïu l'interruptor del polsador a l'espai entre les files dels pins 24-26

Aquest interruptor us permetrà apagar el robot sense haver de desconnectar l’alimentació.

1123333 27
1123333 27

Pas 9. Connecteu un cable vermell des de H24 al carril vermell al següent pin disponible a la dreta del sensor

Això engegarà el botó.

1123333 28
1123333 28

Pas 10. Utilitzeu la resistència per connectar H26 al carril blau

Connecteu-lo al passador que hi ha al costat del fil negre que vau connectar fa uns quants passos.

1123333 29
1123333 29

Pas 11. Connecteu un cable blanc del G26 al pin 2 de l'Arduino

Això permetrà a Arduino registrar el polsador.

Part 4 de 6: Instal·lació del programari Arduino

1123333 30
1123333 30

Pas 1. Descarregueu i extraieu l'IDE Arduino

Aquest és l’entorn de desenvolupament d’Arduino i us permet programar instruccions que podeu carregar al microcontrolador Arduino. Podeu descarregar-lo gratuïtament des de arduino.cc/en/main/software. Descomprimiu el fitxer descarregat fent-hi doble clic i moveu la carpeta a una ubicació fàcil d'accés. En realitat no instal·laràs el programa. En lloc d’això, només l’heu d’executar des de la carpeta extreta fent doble clic a arduino.exe.

1123333 31
1123333 31

Pas 2. Connecteu la bateria a l'Arduino

Connecteu el connector posterior de la bateria al connector de l’Arduino per donar-li energia.

1123333 32
1123333 32

Pas 3. Connecteu l'Arduino a l'ordinador mitjançant USB

És probable que Windows no reconegui el dispositiu.

1123333 33
1123333 33

Pas 4. Premeu

⊞ Guanya + R i escriviu devmgmt.msc.

S’iniciarà el Gestor de dispositius.

1123333 34
1123333 34

Pas 5. Feu clic amb el botó dret al "Dispositiu desconegut" de la secció "Altres dispositius" i seleccioneu "Actualitza el programari del controlador"

" Si no veieu aquesta opció, feu clic a "Propietats", seleccioneu la pestanya "Controlador" i, a continuació, feu clic a "Actualitza el controlador".

1123333 35
1123333 35

Pas 6. Seleccioneu "Cerca el meu ordinador per obtenir el programari del controlador

" Això us permetrà seleccionar el controlador que venia amb l'IDE Arduino.

1123333 36
1123333 36

Pas 7. Feu clic a "Navega" i aneu a la carpeta que heu extret anteriorment

Hi trobareu una carpeta "controladors" a l'interior.

1123333 37
1123333 37

Pas 8. Seleccioneu la carpeta "controladors" i feu clic a "D'acord"

" Confirmeu que voleu continuar si se us avisa sobre programari desconegut.

Part 5 de 6: Programació del robot

1123333 38
1123333 38

Pas 1. Inicieu l'Arduino IDE fent doble clic al fitxer arduino.exe a la carpeta IDE

Us rebrà un projecte en blanc.

1123333 39
1123333 39

Pas 2. Enganxeu el codi següent per fer que el robot vagi recte

El codi següent farà que el vostre Arduino avanci contínuament.

#include // això afegeix la biblioteca "Servo" al programa // el següent crea dos servobjectes Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); // si accidentalment heu canviat els números dels pins dels servos, podeu canviar-los aquí RightMotor.attach (13); } bucle buit () {leftMotor.write (180); // amb rotació contínua, 180 indica al servo que es mogui a tota velocitat "cap endavant". rightMotor. escriure (0); // si tots dos estan a 180, el robot anirà en cercle perquè els servos es donen la volta. "0" li indica que es mogui a tota velocitat "cap enrere". }

1123333 40
1123333 40

Pas 3. Construïu i pengeu el programa

Feu clic al botó de fletxa dreta a l'extrem superior esquerre per crear i penjar el programa a l'Arduino connectat.

És possible que vulgueu aixecar el robot de la superfície, ja que només continuarà avançant un cop carregat el programa

1123333 41
1123333 41

Pas 4. Afegiu la funcionalitat kill switch

Afegiu el codi següent a la secció "void loop ()" del vostre codi per habilitar el commutador kill, a sobre de les funcions "write ()".

if (digitalRead (2) == HIGH) // això es registra quan es prem el botó al pin 2 de l'Arduino {while (1) {leftMotor.write (90); // "90" és una posició neutral per als servos, que els indica que deixin de girar a la dreta Motor.write (90); }}

1123333 42
1123333 42

Pas 5. Pengeu i proveu el vostre codi

Amb el codi kill switch afegit, podeu penjar i provar el robot. Hauria de continuar avançant fins que premeu l'interruptor, moment en què deixarà de moure's. El codi complet hauria de tenir aquest aspecte:

#include // el següent crea dos servobjectes Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Part 6 de 6: Exemple

Pas 1. Seguiu un exemple

El següent codi utilitzarà el sensor connectat al robot per fer-lo girar cap a l’esquerra sempre que trobi un obstacle. Consulteu els comentaris al codi per obtenir detalls sobre què fa cada part. El codi següent és tot el programa.

#include Servo leftMotor; Servo rightMotor; const int serialPeriod = 250; // això limita la sortida a la consola a una vegada cada 1/4 de segon sense signar molt de temps SerialDelay = 0; const int loopPeriod = 20; // estableix la freqüència amb què el sensor pren una lectura a 20 ms, que és una freqüència de 50Hz sense signar molt tempsLoopDelay = 0; // assigna les funcions TRIG i ECHO als pins de l'Arduino. Feu ajustos als números aquí si us heu connectat de manera diferent const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // defineix els dos estats possibles per al robot: conduir cap endavant o girar a l'esquerra #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = avançar (DEFAULT), 1 = girar a l'esquerra void setup () {Serial.begin (9600); // aquestes configuracions de pin del sensor pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // això assigna els motors als pins Arduino leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // detecta l'interruptor de matar {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // imprimeix missatges de depuració a la consola sèrie if (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // això indica al sensor que llegeixi i emmagatzemi les distàncies mesurades stateMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // si no es detecten obstacles {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // si no hi ha res davant del robot. ultrasonicDistance serà negativa per a alguns ultrasons si no hi ha cap obstacle {// drive forward rightMotor.write (180); leftMotor.write (0); } else // si hi ha un objecte davant nostre {state = TURN_LEFT; }} else if (state == TURN_LEFT) // si es detecta un obstacle, gireu a l'esquerra {unsigned long timeToTurnLeft = 500; // triga uns 5 segons a girar 90 graus. És possible que hàgiu d'ajustar-ho si les rodes tenen una mida diferent a l'exemple sense signar llarg turnStartTime = millis (); // estalvieu el temps que vam començar a girar mentre ((millis () - turnStartTime) <timeToTurnLeft) // romangueu en aquest bucle fins que hagi transcorregut timeToTurnLeft {// gireu a l'esquerra, recordeu que quan tots dos estiguin configurats a "180" girarà. rightMotor.write (180); leftMotor.write (180); } estat = DRIVE_FORWARD; }} void readUltrasonicSensors () {// això és per ultrasons 2. És possible que hàgiu de canviar aquestes ordres si utilitzeu un sensor diferent. digitalWrite (ultrasonic2TrigPin, HIGH); delayMicroseconds (10); // manté el pin trigonomètric elevat durant almenys 10 microsegons digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration / 2) / 29; } // el següent és per a la depuració d'errors a la consola. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Recomanat: