Cuprins:

[Arduino Robot] Cum se realizează un robot de captură de mișcare - Thumbs Robot - Servomotor - Cod sursă: 26 de pași (cu imagini)
[Arduino Robot] Cum se realizează un robot de captură de mișcare - Thumbs Robot - Servomotor - Cod sursă: 26 de pași (cu imagini)

Video: [Arduino Robot] Cum se realizează un robot de captură de mișcare - Thumbs Robot - Servomotor - Cod sursă: 26 de pași (cu imagini)

Video: [Arduino Robot] Cum se realizează un robot de captură de mișcare - Thumbs Robot - Servomotor - Cod sursă: 26 de pași (cu imagini)
Video: Lesson 76: Using one or more VL6180X 20cm Time-of-Flight proximity sensor with Arduino 2024, Noiembrie
Anonim
Image
Image
[Arduino Robot] Cum se realizează un robot de captură de mișcare | Thumbs Robot | Servomotor | Cod sursa
[Arduino Robot] Cum se realizează un robot de captură de mișcare | Thumbs Robot | Servomotor | Cod sursa

Thumbs Robot. S-a folosit un potențiometru al servomotorului MG90S. Este foarte distractiv și ușor! Codul este foarte simplu. Este doar în jur de 30 de linii. Arată ca o captură de mișcare.

Vă rugăm să lăsați orice întrebare sau feedback!

[Instrucțiuni]

  • Codul sursă
  • Fișiere de tipărire 3D

[Despre producător]

Youtube

Pasul 1: PĂRȚI ARDUINO

PIESE ARDUINO
PIESE ARDUINO
PIESE ARDUINO
PIESE ARDUINO
PIESE ARDUINO
PIESE ARDUINO

Instalați Arduino IDE

https://www.arduino.cc/en/Main/Software

Instalați driverul CH340 (pentru versiunea chineză)

https://www.wch.cn/download/CH341SER_ZIP.html

DESCĂRCARE - cod sursă

  • https://github.com/happythingsmaker/ThumbsRobot
  • După cum puteți vedea, există un fișier zip. Extrageți toate fișierele și faceți dublu clic pe fișierul cod sursă.

Selectați placa / Procesorul / portul Com

  • Arduino Nano
  • ATmega328P (Bootloader vechi)

Conectați-vă arduino nano

Conectați cablul USB și va apărea un nou port

Găsiți / selectați portul de comunicare emergent

  • Faceți clic pe portul apărut și apăsați butonul de încărcare
  • Apăsați butonul de încărcare

Pasul 2: PIESE DE IMPRIMARE 3D

PIESE DE IMPRIMARE 3D
PIESE DE IMPRIMARE 3D

Descărcați fișiere de modelare 3D de la Thingiverse

https://www.thingiverse.com/thing:2844993

Imprimați toate părțile una câte una

Pasul 3: Partea circuitului

Partea circuitului
Partea circuitului

Utilizați placa de expansiune Arduino Nano. Deoarece Arduino Nano în sine nu are mulți pini, va trebui să utilizați o placă de expansiune.

Când priviți cablajul conectat la motor, puteți vedea trei culori. Galben, roșu și maro. Maro trebuie să fie conectat cu G (masă).

În pașii următori, o vom analiza din nou cu atenție.

Pasul 4: PARTEA HARDWARE - Pregătiți toate piesele

Piesa HARDWARE - Pregătiți toate piesele
Piesa HARDWARE - Pregătiți toate piesele

[Părți]

  • 1 x Arduino Nano
  • 1 x placa de expansiune Arduino Nano
  • 6 x Servomotoare
  • 2 x bile de ochi de jucărie
  • 12 x șuruburi cu șurub (2 * 6mm)

[Instrumente]

  • Imprimantă 3D (Anet A8)
  • Filament pentru imprimare 3D (PLA 1,75mm)
  • Wire Nipper
  • Wire Stipper
  • Pistolul de lipit hot melt
  • Șurubelniță (+)
  • Bandă electronică
  • Instrumente de lipit (Hakko)
  • Mână de lipit
  • Șurubelniță electrică

Pasul 5: Modificați 3 servo-motoare în senzorul de poziție

Următorii pași vă arată cum să modificați un servomotor în senzorul de poziție. practic majoritatea servo-motoarelor au un potențiometru sau un codificator pentru a obține o valoare a unghiului.

Vom folosi acel potențiometru în sine. trebuie să deschidem carcasa, să demontăm placa și să o reconectăm din nou.

Pasul 6: Deșurubați 4 șuruburi pe partea din spate și deschideți carcasa frontală

Deșurubați 4 șuruburi pe partea din spate și deschideți carcasa frontală
Deșurubați 4 șuruburi pe partea din spate și deschideți carcasa frontală
Deșurubați 4 șuruburi pe partea din spate și deschideți carcasa frontală
Deșurubați 4 șuruburi pe partea din spate și deschideți carcasa frontală

Veți avea nevoie de o șurubelniță mică, deoarece acestea sunt prea mici. Motorul are 3 părți - față, corp și spate.

Când deschideți partea din față, veți vedea uneltele. De fapt, nu folosim acest motor ca „motor”. Deci, uneltele nu mai sunt necesare teoretic. Dar vom folosi o parte din ele, astfel încât unghiul de funcționare să aibă în continuare o limitare a rotației.

Pasul 7: Scoateți a treia treaptă de viteză

Scoateți a treia treaptă de viteză
Scoateți a treia treaptă de viteză
Scoateți a treia treaptă de viteză
Scoateți a treia treaptă de viteză
Scoateți a treia treaptă de viteză
Scoateți a treia treaptă de viteză

Potențiometrul din servomotor are o limitare unghiulară care este în jur de 180 de grade. Potențiometrul are propriul mecanism de limitare, dar este atât de slab. Se rupe ușor des. Pentru a-l proteja, angrenajul oferă un alt mecanism. Prima treaptă are o bară de protecție din plastic care va intra în contact cu treapta a doua.

Cu siguranță avem nevoie de prima treaptă pentru cadrul general, a doua treaptă este necesară pentru limitare. Deci, nu putem scăpa de ele. În locul lor, putem scoate a treia treaptă de viteză.

S-ar putea să vă întrebați de ce trebuie să scoatem un angrenaj. Aceste trei servomotoare vor fi utilizate pentru obținerea informațiilor despre unghi. Dacă există unelte în ele, mișcarea va fi rigidă. Deci, trebuie să scăpăm de unul dintre ele.

Pasul 8: Recablare / lipire

Recablare / lipire
Recablare / lipire

Tăiați firele care sunt conectate cu motoarele.

Pasul 9: Utilizați un instrument de lipit și detașați placa

Utilizați un instrument de lipit și detașați placa
Utilizați un instrument de lipit și detașați placa
Utilizați un instrument de lipit și detașați placa
Utilizați un instrument de lipit și detașați placa

Pasul 10: Tăiați un fir și pregătiți-vă pentru lipire

Tăiați un fir și pregătiți-vă pentru lipire
Tăiați un fir și pregătiți-vă pentru lipire
Tăiați un fir și pregătiți-vă pentru lipire
Tăiați un fir și pregătiți-vă pentru lipire

și puneți niște pastă și puneți niște plumb pe cablu

Pasul 11: lipiți-l

Lipește-l
Lipește-l
Lipește-l
Lipește-l
Lipește-l
Lipește-l
Lipește-l
Lipește-l

din partea foarte stângă roșu galben și maro

Pasul 12: Puneți niște lipici pe el

Pune niște lipici pe el
Pune niște lipici pe el
Pune niște lipici pe el
Pune niște lipici pe el

și recuperați partea din spate

Mai avem nevoie de încă 2 potențiometre. faceți același lucru pentru alte două motoare

Pasul 13: Faceți primul subsol comun

Faceți primul subsol comun
Faceți primul subsol comun
Faceți primul subsol comun
Faceți primul subsol comun
Faceți primul subsol comun
Faceți primul subsol comun

Am folosit o placă de gătit pentru realizarea acestui proiect. este ieftin și ferm să-l folosiți. Pentru a fixa cadrul pe tablă, va trebui să folosiți șuruburi cu capăt ascuțit. Face gaură și fir în același timp.

Există 6 motoare. 3 motoare pe partea stângă sunt motoarele originale. pe de altă parte, există 3 motoare care sunt modificate înainte de pas.

Pasul 14: Faceți articulația Yaw

Faceți articulația Yaw
Faceți articulația Yaw
Faceți articulația Yaw
Faceți articulația Yaw

Va trebui să utilizați șurub cu șurub M2 * 6mm.

Pasul 15: Asamblați articulația Yaw cu primul motor

Asamblați articulația Yaw cu primul motor
Asamblați articulația Yaw cu primul motor
Asamblați articulația Yaw cu primul motor
Asamblați articulația Yaw cu primul motor

După cum puteți vedea ultima imagine, va trebui să puneți articulația în direcție orizontală. Și locația ar trebui să fie de 90 de grade atât a motorului, cât și a potențiometrului.

Cu alte cuvinte, puteți roti acele articulații de găleată cu 90 de grade în sensul acelor de ceasornic și în sens invers acelor de ceasornic din acea locație.

Pasul 16: Asamblați Arduino Nano cu placa de expansiune Arduino Nano

Asamblați Arduino Nano cu placa de expansiune Arduino Nano
Asamblați Arduino Nano cu placa de expansiune Arduino Nano
Asamblați Arduino Nano cu placa de expansiune Arduino Nano
Asamblați Arduino Nano cu placa de expansiune Arduino Nano

Asigurați-vă că direcția. Portul USB va avea aceeași parte cu mufa DC.

Pasul 17: Conexiunea pentru primul strat

Prima conexiune strat
Prima conexiune strat
Prima conexiune strat
Prima conexiune strat

Potențiometrul este conectat cu pinul analogic 0 al Arduino. Trebuie să îl conectați corect. Acest Arduino Nano are ADC pe 8 canale (convertor digital analogic). Practic, potențiometrul oferă nivel analogic sau volatilitate. Puteți citi valoarea volt utilizând pinii ADC

Pe de altă parte, servomotorul este conectat cu Digital 9 al Arduino. Servomotorele pot fi controlate folosind PWM (Pulse Width Modulation). Arduino Nano are pin PWM cu 6 canale (pinul 9, 10, 11, 3, 5 și 6). Deci, putem folosi până la 6 servo-motoare.

În acest pas, codul sursă arată astfel

#include

Servo servo [6]; void setup () {pinMode (A0, INPUT); servo [0].attach (9);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (hartă (tempADC [0], 0, 1023, 0, 180));}

Pasul 18: Asamblați al doilea strat

Asamblați al doilea strat
Asamblați al doilea strat
Asamblați al doilea strat
Asamblați al doilea strat
Asamblați al doilea strat
Asamblați al doilea strat
Asamblați al doilea strat
Asamblați al doilea strat

Al doilea strat este, de asemenea, simplu de realizat. De ceea ce trebuie să aveți grijă este să îl puneți în locația corectă atunci când conectați cablul la Arduino.

  • Servomotorul stâng este conectat cu pinul 10
  • Potențiometrul din dreapta este conectat cu A1

#include

Servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); servo [0].attach (9); servo [1].attach (10);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (hartă (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].write (hartă (tempADC [1], 0, 1023, 0, 180));}

Pasul 19: Asamblați cadrele de nivel 3

Asamblați cadrele de nivel 3
Asamblați cadrele de nivel 3

Pasul 20: Asamblați cadrul cu al doilea motor / potențiometru

Asamblați cadrul cu al doilea motor / potențiometru
Asamblați cadrul cu al doilea motor / potențiometru
Asamblați cadrul cu al doilea motor / potențiometru
Asamblați cadrul cu al doilea motor / potențiometru
Asamblați cadrul cu al doilea motor / potențiometru
Asamblați cadrul cu al doilea motor / potențiometru
Asamblați cadrul cu al doilea motor / potențiometru
Asamblați cadrul cu al doilea motor / potențiometru

Pasul 21: Asamblați motorul 3 în cadrul articulației

Montați al treilea motor în cadrul articulației
Montați al treilea motor în cadrul articulației
Montați al treilea motor în cadrul articulației
Montați al treilea motor în cadrul articulației

Pasul 22: Conectați cablul la Arduino

Conectați cablul la Arduino
Conectați cablul la Arduino
Conectați cablul la Arduino
Conectați cablul la Arduino
  • Al treilea motor este conectat cu pinul 11
  • Al treilea potențiometru este conectat cu A2

codul arată așa

#include Servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); servo [0].attach (9); servo [1].attach (10); servo [2].attach (11);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (hartă (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].write (hartă (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2].write (hartă (tempADC [2], 0, 1023, 0, 180));}

Pasul 23: Asamblați cadrul Thumbs

Asamblați cadrul Thumbs
Asamblați cadrul Thumbs
Asamblați cadrul Thumbs
Asamblați cadrul Thumbs

Pasul 24: Testați și reglați unghiul

Testați și reglați unghiul
Testați și reglați unghiul
Testați și reglați unghiul
Testați și reglați unghiul
Testați și reglați unghiul
Testați și reglați unghiul

Introduceți cablul USB în orice sursă de alimentare și robotul va fi pornit în curând. Unghiul poate fi ușor diferit. Reglați unghiul unul câte unul.

Pasul 25: încă un robot?

Un alt robot?
Un alt robot?
Un alt robot?
Un alt robot?

Dacă doriți să creați încă un robot, îl puteți face. Conectați servomotoarele în 3, 5 și 6.

#include Servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); servo [0].attach (9); servo [1].attach (10); servo [2].attach (11); servo [3].attach (3); servo [4].attach (5); servo [5].attach (6);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (hartă (tempADC [0], 0, 1023, 0, 180)); servo [3].write (hartă (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].write (hartă (tempADC [1], 0, 1023, 0, 180)); servo [4].write (hartă (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2].write (hartă (tempADC [2], 0, 1023, 0, 180)); servo [5].write (hartă (tempADC [2], 0, 1023, 0, 180));}

Pasul 26: Gata

Terminat!
Terminat!
Terminat!
Terminat!
Terminat!
Terminat!

Dacă aveți întrebări, nu ezitați să o lăsați:)

Concurs de microcontroler
Concurs de microcontroler
Concurs de microcontroler
Concurs de microcontroler

Locul doi în concursul de microcontroler

Recomandat: