Turinys:

[Arduino robotas] Kaip padaryti judesio fiksavimo robotą - Nykščių robotas - Servo variklis - Šaltinio kodas: 26 žingsniai (su paveikslėliais)
[Arduino robotas] Kaip padaryti judesio fiksavimo robotą - Nykščių robotas - Servo variklis - Šaltinio kodas: 26 žingsniai (su paveikslėliais)

Video: [Arduino robotas] Kaip padaryti judesio fiksavimo robotą - Nykščių robotas - Servo variklis - Šaltinio kodas: 26 žingsniai (su paveikslėliais)

Video: [Arduino robotas] Kaip padaryti judesio fiksavimo robotą - Nykščių robotas - Servo variklis - Šaltinio kodas: 26 žingsniai (su paveikslėliais)
Video: How to use up to 10 push button switch with 1 Arduino input pin ANPB-V1 2024, Lapkritis
Anonim
Image
Image
[Arduino robotas] Kaip padaryti judesio fiksavimo robotą | Nykščių robotas | Servo variklis | Pirminis kodas
[Arduino robotas] Kaip padaryti judesio fiksavimo robotą | Nykščių robotas | Servo variklis | Pirminis kodas

Nykščių robotas. Naudotas MG90S servo variklio potenciometras. Tai labai smagu ir lengva! Kodas yra labai paprastas. Tai tik apie 30 eilučių. Tai atrodo kaip judesio fiksavimas.

Prašome palikti bet kokį klausimą ar atsiliepimą!

[Instrukcija]

  • Šaltinio kodas
  • 3D spausdinimo failai

[Apie kūrėją]

„YouTube“https://youtube.com/EunchanPark

1 žingsnis: ARDUINO DALYS

ARDUINO DALYS
ARDUINO DALYS
ARDUINO DALYS
ARDUINO DALYS
ARDUINO DALYS
ARDUINO DALYS

Įdiekite „Arduino IDE“

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

Įdiekite „CH340“tvarkyklę (kinų versijai)

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

ATSISIŲSTI - šaltinio kodas

  • https://github.com/happythingsmaker/ThumbsRobot
  • Kaip matote, yra ZIP failas. Išskleiskite visą failą ir dukart spustelėkite šaltinio kodo failą.

Pasirinkite plokštės / procesoriaus / „Com“prievadą

  • Arduino Nano
  • ATmega328P (senas įkrovos įkroviklis)

Prijunkite arduino nano

Prijunkite USB kabelį ir pasirodys naujas prievadas

Raskite / pasirinkite atsirandantį kom portą

  • Spustelėkite pasirodžiusį prievadą ir paspauskite įkėlimo mygtuką
  • Paspauskite įkėlimo mygtuką

2 žingsnis: 3D Spausdinimo dalys

3D spausdinimo dalys
3D spausdinimo dalys

Atsisiųskite 3D modeliavimo failus iš „Thingiverse“

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

Spausdinkite visas dalis po vieną

3 žingsnis: grandinės dalis

Grandinės dalis
Grandinės dalis

Naudokite „Arduino Nano“išplėtimo plokštę. Kadangi „Arduino Nano“neturi daug kaiščių, turėsite naudoti išplėtimo plokštę.

Pažvelgus į laidus, prijungtus prie variklio, galite pamatyti tris spalvas. Geltona, raudona ir ruda. Ruda spalva turi būti prijungta prie G (įžeminimo).

Tolesniuose veiksmuose mes dar kartą jį atidžiai išnagrinėsime.

4 žingsnis: Aparatūros dalis - Paruoškite visas dalis

Aparatūros dalis - Paruoškite visas dalis
Aparatūros dalis - Paruoškite visas dalis

[Dalys]

  • 1 x „Arduino Nano“
  • 1 x „Arduino Nano“išplėtimo plokštė
  • 6 x servo varikliai
  • 2 x žaisliniai akių kamuoliukai
  • 12 x varžtų varžtai (2 * 6 mm)

[Įrankiai]

  • 3D spausdintuvas („Anet A8“)
  • Siūlai 3D spausdinimui (PLA 1,75 mm)
  • Vielos gnybtas
  • „Wire Stipper“https://amzn.to/2LaVeN5
  • Karšto lydalo klijų pistoletas
  • Atsuktuvas (+)
  • Elektroninė juosta
  • Litavimo įrankiai (Hakko)
  • Litavimo ranka
  • Elektrinis atsuktuvas

5 veiksmas: pakeiskite 3 servo variklius į padėties jutiklį

Šie veiksmai parodo, kaip pakeisti servo variklį į padėties jutiklį. iš esmės dauguma servo variklių turi potenciometrą arba kodavimo priemonę kampui gauti.

Mes naudosime tą potenciometrą. turime atidaryti korpusą, išardyti plokštę ir vėl ją prijungti.

6 žingsnis: atsukite 4 varžtus užpakalinėje pusėje ir atidarykite priekinį dėklą

Atsukite 4 varžtus užpakalinėje pusėje ir atidarykite priekinį dėklą
Atsukite 4 varžtus užpakalinėje pusėje ir atidarykite priekinį dėklą
Atsukite 4 varžtus užpakalinėje pusėje ir atidarykite priekinį dėklą
Atsukite 4 varžtus užpakalinėje pusėje ir atidarykite priekinį dėklą

Jums reikės mažo atsuktuvo, nes jie yra per maži. Variklį sudaro 3 dalys - priekis, korpusas ir galas.

Atidarę priekinę pusę, pamatysite krumpliaračius. Tiesą sakant, mes nenaudojame šio variklio kaip „variklio“. Taigi, pavaros teoriškai nebereikia. Bet mes panaudosime tam tikrą jų dalį, kad veikimo kampas vis dar turėtų sukimosi apribojimą.

7 veiksmas: nuimkite trečiąją pavarą

Nuimkite 3 pavarą
Nuimkite 3 pavarą
Nuimkite 3 pavarą
Nuimkite 3 pavarą
Nuimkite 3 pavarą
Nuimkite 3 pavarą

Servo variklio potenciometras turi apie 180 laipsnių kampinį apribojimą. Potenciometras turi savo ribojimo mechanizmą, tačiau jis yra toks silpnas. Jis dažnai lengvai sulaužomas. Siekiant jį apsaugoti, pavara suteikia kitą mechanizmą. Pirmoji pavara turi plastikinį buferį, kuris liečiasi su antrąja pavara.

Mums tikrai reikia pirmosios pavaros bendram rėmui, antra pavara reikalinga apribojimui. Taigi, mes negalime jų atsikratyti. Vietoj jų galime nuimti trečią pavarą.

Jums gali kilti klausimas, kodėl mums reikia pašalinti pavarą. Šie trys servo varikliai bus naudojami informacijai apie kampą gauti. Jei jose yra krumpliaračių, judėjimas bus standus. Taigi, mes turime atsikratyti vienos iš jų.

8 žingsnis: pakartotinis prijungimas / litavimas

Perjungimas / litavimas
Perjungimas / litavimas

Nupjaukite laidus, prijungtus prie variklių.

9 veiksmas: naudokite litavimo įrankį ir nuimkite plokštę

Naudokite litavimo įrankį ir nuimkite plokštę
Naudokite litavimo įrankį ir nuimkite plokštę
Naudokite litavimo įrankį ir nuimkite plokštę
Naudokite litavimo įrankį ir nuimkite plokštę

10 žingsnis: nupjaukite vielą ir pasiruoškite litavimui

Nupjaukite vielą ir pasiruoškite litavimui
Nupjaukite vielą ir pasiruoškite litavimui
Nupjaukite vielą ir pasiruoškite litavimui
Nupjaukite vielą ir pasiruoškite litavimui

ir ant kabelio uždėkite pastos ir šiek tiek švino

11 žingsnis: lituokite

Lituok tai
Lituok tai
Lituok tai
Lituok tai
Lituok tai
Lituok tai
Lituok tai
Lituok tai

iš kairės pusės raudona geltona ir ruda

12 žingsnis: ant jo uždėkite klijų

Užtepkite šiek tiek klijų
Užtepkite šiek tiek klijų
Užtepkite šiek tiek klijų
Užtepkite šiek tiek klijų

ir atgauti galinę pusę

Mums reikia dar 2 potenciometrų. atlikite tą patį darbą su dviem kitais varikliais

13 žingsnis: sukurkite pirmąjį bendrą rūsį

Padarykite pirmąjį bendrą rūsį
Padarykite pirmąjį bendrą rūsį
Padarykite pirmąjį bendrą rūsį
Padarykite pirmąjį bendrą rūsį
Padarykite pirmąjį bendrą rūsį
Padarykite pirmąjį bendrą rūsį

Šiam projektui panaudojau virimo lentą. tai pigu ir tvirta jį naudoti. Norėdami pritvirtinti rėmą ant lentos, turėsite naudoti varžtus, kurių galas yra aštrus. Tai daro skylę ir sriegį tuo pačiu metu.

Yra 6 varikliai. 3 varikliai kairėje pusėje yra originalūs varikliai. kita vertus, yra 3 varikliai, kurie buvo modifikuoti prieš žingsnį.

14 žingsnis: padarykite posūkio jungtį

Padarykite posūkio jungtį
Padarykite posūkio jungtį
Padarykite posūkio jungtį
Padarykite posūkio jungtį

Jums reikės naudoti M2 * 6 mm varžtą.

15 žingsnis: Surinkite sukimo jungtį su pirmuoju varikliu

Surinkite sukimo jungtį su pirmuoju varikliu
Surinkite sukimo jungtį su pirmuoju varikliu
Surinkite sukimo jungtį su pirmuoju varikliu
Surinkite sukimo jungtį su pirmuoju varikliu

Kaip matote paskutinėje nuotraukoje, jungtį reikia pastatyti horizontaliai. Variklio ir potenciometro vieta turėtų būti 90 laipsnių.

Kitaip tariant, nuo tos vietos galite pasukti pasukimo jungtį 90 laipsnių pagal laikrodžio rodyklę ir prieš laikrodžio rodyklę.

16 žingsnis: Surinkite „Arduino Nano“su „Arduino Nano“išplėtimo plokšte

Surinkite „Arduino Nano“su „Arduino Nano“išplėtimo plokšte
Surinkite „Arduino Nano“su „Arduino Nano“išplėtimo plokšte
Surinkite „Arduino Nano“su „Arduino Nano“išplėtimo plokšte
Surinkite „Arduino Nano“su „Arduino Nano“išplėtimo plokšte

Įsitikinkite kryptimi. USB prievadas bus toje pačioje pusėje su nuolatinės srovės lizdu.

17 žingsnis: Pirmojo sluoksnio sujungimas

Pirmojo sluoksnio jungtis
Pirmojo sluoksnio jungtis
Pirmojo sluoksnio jungtis
Pirmojo sluoksnio jungtis

Potenciometras prijungtas prie „Arduino“analoginio 0 kaiščio. Turite teisingai prijungti. Šis „Arduino Nano“turi 8 kanalų ADC (analoginį skaitmeninį keitiklį). Iš esmės potenciometras suteikia analoginį lygį arba įtampą. Tą volto vertę galite perskaityti naudodami ADC kaiščius

Kita vertus, servo variklis yra prijungtas prie „Arduino“„Digital 9“. Servo variklius galima valdyti naudojant PWM (impulso pločio moduliaciją). „Arduino Nano“turi 6 kanalų PWM kaištį (9, 10, 11, 3, 5 ir 6 kaiščiai). Taigi, mes galime naudoti iki 6 servo variklių.

Šiame etape šaltinio kodas atrodo taip

#įtraukti

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 (žemėlapis (tempADC [0], 0, 1023, 0, 180));}

18 žingsnis: Surinkite antrąjį sluoksnį

Surinkite antrąjį sluoksnį
Surinkite antrąjį sluoksnį
Surinkite antrąjį sluoksnį
Surinkite antrąjį sluoksnį
Surinkite antrąjį sluoksnį
Surinkite antrąjį sluoksnį
Surinkite antrąjį sluoksnį
Surinkite antrąjį sluoksnį

Antrasis sluoksnis taip pat yra paprastas. Kai reikia prijungti kabelį prie „Arduino“, turite būti atsargūs - įdėkite jį į tinkamą vietą.

  • Kairysis variklis yra prijungtas prie 10 kaiščio
  • Dešinysis potenciometras yra prijungtas prie A1

#įtraukti

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

19 žingsnis: Surinkite trečiojo sluoksnio rėmus

Surinkite trečiojo sluoksnio rėmus
Surinkite trečiojo sluoksnio rėmus

20 žingsnis: Surinkite rėmą naudodami antrąjį variklį / potenciometrą

Surinkite rėmą su antruoju varikliu / potenciometru
Surinkite rėmą su antruoju varikliu / potenciometru
Surinkite rėmą su antruoju varikliu / potenciometru
Surinkite rėmą su antruoju varikliu / potenciometru
Surinkite rėmą su antruoju varikliu / potenciometru
Surinkite rėmą su antruoju varikliu / potenciometru
Surinkite rėmą naudodami antrąjį variklį / potenciometrą
Surinkite rėmą naudodami antrąjį variklį / potenciometrą

21 žingsnis: Surinkite trečiąjį variklį į jungties rėmą

Surinkite trečiąjį variklį į jungties rėmą
Surinkite trečiąjį variklį į jungties rėmą
Surinkite trečiąjį variklį į jungties rėmą
Surinkite trečiąjį variklį į jungties rėmą

22 veiksmas: prijunkite kabelį prie „Arduino“

Prijunkite kabelį prie „Arduino“
Prijunkite kabelį prie „Arduino“
Prijunkite kabelį prie „Arduino“
Prijunkite kabelį prie „Arduino“
  • Trečiasis variklis sujungtas su kaiščiu 11
  • Trečiasis potenciometras yra prijungtas prie A2

kodas atrodo taip

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

23 žingsnis: Surinkite nykščių rėmą

Surinkite nykščių rėmą
Surinkite nykščių rėmą
Surinkite nykščių rėmą
Surinkite nykščių rėmą

24 žingsnis: išbandykite ir sureguliuokite kampą

Išbandykite ir sureguliuokite kampą
Išbandykite ir sureguliuokite kampą
Išbandykite ir sureguliuokite kampą
Išbandykite ir sureguliuokite kampą
Išbandykite ir sureguliuokite kampą
Išbandykite ir sureguliuokite kampą

Įkiškite USB kabelį į bet kurį maitinimo šaltinį ir robotas netrukus bus įjungtas. Kampas gali būti šiek tiek kitoks. Po vieną sureguliuokite kampą.

25 žingsnis: dar vienas robotas?

Dar vienas robotas?
Dar vienas robotas?
Dar vienas robotas?
Dar vienas robotas?

Jei norite pagaminti dar vieną robotą, galite jį pagaminti. Prijunkite servo prie 3, 5 ir 6.

#įtraukti „Servo servo“[6]; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); servo [0].pritvirtinimas (9); servo [1].pritvirtinimas (10); servo [2].pritvirtinimas (11); servo [3].pritvirtinimas (3); servo [4].pritvirtinimas (5); servo [5].attach (6);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (žemėlapis (tempADC [0], 0, 1023, 0, 180)); servo [3].write (žemėlapis (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].write (žemėlapis (tempADC [1], 0, 1023, 0, 180)); servo [4].write (žemėlapis (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2].write (žemėlapis (tempADC [2], 0, 1023, 0, 180)); servo [5].write (žemėlapis (tempADC [2], 0, 1023, 0, 180));}

26 žingsnis: padaryta

Padaryta!
Padaryta!
Padaryta!
Padaryta!
Padaryta!
Padaryta!

Jei turite klausimų, nedvejodami palikite juos:)

Mikrovaldiklių konkursas
Mikrovaldiklių konkursas
Mikrovaldiklių konkursas
Mikrovaldiklių konkursas

Antroji vieta mikrovaldiklių konkurse

Rekomenduojamas: