Агуулгын хүснэгт:

[Arduino робот] Хөдөлгөөнт робот хэрхэн хийх вэ - Эрхий хурууны робот - Servo мотор - Эх код: 26 алхам (зурагтай)
[Arduino робот] Хөдөлгөөнт робот хэрхэн хийх вэ - Эрхий хурууны робот - Servo мотор - Эх код: 26 алхам (зурагтай)
Anonim
Image
Image
[Arduino робот] Хөдөлгөөнт робот хэрхэн хийх вэ | Эрхий хурууны робот | Servo мотор | Эх код
[Arduino робот] Хөдөлгөөнт робот хэрхэн хийх вэ | Эрхий хурууны робот | Servo мотор | Эх код

Эрхий хурууны робот. MG90S servo моторын потенциометрийг ашигласан. Энэ нь маш хөгжилтэй, хялбар юм! Код нь маш энгийн. Энэ нь ердөө 30 орчим мөр юм. Энэ нь хөдөлгөөнт дүрс шиг харагдаж байна.

Асуух зүйл эсвэл санал хүсэлтээ үлдээнэ үү!

[Заавар]

  • Эх код
  • 3D хэвлэх файлууд

[Бүтээгчийн тухай]

Youtube

Алхам 1: ARDUINO PARTS

ARDUINO эд анги
ARDUINO эд анги
ARDUINO эд анги
ARDUINO эд анги
ARDUINO эд анги
ARDUINO эд анги

Arduino IDE суулгана уу

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

CH340 драйверийг суулгах (хятад хувилбарын хувьд)

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

ТАТАХ - эх код

  • https://github.com/happythingsmaker/ThumbsRobot
  • Таны харж байгаагаар зип файл байна. Бүх файлыг задалж, эх кодын файлыг давхар товшино уу.

Самбар / процессор / ком портыг сонгоно уу

  • Ардуино Нано
  • ATmega328P (Хуучин ачаалагч)

Arduino наногоо залгаарай

USB кабелийг залгаарай, шинэ порт гарч ирнэ

Шинээр гарч ирж буй ком портыг хайх / сонгох

  • Гарч ирсэн портыг дараад байршуулах товчийг дарна уу
  • Байршуулах товчийг дарна уу

Алхам 2: 3D ХЭВЛЭХ ХЭРЭГ

3D ХЭВЛЭХ ХЭРЭГ
3D ХЭВЛЭХ ХЭРЭГ

Thingiverse -ээс 3d загварчлах файлыг татаж аваарай

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

Бүх хэсгийг нэг нэгээр нь хэвлэ

Алхам 3: Хэлхээний хэсэг

Хэлхээний хэсэг
Хэлхээний хэсэг

Arduino Nano өргөтгөлийн самбарыг ашиглана уу. Arduino Nano өөрөө олон тээглүүргүй тул өргөтгөх самбар ашиглах шаардлагатай болно.

Хөдөлгүүрт холбогдсон утсыг харахад гурван өнгийг харж болно. Шар, улаан, хүрэн. Браун нь G (Ground) -тай холбогдсон байх ёстой.

Дараагийн алхамуудад бид үүнийг дахин нарийвчлан авч үзэх болно.

Алхам 4: ТОНОГ ТӨХӨӨРӨМЖИЙН ХЭСЭГ - Бүх эд ангиудыг бэлтгэ

ТОНОГ ТӨХӨӨРӨМЖИЙН ХЭСЭГ - Бүх эд ангиудыг бэлтгэ
ТОНОГ ТӨХӨӨРӨМЖИЙН ХЭСЭГ - Бүх эд ангиудыг бэлтгэ

[Хэсэг]

  • 1 x Arduino Nano
  • 1 x Arduino Nano өргөтгөлийн самбар
  • 6 x Servo мотор
  • 2 х тоглоомын нүдний бөмбөг
  • 12 x шураг боолт (2 * 6мм)

[Багаж хэрэгсэл]

  • 3d принтер (Anet A8)
  • 3d хэвлэх утас (PLA 1.75мм)
  • Утас зүсэгч
  • Утас хутгагч
  • Халуун хайлмал цавуу буу
  • Шургуулагч (+)
  • Цахим соронзон хальс
  • Гагнуурын хэрэгсэл (Hakko)
  • Гагнуурын гар
  • Цахилгаан халив

Алхам 5: 3 Servo моторыг байрлалын мэдрэгч болгон өөрчлөх

Дараахь алхамууд нь servo моторыг байрлалын мэдрэгч болгон хэрхэн өөрчлөхийг танд харуулах болно. Үндсэндээ ихэнх servo моторууд нь өнцгийн утгыг авах потенциометр эсвэл кодлогчтой байдаг.

Бид энэ потенциометрийг өөрөө ашиглах болно. бид хэргийг нээж, самбарыг задалж, дахин залгах хэрэгтэй.

Алхам 6: Арын 4 боолтыг салгаад урд талын хайрцгийг нээнэ үү

4 арын боолтыг боож, урд талын хайрцгийг нээнэ үү
4 арын боолтыг боож, урд талын хайрцгийг нээнэ үү
Арын 4 боолтыг салгаад урд талын хайрцгийг нээнэ үү
Арын 4 боолтыг салгаад урд талын хайрцгийг нээнэ үү

Тэд хэт жижиг тул танд жижиг халив хэрэгтэй болно. Мотор нь урд, их бие, арын гэсэн 3 хэсэгтэй.

Урд талыг нь онгойлгоход араагаа харах болно. Үнэндээ бид энэ моторыг "мотор" болгон ашигладаггүй. Тиймээс араа нь онолын хувьд шаардлагагүй болсон. Гэхдээ бид тэдгээрийн зарим хэсгийг ашиглах бөгөөд ингэснээр ажлын өнцөг нь эргэлтийн хязгаартай хэвээр байх болно.

Алхам 7: 3 -р араа ав

3 -р арааг салга
3 -р арааг салга
3 -р арааг салга
3 -р арааг салга
3 -р арааг салга
3 -р арааг салга

Серво мотор дахь потенциометр нь өнцгийн хязгаартай бөгөөд ойролцоогоор 180 градус байдаг. Потенциометр нь өөрийн гэсэн хязгаарлалтын механизмтай боловч маш сул байдаг. Ихэнхдээ амархан эвддэг. Үүнийг хамгаалахын тулд араа нь өөр механизм өгдөг. Эхний араа нь хуванцар бамбайтай бөгөөд хоёрдахь араагаар холбогдох болно.

Бид ерөнхий хүрээний хувьд эхний араа, хязгаарлалтын хувьд хоёр дахь араа хэрэгтэй болно. Тиймээс, бид тэднээс салж чадахгүй. Тэдний оронд бид гурав дахь араагаа салгаж болно.

Бид яагаад араагаа зайлуулах ёстой гэж та гайхаж магадгүй юм. Эдгээр гурван servo моторыг өнцгийн мэдээлэл авахад ашиглах болно. Хэрэв тэдгээрт араа байгаа бол хөдөлгөөн нь хатуу болно. Тиймээс бид тэднээс нэг араагаа зайлуулах ёстой.

Алхам 8: Дахин утас холбох / гагнах

Дахин утас холбох / гагнах
Дахин утас холбох / гагнах

Мотортой холбогдсон утсыг хайчилж ав.

Алхам 9: Гагнуурын хэрэгсэл ашиглан самбарыг салга

Гагнуурын хэрэгсэл ашиглаж, самбарыг салга
Гагнуурын хэрэгсэл ашиглаж, самбарыг салга
Гагнуурын хэрэгсэл ашиглаж, самбарыг салга
Гагнуурын хэрэгсэл ашиглаж, самбарыг салга

Алхам 10: Утас хайчилж, гагнахад бэлтгэ

Утас хайчилж, гагнахад бэлтгэ
Утас хайчилж, гагнахад бэлтгэ
Утас хайчилж, гагнахад бэлтгэ
Утас хайчилж, гагнахад бэлтгэ

мөн оо тавьж, кабель дээр тугалга тавь

Алхам 11: Үүнийг гагнах

Үүнийг гагнах
Үүнийг гагнах
Үүнийг гагнах
Үүнийг гагнах
Үүнийг гагнах
Үүнийг гагнах
Үүнийг гагнах
Үүнийг гагнах

зүүн талаас улаан шар, хүрэн

Алхам 12: Үүн дээр цавуу түрхээрэй

Үүн дээр цавуу түрхээрэй
Үүн дээр цавуу түрхээрэй
Үүн дээр бага зэрэг цавуу түрхээрэй
Үүн дээр бага зэрэг цавуу түрхээрэй

мөн ар талыг нь сэргээнэ

Бидэнд 2 потенциометр хэрэгтэй болно. өөр хоёр мотортой ижил ажлыг хий

Алхам 13: Эхний хамтарсан подвал хийх

Анхны хамтарсан подвал хийх
Анхны хамтарсан подвал хийх
Анхны хамтарсан подвал хийх
Анхны хамтарсан подвал хийх
Анхны хамтарсан подвал хийх
Анхны хамтарсан подвал хийх

Энэ төслийг хийхийн тулд би хоол хийх самбар ашигласан. үүнийг ашиглах нь хямд бөгөөд бат бөх байдаг. Самбар дээрх хүрээг засахын тулд та хурц үзүүртэй боолтыг ашиглах хэрэгтэй болно. Энэ нь нэгэн зэрэг нүх, утас хийдэг.

6 мотор байдаг. Зүүн талд байгаа 3 мотор бол анхны мотор юм. Нөгөө талаар алхам алхмаас өмнө өөрчилсөн 3 мотор байдаг.

Алхам 14: Yaw хамтарсан болгох

Yaw хамтарсан болгох
Yaw хамтарсан болгох
Yaw хамтарсан болгох
Yaw хамтарсан болгох

Та M2 * 6мм шураг боолтыг ашиглах шаардлагатай болно.

Алхам 15: Эхний мотортой хамт эвхэхийг холбоно

Эхний мотортой Yaw холбоосыг угсарна
Эхний мотортой Yaw холбоосыг угсарна
Эхний мотортой Yaw холбоосыг угсарна
Эхний мотортой Yaw холбоосыг угсарна

Сүүлийн зургийг харж байгаа шиг та үеийг хэвтээ чиглэлд байрлуулах хэрэгтэй болно. Байршил нь мотор ба потенциометрийн 90 градус байх ёстой.

Өөрөөр хэлбэл, та тэдгээр байрлалаас цагийн зүүний дагуу цагийн зүүний дагуу 90 градус эргүүлэх боломжтой.

Алхам 16: Arduino нано өргөтгөлийн самбар бүхий Arduino наног угсарна

Arduino Nano өргөтгөлийн самбар бүхий Arduino Nano угсрах
Arduino Nano өргөтгөлийн самбар бүхий Arduino Nano угсрах
Arduino Nano өргөтгөлийн самбар бүхий Arduino Nano угсрах
Arduino Nano өргөтгөлийн самбар бүхий Arduino Nano угсрах

Чиглэлийг анхаарч үзээрэй. USB порт нь DC залгууртай ижил байх болно.

Алхам 17: Эхний давхаргын холболт

Эхний давхаргын холболт
Эхний давхаргын холболт
Эхний давхаргын холболт
Эхний давхаргын холболт

Потенциометр нь Arduino -ийн аналог 0 зүүтэй холбогддог. Та үүнийг зөв залгах ёстой. Энэхүү Arduino Nano нь 8 сувгийн ADC (Аналог дижитал хөрвүүлэгч) төхөөрөмжтэй. Үндсэндээ потенциометр нь аналог түвшин эсвэл хэлбэлзлийг өгдөг. Та ADC тээглүүр ашиглан вольтын утгыг уншиж болно

Нөгөө талаас, servo мотор нь Arduino -ийн Digital 9 -тэй холбогддог. Servo моторыг PWM (Pulse Width Modulation) ашиглан удирдах боломжтой. Arduino Nano нь 6 сувгийн PWM зүүтэй (зүү 9, 10, 11, 3, 5, 6). Тиймээс бид 6 хүртэлх servo мотор ашиглаж болно.

Энэ алхамд эх код иймэрхүү харагдаж байна

#оруулах

Servo servo [6]; void setup () {pinMode (A0, INPUT); servo [0].attach (9);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0]. бичих (газрын зураг (tempADC [0], 0, 1023, 0, 180));}

Алхам 18: Хоёр дахь давхаргыг угсарна

Хоёр дахь давхаргыг угсарна
Хоёр дахь давхаргыг угсарна
Хоёр дахь давхаргыг угсарна
Хоёр дахь давхаргыг угсарна
Хоёр дахь давхаргыг угсарна
Хоёр дахь давхаргыг угсарна
Хоёр дахь давхаргыг угсарна
Хоёр дахь давхаргыг угсарна

Хоёрдахь давхаргыг хийхэд бас хялбар байдаг. Анхаарах зүйл бол кабелийг Arduino -д залгахдаа зөв байрлуулах явдал юм.

  • Зүүн талын servomotor нь зүү 10 -тай холбогдсон байна
  • Зөв потенциометр нь A1 -тэй холбогддог

#оруулах

Servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); servo [0]. хавсаргах (9); servo [1].attach (10);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0]. бичих (газрын зураг (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1]. бичих (газрын зураг (tempADC [1], 0, 1023, 0, 180));}

Алхам 19: 3 -р давхаргын хүрээг угсарна

3 -р давхаргын хүрээг угсарна уу
3 -р давхаргын хүрээг угсарна уу

Алхам 20: Хүрээг 2 -р мотор / потенциометрээр угсарна

Хүрээг 2 -р мотор / потенциометрээр угсарна
Хүрээг 2 -р мотор / потенциометрээр угсарна
Хүрээг 2 -р мотор / потенциометрээр угсарна
Хүрээг 2 -р мотор / потенциометрээр угсарна
Хүрээг 2 -р мотор / потенциометрээр угсарна
Хүрээг 2 -р мотор / потенциометрээр угсарна
Хүрээг 2 -р мотор / потенциометрээр угсарна
Хүрээг 2 -р мотор / потенциометрээр угсарна

Алхам 21: 3 -р моторыг хамтарсан хүрээ рүү угсарна

3 -р моторыг хамтарсан хүрээ рүү угсарна
3 -р моторыг хамтарсан хүрээ рүү угсарна
3 -р моторыг хамтарсан хүрээ рүү угсарна
3 -р моторыг хамтарсан хүрээ рүү угсарна

Алхам 22: Кабелийг Arduino руу залгаарай

Кабелийг Arduino руу залгаарай
Кабелийг Arduino руу залгаарай
Кабелийг Arduino руу залгаарай
Кабелийг Arduino руу залгаарай
  • 3 -р моторыг 11 -р зүүгээр холбосон
  • 3 -р потенциометр нь А2 -тай холбогдсон

код иймэрхүү харагдаж байна

#Servo servo [6] оруулах; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); servo [0]. хавсаргах (9); servo [1]. хавсаргах (10); servo [2].attach (11);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0]. бичих (газрын зураг (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1]. бичих (газрын зураг (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2]. бичих (газрын зураг (tempADC [2], 0, 1023, 0, 180));}

Алхам 23: Эрхий хурууны хүрээг угсарна уу

Эрхий хурууны хүрээг угсарна уу
Эрхий хурууны хүрээг угсарна уу
Эрхий хурууны хүрээг угсарна уу
Эрхий хурууны хүрээг угсарна уу

Алхам 24: өнцгийг туршиж, тохируулна уу

Туршилт, өнцгийг тохируулах
Туршилт, өнцгийг тохируулах
Туршилт, өнцгийг тохируулах
Туршилт, өнцгийг тохируулах
Туршилт, өнцгийг тохируулах
Туршилт, өнцгийг тохируулах

USB кабелийг ямар ч тэжээлийн эх үүсвэрт оруулахад удахгүй робот асах болно. Өнцөг нь арай өөр байж болно. Өнцгийг нэг нэгээр нь тохируулна уу.

Алхам 25: Өөр нэг робот уу?

Бас нэг робот уу?
Бас нэг робот уу?
Бас нэг робот уу?
Бас нэг робот уу?

Хэрэв та дахиад нэг робот хийхийг хүсч байвал үүнийг хийж чадна. Сервүүдийг 3, 5, 6 -д залгаарай.

#Servo servo [6] оруулах; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); servo [0]. хавсаргах (9); servo [1]. хавсаргах (10); servo [2]. хавсаргах (11); servo [3]. хавсаргах (3); servo [4]. хавсаргах (5); servo [5].attach (6);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0]. бичих (газрын зураг (tempADC [0], 0, 1023, 0, 180)); servo [3]. бичих (газрын зураг (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1]. бичих (газрын зураг (tempADC [1], 0, 1023, 0, 180)); servo [4]. бичих (газрын зураг (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2]. бичих (газрын зураг (tempADC [2], 0, 1023, 0, 180)); servo [5]. бичих (газрын зураг (tempADC [2], 0, 1023, 0, 180));}

Алхам 26: Дууссан

Дууссан!
Дууссан!
Дууссан!
Дууссан!
Дууссан!
Дууссан!

Хэрэв танд асуух зүйл байвал үлдээнэ үү:)

Микроконтроллерийн тэмцээн
Микроконтроллерийн тэмцээн
Микроконтроллерийн тэмцээн
Микроконтроллерийн тэмцээн

Микроконтроллерийн тэмцээнд дэд байр эзэлсэн

Зөвлөмж болгож буй: