Cuprins:

Braț robotizat - DIY: 5 pași
Braț robotizat - DIY: 5 pași

Video: Braț robotizat - DIY: 5 pași

Video: Braț robotizat - DIY: 5 pași
Video: Robot Arm & Controller - Building the DFRobot 5 DOF Robot Arm 2024, Iulie
Anonim
Braț robotizat - DIY
Braț robotizat - DIY

Încă de când eram copil, mi-am dorit întotdeauna să fac ceva cu adevărat mișto. Din păcate, pentru cei mai tineri, nu aveam suficiente cunoștințe în acel moment pentru a face ceva. Dar acum, știu un pic de electronică și am bătut acest proiect în timpul vacanței de iarnă.

Practic, am creat un braț robotizat folosind carton, servos și alte lucruri cu care degetele ar putea fi mișcate folosind senzori flex în conformitate cu mișcarea propriilor degete.

Dacă aveți sugestii, lăsați-le în comentarii.

Pasul 1: Componente necesare:

  1. Servo-uri
  2. Senzori flexibili (5)
  3. Carton
  4. Bandă
  5. Siruri de caractere
  6. Arduino
  7. Rezistor (5 x 1k ohmi)

Pasul 2: senzori flexibili:

Senzori flexibili
Senzori flexibili
Senzori flexibili
Senzori flexibili

Ce sunt ei?

Senzorii flexori sunt senzori care variază rezistența dacă sunt îndoiți de starea lor inițială. Practic, este un rezistor variabil.

Interfață cu Arduino:

Arduino nu poate citi rezistențe, dar poate citi tensiuni prin pinul său analogic. Deci, creăm un circuit divizor de tensiune.

Un lucru de reținut este că acești senzori sunt foarte fragili, așa că încercați să le păstrați în siguranță și să nu le manipulați aproximativ.

Conectați senzorul flex la Arduino ca în imaginea de mai sus. După conectarea acestora, conectați Arduino la laptop și PC și deschideți Arduino IDE. Utilizați codul de mai jos pentru a obține valoarea maximă și minimă. În starea sa inițială, va da valoarea minimă. Când îndoiți senzorul la un unghi de 90 de grade, veți obține valoarea maximă. După încărcarea codului, deschideți monitorul serial pentru a găsi aceste valori. Notați aceste valori.

int flexsensor = A0; int val;

configurare nulă () {

Serial.begin (9600);

}

bucla nulă () {

val = analogRead (flexor senzor);

Serial.println (val);

întârziere (50);

}

Amabilitatea imaginilor: Google

Pasul 3: Servo-uri:

Nu am de gând să vorbesc despre modul în care funcționează servos în acest instructable. Există și alte tutoriale online pentru a vă ajuta în acest sens.

Servo-urile au trei terminale GND (maro), Vcc (roșu) și semnal (galben sau portocaliu). Conectați Vcc la 5V de Arduino și GND al servo-ului la solul Arduino. Semnalul se îndreaptă către pinii PWM ai Arduino-ului reprezentat de simbolul „~” (tilde). Un alt lucru de știut este că servomotoarele se deplasează de la 0 la 180 de grade. Deci, Arduino IDE are o bibliotecă pentru a trimite semnale care trimit grade către servos.

Senzorul Flex va fi atașat de degetele noastre, așa că atunci când ne mișcăm degetele, senzorii Flex se mișcă și ele și, prin urmare, rezistența se schimbă. Din această cauză, Arduino citește valori diferite de pinul său analogic.

Amintiți-vă din ultimul pas, am obținut valori maxime și minime de la senzor. Vom folosi aceste valori pentru a le mapa de la 0 la 180 de grade.

#includeServo x; // definește obiectul

int flexpin = A0;

int val;

int maxval = 870; // redefiniți maxvalul în funcție de senzorul dvs.

int minval = 750; // redefiniți minvalul în funcție de senzorul dvs.

configurare nulă ()

{

x.attach (9); // Atașarea servo la pinul 9

}

bucla nulă ()

{

val = analogRead (flexpin);

val = hartă (val, maxval, minval, 180, 0); // Hartați valorile de la 0 la 180

x.scrie (val);

întârziere (10);

}

Codul de mai sus este pentru 1 servo și 1 senzor flex.

Pasul 4: Degete mecanice:

Degete mecanice
Degete mecanice

www.dropbox.com/s/m3jh0iiqwm2vx0e/robotic%…

Am primit asta de la Science toymaker

sciencetoymaker.org/

Descărcați imaginea și faceți o imprimare și lipiți-o peste o foaie subțire de carton.

Tăiați de-a lungul liniilor (continue) și faceți cutele de-a lungul liniilor punctate. După ce faceți acest lucru, veți obține un cuboid dreptunghiular care va fi foarte asemănător cu un deget. Există două părți ale imaginii, cea stângă este cea flexibilă și cea dreaptă este pentru stabilitate. Nu l-am folosit pe cel potrivit, dar voi îl puteți folosi dacă doriți.

Repetați același lucru pentru celelalte patru degete. După aceasta, așezați-le pe o bază pentru a reprezenta palma. Atașați un șir din partea de sus a degetului prin golul din interior și, în cele din urmă, în partea de jos. Dacă totul este făcut corect, degetul ar trebui să se miște dacă trageți coarda.

Pasul 5: Atașarea totul:

Așezați toate servo-urile pe bază. Mutați servo-urile inițial la 0 grade. După aceasta, plasați atașamentul pe care îl obțineți cu servomotoarele. Atașați șirurile de servouri. Repetați toate conexiunile pentru servo, senzorii Flex pentru celelalte patru degete.

Am avut un singur senzor flex, așa că l-am folosit pentru a controla toate cele 5 servo-uri. Aici l-am modificat astfel încât fiecare senzor flexibil să controleze 5 servo independente.

#includeServo x;

Servo y;

Servo z;

Servo a;

Servo b;

int flexpin = A0;

int val;

int maxval = 850;

int minval = 700;

configurare nulă ()

{

Serial.begin (9600);

x.attach (9);

y.attach (10);

z.attach (11);

a. atașați (5);

b. atașați (6);

}

bucla nulă ()

{

val = analogRead (flexpin);

val = hartă (val, maxval, minval, 180, 0);

Serial.println (val);

x.scrie (val);

y.scrie (val);

z.scrie (val);

a.scrie (val);

b. scrie (val);

întârziere (10);

}

Recomandat: