Come costruire un robot in casa (con immagini)

Sommario:

Come costruire un robot in casa (con immagini)
Come costruire un robot in casa (con immagini)

Video: Come costruire un robot in casa (con immagini)

Video: Come costruire un robot in casa (con immagini)
Video: Sketchup - Disegnare 3D in pochi minuti 2024, Maggio
Anonim

Vuoi imparare a costruire il tuo robot? Esistono molti tipi diversi di robot che puoi realizzare da solo. La maggior parte delle persone vuole vedere un robot eseguire i semplici compiti di spostarsi dal punto A al punto B. Puoi realizzare un robot completamente con componenti analogici o acquistare uno starter kit da zero! Costruire il tuo robot è un ottimo modo per imparare sia l'elettronica che la programmazione del computer.

Passi

Parte 1 di 6: assemblaggio del robot

1123333 1
1123333 1

Passaggio 1. Raccogli i componenti

Per costruire un robot di base, avrai bisogno di diversi semplici componenti. Puoi trovare la maggior parte, se non tutti, di questi componenti nel tuo negozio di hobby di elettronica locale o in diversi rivenditori online. Alcuni kit di base possono includere anche tutti questi componenti. Questo robot non richiede alcuna saldatura:

  • Arduino Uno (o altro microcontrollore)
  • 2 servi a rotazione continua
  • 2 ruote che si adattano ai servi
  • 1 rullo girevole
  • 1 piccola breadboard senza saldatura (cerca una breadboard con due linee positive e negative su ciascun lato)
  • 1 sensore di distanza (con cavo connettore a quattro pin)
  • 1 mini interruttore a pulsante
  • 1 resistore da 10kΩ
  • 1 cavo USB da A a B
  • 1 set di intestazioni staccabili
  • 1 portabatteria da 6 x AA con jack di alimentazione da 9 V CC
  • 1 confezione di cavi per ponticelli o cavo di collegamento calibro 22
  • Nastro biadesivo resistente o colla a caldo
1123333 2
1123333 2

Passaggio 2. Capovolgere la batteria in modo che la parte posteriore piatta sia rivolta verso l'alto

Costruirai il corpo del robot usando la batteria come base.

1123333 3
1123333 3

Passaggio 3. Allineare i due servi all'estremità del pacco batteria

Questa dovrebbe essere l'estremità da cui esce il cavo del pacco batteria. I servi dovrebbero toccare il fondo ei meccanismi di rotazione di ciascuno dovrebbero essere rivolti verso i lati del pacco batteria. I servi devono essere allineati correttamente in modo che le ruote vadano dritte. I cavi per i servi dovrebbero uscire dal retro del pacco batteria.

1123333 4
1123333 4

Passaggio 4. Fissare i servi con nastro adesivo o colla

Assicurarsi che siano saldamente fissati al pacco batteria. La parte posteriore dei servi deve essere allineata a filo con la parte posteriore del pacco batteria.

I servi dovrebbero ora occupare la metà posteriore del pacco batteria

1123333 5
1123333 5

Passaggio 5. Fissare la breadboard perpendicolarmente allo spazio aperto sul pacco batteria

Dovrebbe sporgere leggermente dalla parte anteriore del pacco batteria e estendersi oltre ogni lato. Assicurarsi che sia fissato saldamente prima di procedere. La riga "A" dovrebbe essere la più vicina ai servi.

1123333 6
1123333 6

Passaggio 6. Collegare il microcontrollore Arduino alle parti superiori dei servi

Se hai collegato correttamente i servi, dovrebbe esserci uno spazio piatto creato dal loro contatto. Attacca la scheda Arduino su questo spazio piatto in modo che i connettori USB e di alimentazione di Arduino siano rivolti verso il retro (lontano dalla breadboard). La parte anteriore di Arduino dovrebbe sovrapporsi appena alla breadboard.

1123333 7
1123333 7

Passaggio 7. Metti le ruote sui servi

Premere con decisione le ruote sul meccanismo di rotazione del servo. Ciò potrebbe richiedere una quantità significativa di forza, poiché le ruote sono progettate per adattarsi il più strettamente possibile per la migliore trazione.

1123333 8
1123333 8

Passaggio 8. Attaccare la ruota alla parte inferiore della breadboard

Se capovolgi il telaio, dovresti vedere un po' di breadboard che si estende oltre il pacco batteria. Attacca la ruota a questo pezzo esteso, usando le bretelle se necessario. La ruota funge da ruota anteriore, consentendo al robot di girare facilmente in qualsiasi direzione.

Se hai acquistato un kit, il caster potrebbe essere dotato di alcuni riser che puoi utilizzare per assicurarti che il caster raggiunga il suolo. io

Parte 2 di 6: cablaggio del robot

1123333 9
1123333 9

Passaggio 1. Interrompere due intestazioni a 3 pin

Utilizzerai questi per collegare i servi alla breadboard. Spingere i perni verso il basso attraverso l'intestazione in modo che escano alla stessa distanza su entrambi i lati.

1123333 10
1123333 10

Passaggio 2. Inserire le due intestazioni nei pin 1-3 e 6-8 sulla riga E della breadboard

Assicurati che siano ben inseriti.

1123333 11
1123333 11

Passaggio 3. Collegare i cavi del servo ai connettori, con il cavo nero sul lato sinistro (pin 1 e 6)

Questo collegherà i servi alla breadboard. Assicurati che il servo sinistro sia collegato all'intestazione sinistra e il servo destro all'intestazione destra.

1123333 12
1123333 12

Passaggio 4. Collegare i fili dei ponticelli rossi dai pin C2 e C7 ai pin della guida rossi (positivi)

Assicurati di utilizzare la guida rossa sul retro della breadboard (più vicino al resto del telaio).

1123333 13
1123333 13

Passaggio 5. Collegare i cavi dei ponticelli neri dai pin B1 e B6 ai pin della guida blu (massa)

Assicurati di utilizzare la guida blu sul retro della breadboard. Non inserirli nei pin della guida rossa.

1123333 14
1123333 14

Passaggio 6. Collegare i cavi dei ponticelli bianchi dai pin 12 e 13 di Arduino ad A3 e A8

Ciò consentirà all'Arduino di controllare i servi e girare le ruote.

1123333 15
1123333 15

Passaggio 7. Collegare il sensore alla parte anteriore della breadboard

Non viene collegato ai binari di alimentazione esterni sulla breadboard, ma invece alla prima fila di pin con lettere (J). Assicurati di posizionarlo esattamente al centro, con un numero uguale di pin disponibili su ciascun lato.

1123333 16
1123333 16

Passaggio 8. Collegare un ponticello nero dal pin I14 al primo pin della guida blu disponibile a sinistra del sensore

Questo metterà a terra il sensore.

1123333 17
1123333 17

Passaggio 9. Collegare un ponticello rosso dal pin I17 al primo pin della guida rossa disponibile a destra del sensore

Questo alimenterà il sensore.

1123333 18
1123333 18

Passaggio 10. Collegare i cavi dei ponticelli bianchi dal pin I15 al pin 9 su Arduino e da I16 al pin 8

Questo alimenterà le informazioni dal sensore al microcontrollore.

Parte 3 di 6: cablaggio dell'alimentazione

1123333 19
1123333 19

Passaggio 1. Capovolgi il robot su un lato in modo da poter vedere le batterie nella confezione

Orientarlo in modo che il cavo del pacco batteria fuoriesca a sinistra in basso.

1123333 20
1123333 20

Passaggio 2. Collegare un filo rosso alla seconda molla da sinistra in basso

Assicurarsi che il pacco batteria sia orientato correttamente.

1123333 21
1123333 21

Passaggio 3. Collegare un filo nero all'ultima molla in basso a destra

Questi due cavi aiuteranno a fornire la tensione corretta all'Arduino.

1123333 22
1123333 22

Passaggio 4. Collegare i fili rosso e nero ai pin rosso e blu all'estrema destra sul retro della breadboard

Il cavo nero deve essere collegato al pin del binario blu al pin 30. Il cavo rosso deve essere collegato al pin del binario rosso al pin 30.

1123333 23
1123333 23

Passaggio 5. Collegare un filo nero dal pin GND su Arduino alla guida blu posteriore

Collegalo al pin 28 sulla guida blu.

1123333 24
1123333 24

Passaggio 6. Collegare un filo nero dalla guida blu posteriore alla guida blu anteriore al pin 29 per ciascuno

Non collegare i binari rossi, poiché probabilmente danneggerai Arduino.

1123333 25
1123333 25

Passaggio 7. Collegare un filo rosso dalla guida rossa anteriore al pin 30 al pin 5V sull'Arduino

Ciò fornirà energia all'Arduino.

1123333 26
1123333 26

Passaggio 8. Inserire l'interruttore a pulsante nello spazio tra le file sui pin 24-26

Questo interruttore ti consentirà di spegnere il robot senza dover scollegare l'alimentazione.

1123333 27
1123333 27

Passaggio 9. Collegare un filo rosso da H24 alla guida rossa nel successivo pin disponibile a destra del sensore

Questo alimenterà il pulsante.

1123333 28
1123333 28

Passaggio 10. Utilizzare il resistore per collegare H26 alla guida blu

Collegalo al pin direttamente accanto al filo nero che hai collegato pochi passaggi fa.

1123333 29
1123333 29

Passaggio 11. Collegare un filo bianco da G26 al pin 2 su Arduino

Ciò consentirà ad Arduino di registrare il pulsante.

Parte 4 di 6: installazione del software Arduino

1123333 30
1123333 30

Passaggio 1. Scarica ed estrai l'IDE di Arduino

Questo è l'ambiente di sviluppo Arduino e ti permette di programmare istruzioni che puoi poi caricare sul tuo microcontrollore Arduino. Puoi scaricarlo gratuitamente da arduino.cc/en/main/software. Decomprimi il file scaricato facendo doppio clic su di esso e sposta la cartella all'interno in una posizione di facile accesso. In realtà non installerai il programma. Invece, lo eseguirai semplicemente dalla cartella estratta facendo doppio clic su arduino.exe.

1123333 31
1123333 31

Passaggio 2. Collega la batteria ad Arduino

Collega il jack della batteria al connettore dell'Arduino per alimentarlo.

1123333 32
1123333 32

Passaggio 3. Collega Arduino al computer tramite USB

Windows probabilmente non riconoscerà il dispositivo.

1123333 33
1123333 33

Passaggio 4. Premere

Win+R e digita devmgmt.msc.

Questo avvierà Gestione dispositivi.

1123333 34
1123333 34

Passaggio 5. Fare clic con il pulsante destro del mouse su "Dispositivo sconosciuto" nella sezione "Altri dispositivi" e selezionare "Aggiorna software driver

" Se non vedi questa opzione, fai clic su "Proprietà", seleziona la scheda "Driver", quindi fai clic su "Aggiorna driver".

1123333 35
1123333 35

Passaggio 6. Selezionare "Cerca il software del driver nel mio computer

" Ciò ti consentirà di selezionare il driver fornito con l'IDE Arduino.

1123333 36
1123333 36

Passaggio 7. Fare clic su "Sfoglia", quindi accedere alla cartella che è stata estratta in precedenza

All'interno troverai una cartella "driver".

1123333 37
1123333 37

Passaggio 8. Selezionare la cartella "driver" e fare clic su "OK

" Conferma di voler procedere se vieni avvisato di software sconosciuto.

Parte 5 di 6: Programmazione del robot

1123333 38
1123333 38

Passaggio 1. Avvia l'IDE di Arduino facendo doppio clic sul file arduino.exe nella cartella IDE

Sarai accolto con un progetto vuoto.

1123333 39
1123333 39

Passaggio 2. Incolla il seguente codice per far andare dritto il tuo robot

Il codice seguente farà avanzare continuamente il tuo Arduino.

#include // questo aggiunge la libreria "Servo" al programma // quanto segue crea due oggetti servo Servo leftMotor; Servo destroMotore; void setup() { leftMotor.attach(12); // se hai accidentalmente cambiato i numeri dei pin dei tuoi servi, puoi scambiare i numeri qui rightMotor.attach(13); } void loop() { leftMotor.write(180); // con rotazione continua, 180 dice al servo di muoversi alla massima velocità "avanti". motore destro. scrivere (0); // se entrambi sono a 180, il robot andrà in cerchio perché i servi sono invertiti. "0", gli dice di muoversi "indietro" alla massima velocità. }

1123333 40
1123333 40

Passaggio 3. Crea e carica il programma

Fare clic sul pulsante freccia destra nell'angolo in alto a sinistra per creare e caricare il programma sull'Arduino connesso.

Potresti voler sollevare il robot dalla superficie, poiché continuerà ad andare avanti una volta caricato il programma

1123333 41
1123333 41

Passaggio 4. Aggiungi la funzionalità kill switch

Aggiungi il seguente codice alla sezione "void loop()" del tuo codice per abilitare il kill switch, sopra le funzioni "write()".

if(digitalRead(2) == HIGH) // questo si registra quando viene premuto il pulsante sul pin 2 di Arduino { while(1) { leftMotor.write(90); // "90" è la posizione neutra per i servi, che dice loro di smettere di girare a destraMotor.write(90); } }

1123333 42
1123333 42

Passaggio 5. Carica e prova il tuo codice

Con l'aggiunta del codice kill switch, puoi caricare e testare il robot. Dovrebbe continuare ad avanzare finché non si preme l'interruttore, a quel punto smetterà di muoversi. Il codice completo dovrebbe essere simile a questo:

#include // quanto segue crea due oggetti servo Servo leftMotor; Servo destroMotore; void setup() { leftMotor.attach(12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) { while(1) { leftMotor.write(90); rightMotor.write(90); } } motore sinistro.write(180); rightMotor.write(0); }

Parte 6 di 6: Esempio

Passaggio 1. Segui un esempio

Il codice seguente utilizzerà il sensore collegato al robot per farlo girare a sinistra ogni volta che incontra un ostacolo. Vedere i commenti nel codice per i dettagli su cosa fa ogni parte. Il codice sotto è l'intero programma.

#include Servo motore sinistro; Servo destroMotore; const int serialPeriod = 250; // questo limita l'output alla console a una volta ogni 1/4 di secondo unsigned long timeSerialDelay = 0; const int loopPeriod = 20; // imposta la frequenza con cui il sensore richiede una lettura a 20 ms, che è una frequenza di 50 Hz unsigned long timeLoopDelay = 0; // questo assegna le funzioni TRIG ed ECHO ai pin su Arduino. Apporta le modifiche ai numeri qui se ti sei connesso in modo diverso const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasuoni2Distanza; int ultrasonic2Durata; // definisce i due possibili stati del robot: marcia avanti o svolta a sinistra #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = guida in avanti (DEFAULT), 1 = gira a sinistra void setup() { Serial.begin(9600); // queste configurazioni dei pin del sensore pinMode(ultrasonic2TrigPin, OUTPUT); pinMode(ultrasonic2EchoPin, INPUT); // questo assegna i motori ai pin Arduino leftMotor.attach(12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) // rileva il kill switch { while(1) { leftMotor.write(90); rightMotor.write(90); } } debugOutput(); // questo stampa i messaggi di debug sulla console seriale if(millis() - timeLoopDelay >= loopPeriod) { readUltrasonicSensors(); // questo indica al sensore di leggere e memorizzare le distanze misurate stateMachine(); timeLoopDelay = millis(); } } void stateMachine() { if(state == DRIVE_FORWARD) // se nessun ostacolo rilevato { if(ultrasonic2Distance > 6 || ultrasonic2Distance < 0) // se non c'è niente davanti al robot. ultrasonicDistance sarà negativo per alcuni ultrasuoni se non ci sono ostacoli { // guidare in avanti rightMotor.write(180); leftMotor.write(0); } else // se c'è un oggetto davanti a noi { state = TURN_LEFT; } } else if(state == TURN_LEFT) // se viene rilevato un ostacolo, gira a sinistra { unsigned long timeToTurnLeft = 500; // ci vogliono circa 0,5 secondi per girare di 90 gradi. Potrebbe essere necessario modificarlo se le tue ruote sono di dimensioni diverse rispetto all'esempio unsigned long turnStartTime = millis(); // salva il tempo in cui abbiamo iniziato a girare while((millis()-turnStartTime) < timeToTurnLeft) // rimani in questo ciclo finché timeToTurnLeft non è trascorso { // gira a sinistra, ricorda che quando entrambi sono impostati su "180" girerà. rightMotor.write(180); leftMotor.write(180); } stato = DRIVE_FORWARD; } } void readUltrasonicSensors() { // questo è per gli ultrasuoni 2. Potrebbe essere necessario modificare questi comandi se si utilizza un sensore diverso. digitalWrite(ultrasonic2TrigPin, HIGH); ritardoMicrosecondi(10); // mantiene alto il pin di attivazione per almeno 10 microsecondi digitalWrite(ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn(ultrasonic2EchoPin, HIGH); ultrasuoni2Distanza = (ultrasonico2Durata/2)/29; } // quanto segue è per il debug degli errori nella console. void debugOutput() { if((millis() - timeSerialDelay) > serialPeriod) { Serial.print("ultrasonic2Distance: "); Serial.print(ultrasonic2Distance); Serial.print("cm"); Serial.println(); timeSerialDelay = millis(); } }

Consigliato: