Taula de continguts:
- Pas 1: peces i eines que necessitareu
- Pas 2: Comencem a construir: muntar les potes
- Pas 3: construcció: fixa les cames al cos
- Pas 4: Construcció: fixa els peus
- Pas 5: Cablejat - Servos i alimentació
- Pas 6: Programació: codi de calibració de la llar
- Pas 7: Programació - Mou el codi del generador
- Pas 8: Cablatge: sensor de sonar HC-SR04 (ulls)
- Pas 9: programació: codi Walk_Avoid_Turn
- Pas 10: resum
Vídeo: ICBob: un robot bíped inspirat en Bob: 10 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Som el Teen Imagineering Club de la biblioteca pública Bridgeville Delaware. Fem projectes interessants mentre aprenem sobre electrònica, codificació d’ordinadors, disseny 3D i impressió 3D.
Aquest projecte és la nostra adaptació de BoB the BiPed, un robot basat en Arduino. Hem redissenyat el cos per aprofitar la nostra font d’alimentació Arduino preferida, el banc d’alimentació del telèfon Powerbot. Aquesta font d’alimentació de 5 volts recarregable i econòmica és ideal per alimentar els nostres projectes Arduino i es recarrega amb qualsevol carregador de paret USB. També hem adaptat els peus de 3 dits del robot bípede Arduped només perquè semblen impressionants. Us mostrarem on obtenir les peces que necessiteu, com muntar el robot i fins i tot us oferirem un codi Arduino fàcil per fer-lo caminar. Ens ho vam passar molt bé fent els nostres onze robots ICBob. Seguiu llegint si voleu aprendre a fer-ne un.
Pas 1: peces i eines que necessitareu
ICBob està dissenyat per al següent conjunt de peces. Tot i que són possibles les substitucions, és possible que hagueu de modificar el cos perquè funcioni. El nostre proveïdor preferit és Yourduino.com, però per a alguns articles haureu d’anar a Amazon o Ebay.
Actualització de la disponibilitat del producte: Yourduino ja no porta el Micro Magician i diu que Dagu els suspèn. El lloc web de Dagu encara els té disponibles https://www.dagurobot.com/goods.php?id=137 i, si no estan disponibles, el controlador S4A EDU és una substitució baixa i funciona a 5 volts.
Parts
- 1x- Controlador MICRO Magician
- 4x- Servo SG 90
- 1x- HC-SR04 Sensor d'ultrasons
- 1x- Banc de potència Powerbot 2600mAh (el Powerbot de 3000mAh té un diàmetre més gran i no s’adapta)
- 1x- Pissarra MICRO USB a DIP de 5 pins femella
- 1x- 20cm extrems femenins de cable pla de 40 pines
- 1x- 10k resistència
- 4x- 2-56 x 3/8 cargols autorroscants (cola calenta alternativa)
Impressions 3D: els fitxers stl estan disponibles a Thingiverse: 1313344
- 1x- cos
- 1x- closca
- 2x- genoll
- 1x- peu esquerre
- 1x- peu dret
Eines
- equip amb IDE Arduino
- Afegeix Arduino a la biblioteca VarSpeedServo
- MICRO Magician Driver (necessari per a alguns sistemes operatius)
- Impressora 3D (o fer les peces fabricades)
- Eines de neteja de peces 3D
- Kit de soldadura (només per als pins de l'adaptador USB)
- Pistola de cola calenta
- Petit tornavís Philips
- carregador USB
Aquesta instrucció suposa que teniu un coneixement bàsic sobre l’ús d’Arduino. Si no coneixeu Arduino, podeu obtenir més informació a
Per al MICRO Magician, trieu Board - Arduino Pro o Pro Mini (3,3 V, 8 MHz) amb ATmega328
Necessitareu la biblioteca VarSpeedServo de Korman per utilitzar els nostres esbossos. Podeu obtenir més informació sobre la seva biblioteca aquí, però utilitzeu la nostra baixada que és compatible amb l'IDE més recent. Baixeu-vos el fitxer VarSpeedServo.zip a continuació i descomprimiu-lo a la carpeta arduino / libraries.
Pot ser que hagueu d’instal·lar el controlador MICRO Magician CP210x si el vostre sistema no reconeix el controlador. Aquest lloc pot ajudar-vos a instal·lar el controlador
Pas 2: Comencem a construir: muntar les potes
Per a aquest pas necessitareu 2 - genolls impresos en 3D i 4 paquets servo.
Comenceu per netejar els genolls. Els 2 forats de la banya del servo han d’adaptar-se a les bocines del servo d’una sola cara. Els hem netejat amb una broca de la mida de la lletra L. (.290). Un forat de pivot ha d’adaptar-se al pivot. Els hem netejat amb una broca de mida 2 (.220).
Introduïu les 4 banyes servo als genolls. Col·loqueu la banya utilitzant un dels cargols més grans que venien amb el paquet de servocompressors. Feu passar el cargol des del costat del genoll i estrenyiu-lo en un dels petits forats de la banya del servo. Per al cargol únic, haureu de prémer amb el tornavís en un angle, però és factible. Si voleu, podeu retallar els punts de cargol que sobresurten amb unes tenalles laterals.
Els 4 servoeixos s'han de centrar abans de fixar-los als genolls. Podeu fer-ho manualment movent suaument l'eix mitjançant la seva rotació per trobar el punt a mig camí. Una manera millor és connectar un servo al pin 12. Baixeu el fitxer icbob_servo_center.zip a continuació. Descomprimiu-lo al directori Arduino. A continuació, executeu aquest esbós Arduino per a cada servo.
Comenceu muntant els servos del maluc (superiors) als genolls. Sense moure l’eix, fixeu el servo de maluc paral·lel al genoll amb els cables cap a l’altre servocorn (frontal). Assegureu-lo amb un cargol petit del paquet de servo. Repetiu per a un altre genoll.
Ara per als servos del turmell. RECORDA que tindràs turmells drets i esquerres, de manera que les cames seran imatges reflectides les unes de les altres. Haureu d'estendre lleugerament el genoll per muntar el servo del turmell, de manera que orienteu el servo com a la foto abans de prémer-lo. Recordeu que no gireu l'eix. Assegureu-lo amb un cargol petit. Repetiu-ho amb un altre genoll per acabar amb la cama dreta i esquerra.
Pas 3: construcció: fixa les cames al cos
Necessiteu els dos conjunts de potes i la base impresa en 3D per a aquest pas. També necessitareu (4) cargols autofiletants de 2-56x3 / 8 o cola calenta.
El conjunt de la cama s’uneix a la base mitjançant els servos de maluc. Primer enruteu els 2 servocables cap amunt per la part inferior de la base. Tingueu en compte els drets i les esquerres. Com es mostra al dibuix, el fil del turmell acaba al tall de mitja lluna, però heu de tenir el fil del turmell abans que el servo estigui fixat. Heu d’inclinar el servo de manera que el fil del maluc (on entra al servo) passi primer pel forat rectangular (cap a la part frontal). Està ajustat, però l'extrem posterior només hauria de lliscar-se. Ara gireu la base i fixeu el servo amb 2 cargols o bé hauria de funcionar una cola calenta. Repetiu el procés per a l’altra cama.
Pas 4: Construcció: fixa els peus
Per a aquest pas, necessitareu un peu esquerre i un peu dret per afegir al muntatge. Estan enganxats en calent, així que feu disparar la pistola de cola.
Assegureu-vos de netejar bé les ranures dels peus. Feu una prova suau per ajustar el servo al peu després de netejar-lo. Assegureu-vos que el forat de pivot del genoll s’adapti al passador de pivot del peu. El millor és utilitzar un tornavís prim entre el servo i el peu per aixecar el peu si està estret. Després d’obtenir un bon ajust de prova, col·loqueu un globus de cola calenta de deu centímetres al peu i premeu el servo al peu. Eviteu obtenir cola a prop de la zona de pivot. Repetiu l’operació per l’altre costat de manera que el bot pugui mantenir-se dret.
Pas 5: Cablejat - Servos i alimentació
En aquest pas necessitareu el controlador MICRO Magician, la placa adaptadora micro USB amb pins de capçalera, el cable pla i el bot de peu. Estareu soldant i encolant en calent en aquest pas, així que tingueu a punt aquestes eines.
El banc d’alimentació Powerbot inclou un cable curt d’USB a micro USB. Per carregar la bateria, el micro USB es connecta a la ranura de càrrega de la bateria i l'USB va al carregador de paret. Tornareu a utilitzar aquest cable per alimentar l'ICBob. La sortida de la bateria es fa a través de l’USB, de manera que ens connectem a través de la placa adaptadora micro USB per aconseguir alimentació del bot.
Primer deixem muntar l'adaptador. Consulteu la foto per veure els passos següents. Només utilitzarà els 2 pins externs (gnd i V +) per alimentar el bot. Feu lliscar amb compte els 2 passadors exteriors de la capçalera de manera que el costat curt sobresurt aproximadament de 3/16 polzades. Amb les tenalles doblegueu els dos passadors llargs 60 graus més o menys. Dobleu-vos abans de soldar, ja que els taulers són fràgils. Inseriu la capçalera tal com es mostra i soldeu tots els pins a la part posterior per obtenir més força. Retalleu tots els passadors no utilitzats el més curts possibles tant a la part davantera com a la posterior. Abans d’enganxar l’adaptador al canó, fixeu el cable micro USB de manera que quedeu prou lliure. Poseu un gran globus de cola calenta a la part posterior de l'adaptador i, a continuació, col·loqueu-lo a la posició que es mostra al canó. Mantingueu-ho fins que s’endureixi.
A continuació, fixeu els 4 connectors servo al controlador. Ens agrada el MICRO Magician perquè té connectors de 3 pins integrats per facilitar el cablejat del servo. El filferro de color més fosc (marró?) Va cap a la vora del tauler. Els esbossos Arduino inclosos utilitzen els pins següents.
- Maluc dret (DR): pin 9
- Turmell dret (RA): pin 10
- Maluc esquerre (LH): pin 11
- Turmell esquerre (LA): pin 12
Per a la connexió d'alimentació a la placa, traieu un parell de cables del cable pla. Utilitzarà més d’aquest cable pla per al cablejat del sonar. Connecteu un extrem del parell a l'adaptador micro USB. El passador que està més a prop de la part frontal del bot està mòlt i l'altre V +. L'altre extrem es fixa al controlador a prop de l'interruptor. El cable V + es connecta al pin etiquetat com a "Battery IN" de la documentació. Connecteu el cable de terra al pin "gnd" una mica per sobre del pin "Battery IN".
IMPORTANT! - Hi ha un pont "V + select" just a sobre del conjunt de pins D1. Aquest pont ha d'estar al conjunt de pins de l'interior o els servos no funcionaran.
Finalment, netegeu la ranura del controlador de la base perquè el controlador s’ajusti bé. Podeu connectar la bateria i encendre el controlador per assegurar-vos que s’encengui.
Pas 6: Programació: codi de calibració de la llar
Unes paraules sobre les nostres opcions de programació
Quan vam construir el prototipus d’aquest projecte, vam utilitzar el tutorial Com ensenyar al vostre BoB Biped a moure’s a Tutorial a Let's Make Robots. El programari Bob Poser era genial i ens divertíem jugant amb ell. El problema era que més de 600 línies de codi a l’esbós de Navigation estaven molt per sobre del nivell de coneixement dels adolescents. Per fer d’aquest projecte una experiència d’aprenentatge més, vam decidir recollir algunes idees del codi Poser i començar de nou amb una pàgina en blanc. Els adolescents ja havien utilitzat la biblioteca VarSpeedServo mentre aprenien sobre servos als nostres laboratoris Arduino. Vam decidir si VarSpeedServo podia manejar els deures de temps i velocitat dels servos per poder concentrar-nos en les posicions. El codi resultant funciona molt bé i l’esbós complet walk_avoid_turn té menys de 100 línies de codi. Els únics conceptes nous que els adolescents necessitaven per aprendre eren matrius bidimensionals i com accedir a aquestes dades amb codi. Gaudeix-ne!
Calibració de la llar
Heu centrat els servoeixos quan els heu muntat. Ara veureu fins a quin punt us heu apropat i afineu les seves posicions d’origen. Assegureu-vos que teniu instal·lada la biblioteca VarSpeedServo del pas 1. Baixeu-vos el fitxer icbob_home_calibration.zip a continuació i descomprimiu-lo al directori Arduino. Obriu l'esbós a l'IDE Arduino. Enceneu el MICRO Magician amb la bateria. Connecteu l’ordinador al tauler i pengeu el codi. El més probable és que les posicions del servo a casa no siguin perfectes. Cerqueu la secció següent al codi. Continueu ajustant i carregant fins que encerteu.
//…………………………………………………….
// Comenceu amb els memmbers de matriu de 4 hm establerts a 90 graus. a continuació, ajusteu // aquest paràmetre perquè els genolls siguin rectes cap endavant i els peus siguin plans int hm [4] = {90, 90, 90, 90}; // matriu per mantenir la posició inicial de cada servo RH, RA, LH, LA // …………………………………………………….
Si algun dels vostres números és inferior a 50 o superior a 130, haureu de recular i desmuntar les potes i apropar els eixos al centre.
Un cop tingueu una bona posició inicial, escriviu els números. Necessitareu aquests números per a la resta d’esbossos.
Pas 7: Programació - Mou el codi del generador
Ara, per fer moure el bot. Baixeu-vos el fitxer icbob_move_generator.zip a continuació i descomprimiu-lo al directori Arduino. Obriu l'esbós a l'IDE Arduino. Cerqueu la següent secció de codi. Poseu a l'esbós les posicions inicials que vau gravar per al bot.
// configureu els membres de la matriu hm a les posicions inicials del vostre robot
// es poden trobar utilitzant l'esbós icbob_home_calibration const int hm [4] = {95, 95, 85, 90}; // matriu per mantenir la posició inicial de cada servo RH, RA, LH, LA
La secció següent de codi és on s’introdueixen les seqüències de moviment. Cada línia té posicions per als 4 servos (RH, RA, LH, LA) en relació amb la posició inicial.
// dades de matriu mv. Cada línia és un "marc" o una posició establerta per als 4 servos
// Múltiples línies creen un grup de moviments que es poden crear en bucle per // crear caminar, girar, ballar o altres moviments const int mvct = 6; // Feu que aquest número sigui igual al nombre de línies de la matriu const int mv [mvct] [4] = {{0, -40, 0, -20}, // Aquests números precarregats haurien de donar un pas endavant {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};
Aquest és el codi que converteix les dades de la matriu mv en servomotors lents
void loop () // bucle es repeteix per sempre
{// Mou la seqüència per (int x = 0; x <mvct; x ++) {// recórrer el nombre de RH.slowmove (hm [0] + mv [x] [0], svsp); // línies 'frames' a la matriu RA.slowmove (hm [1] + mv [x] [1], svsp); LH.slowmove (hm [2] + mv [x] [2], svsp); LA.slowmove (hm [3] + mv [x] [3], svsp); endarreriment (framedelay); }}
Pengeu al bot. El bot anirà a la posició inicial durant 2 segons i després iniciarà un bucle cap endavant. Funciona millor si la taula no és massa relliscosa.
Un cop us canseu de veure’l caminar podeu provar els vostres propis moviments. Utilitzeu "desa com" per canviar el nom de l'esbós. A continuació, jugueu amb els números i vegeu què podeu fer. Mantingueu els números entre +50 i -50 o pot ser que torneu els servos. Recordeu que si afegiu o resteu línies, heu de canviar el valor mvct per reflectir el canvi. Diverteix-te!
Pas 8: Cablatge: sensor de sonar HC-SR04 (ulls)
Per a aquest pas necessitareu la impressió 3D icbob_shell, el sensor ultrasònic HC-SR04, el cable pla femella i una resistència de 10k ohm. Això hauria d'acabar les parts de la nostra llista. Sí!
Primer netegeu els forats del sensor a la carcassa per obtenir un ajust mitjà. No exerceixi massa pressió sobre el sensor quan s’ajusti la prova. Traieu-lo de la carcassa per cablejar-lo.
A continuació, traieu 4 fils del cable pla. Connecteu els 4 cables als pins del sensor HC-SR04.
El MICRO Magician funciona internament a 3,3 volts i els pins només poden prendre un senyal de 3,3 volts. El problema és que l’HC-SR04 funciona a 5 volts. Pot utilitzar una entrada de 3,3 volts com a senyal de "disparador", però quan envia un senyal de "ressò" és de 5 volts i perjudicarà l'entrada del controlador si es connecta directament. Hem de posar una resistència de limitació de corrent de 10 k ohms al cable “eco” per protegir l’entrada.
ACTUALITZACIÓ: tot i que no hem tingut cap problema amb només la resistència en línia de 10K, es va assenyalar en els comentaris que la millor pràctica indica que s’hauria d’utilitzar aquí un circuit divisor de tensió. A més de la resistència de 10K, s’ha de col·locar una resistència de 15K entre «eco» i «terra».
Tallar els conductors de la resistència a 0,5 polzades. La resistència entra al cable "eco" del cable pla. Posem una gota de súper cola a la connexió per ajudar-la a mantenir-se.
L'esbós utilitza el pin 13 per al disparador i el pin 3 per al ressò. Utilitzeu el grup de pins 13 del controlador per a 'gnd', 'vcc', 'trig' en aquest ordre treballant des de la vora cap al centre. Haureu de creuar alguns cables aquí per fer-ho bé. El cable "eco" amb la resistència es connecta a la presa femella del pin 3.
Si voleu provar el sensor abans de passar al següent pas, podeu utilitzar el primer esbós d’aquesta pàgina https://arduino-info.wikispaces.com/UltraSonicDistance per provar-lo. Necessitareu la bateria connectada. Podeu veure la lectura de distància al monitor sèrie. Assegureu-vos que definiu "trigger_pin" a 13 i "echo_pin" a 3 a l'esbós.
La millor manera d’instal·lar el sensor a la carcassa és amb els passadors apuntant cap a la part superior i els cables plegats i encaminats entre els “ulls” del sensor i la carcassa.
Pas 9: programació: codi Walk_Avoid_Turn
Unint-ho tot. Totes les peces estan muntades. Ja estem preparats per carregar el codi complet, posar-nos l’intèrpret d’ordres i veure’l fer el que fa.
Coneixeu la rutina. Baixeu-vos el fitxer icbob_walk_avoid_turn.zip a continuació i descomprimiu-lo al directori Arduino. Obriu l'esbós a l'IDE Arduino. Cerqueu la següent secció de codi. Poseu a l'esbós les posicions inicials que vau enregistrar per al vostre bot.
// configureu els membres de la matriu hm a les posicions inicials del vostre robot
// es poden trobar utilitzant l'esbós icbob_home_calibration const int hm [4] = {95, 95, 85, 90}; // matriu per mantenir la posició inicial de cada servo RH, RA, LH, LA
Aquest esbós afegeix una segona matriu de moviments i un segon conjunt de codi de moviment lent per al moviment "gir".
// reenvia dades de matriu
const int fwdmvct = 6; // Feu que aquest número sigui igual al nombre de línies de la matriu const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // marcs avançats de desplaçament {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},}; // turn array data const int trnmvct = 5; // Feu que aquest número sigui igual al nombre de línies de la matriu const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // gireu els marcs de moviment {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};
Hem afegit un codi de detecció d’obstacles de sonar, així com una declaració “if” “else” per decidir si anem rectes o girem.
Muntatge final i posada en marxa
Deixeu la bateria desconnectada i pengeu l’esbós. Desconnecteu el cable de programació. Assegureu-vos que l’interruptor d’alimentació del controlador estigui a la posició “encès”. Feu lliscar amb cura la carcassa cap a la base amb el cable d’alimentació USB que s’enganxa pel forat superior. Introduïu la bateria. Connecteu-lo. El vostre ICBob hauria de començar a moure’s i girar-se per evitar obstacles a menys de 7 polzades.
Pas 10: resum
Esperem que us diverteixiu tant construint el vostre ICBob com nosaltres construint el nostre. Feu-nos-ho saber si teniu cap pregunta o comentari. Si en creeu un, feu-nos-ho saber aquí o més a Thingiverse.
Recomanat:
Distribuïdor de sabó inspirat en mans lliures inspirat en COVID-19: 3 passos
Distribuïdor de sabó inspirat en mans lliures inspirat en COVID-19: Introducció: Amb el tancament de l’Indian Lockdown 4.0 a punt d’acabar en poques setmanes i amb la reobertura gradual d’oficines i establiments, vaig decidir que faré servir l’últim dels UNO d’arduino que havia de provar fent un dispensador de sabó mans lliures. Què
El temporitzador "Fes més", inspirat en Casey Neistat: 4 passos (amb imatges)
El temporitzador "Fes més", inspirat en Casey Neistat: l'estiu, la bella temporada en què passen coses. Però, de vegades, tendim a oblidar el temps. Així que per recordar-nos el temps que queda, vaig dissenyar el temporitzador arduino DIY "Do More" de Casey Neistat que es pot programar per mostrar el temps que queda de qualsevol parell
Arduino: LED giratori en moviment: element per portar (inspirat per Chronal Accelerator Tracer Overwatch): 7 passos (amb imatges)
Arduino: rotació de led en moviment: element que es pot portar (inspirat per Chronal Accelerator Tracer Overwatch): aquest instructiu us ajudarà a connectar un acceleròmetre i un anell Led de Neopixel. Proporcionaré el codi per llegir l'acceleròmetre i obtenir aquest efecte amb el vostre neopixel Animació: per a aquest projecte he utilitzat l’anell Neopixel Adafruit de 24 bits i el MP
Ponent inspirat en Piet Mondrian: 6 passos (amb imatges)
Altaveu inspirat en Piet Mondrian: per a aquest projecte, estic fabricant un altaveu Bluetooth portàtil amb les mides 10cm per 10cm. Estic fabricant aquest altaveu amb diferents colors d’acrílic de 3 mm. El cub tindrà dos altaveus, tindrà un sistema operatiu Bluetooth fàcil d’utilitzar, així que és
Wii inspirat en Super Mario Bros amb base USB: 5 passos (amb imatges)
Wii inspirat en Super Mario Bros amb base USB: en aquest instructiu us mostraré com he personalitzat la meva Wii amb un tema de Super Mario Bros, però sobretot com afegir un carregador i un port USB a la base i a la consola. ADVERTÈNCIA: No sóc responsable si enganxeu la vostra Wii, anul·larà la garantia si