Mundarija:

Bosh aylanayotgan ninachi: 11 qadam
Bosh aylanayotgan ninachi: 11 qadam

Video: Bosh aylanayotgan ninachi: 11 qadam

Video: Bosh aylanayotgan ninachi: 11 qadam
Video: 5 TA KINOSTUDIYANING LOGOTIPINI KELIB CHIQISH TARIXI 2024, Noyabr
Anonim
Bosh aylanayotgan ninachi
Bosh aylanayotgan ninachi

Men ninachi yasadim. Ninachi boshini imo -ishorali sensori va servo dvigateli bilan aylantiradi.

komponentlar

  • Arduino UNO
  • Qaragan Grove - imo -ishora
  • FS90R Micro uzluksiz aylanish servo

1 -qadam: Konstitutsiya

Konstitutsiya
Konstitutsiya

Barmoq harakatini imo -ishorali sensori yordamida aniqlash va Arduino yordamida 360 ° uzluksiz aylanish servosining aylanish yo'nalishini boshqarish.

2 -qadam: ninachini yarating - bosh 1 -

Ninachini yarating - bosh 1
Ninachini yarating - bosh 1

Bosh 12 mm uzunlikdagi M8 vint bilan qilingan. Boshni servo bilan aylantirganda tayoqni kesilgan burchakda to'xtatish uchun simni kerakli uzunlikka kesib oling va vintga lehimlang.

3 -qadam: Ninachini yarating - 2 -bosh -

Ninachini yarating - 2 -bosh
Ninachini yarating - 2 -bosh

Ko'zlar va og'iz yaltiroq zargarlik muhrlari bilan qilingan. Men og'zini qalam bilan yozaman.

4 -qadam: Ninachini yarating - 3 -bosh -

Ninachini yarating - 3 -bosh
Ninachini yarating - 3 -bosh

Bosh va ko'krak orasidagi aloqa (servo) yong'oqdan iborat. Servoga biriktirilgan tuklar va yong'oqlarni tez yopishtiruvchi bilan mahkamlang.

5 -qadam: ninachini yarating - 1 -korpus -

Ninachini yarating - 1 -tana
Ninachini yarating - 1 -tana

Ejderning ko'kragiga servomotor yasang. Qorin kabi 60 mm uzunlikdagi M6 vint.

6 -qadam: ninachini yarating - 2 -korpus -

Ninachini yarating - 2 -tana
Ninachini yarating - 2 -tana

Oldindan yaratilgan yong'oqlarni servoga mahkamlang va blyashka patlarini simning oyoqlari bilan bog'lang.

7 -qadam: ninachini yarating - 3 -korpus -

Ninachini yarating - 3 -tana
Ninachini yarating - 3 -tana

Qalin simni servoga mahkamlang, shunda u boshni almashtiruvchi panjaraga tushadi. Men ingichka simning oyoqlarini shu qalin simga lehimlayman (zanglamaydigan po'lat uchun).

8 -qadam: Ninachini yarating - 4 -korpus -

Ninachini yarating - 4 -tana
Ninachini yarating - 4 -tana

Boshni yong'oqqa burang va ninachi tugadi. Servo yoqing va uni aylantiring.

9-qadam: 360 darajali uzluksiz aylanish

Bu servo dastlab Arduino IDE tarkibiga kirgan Servo kutubxonasi bilan ishlaydi, lekin oddiy servo dvigateldan biroz farq qiladi.

  • 90 darajali kirish bilan servo to'xtash joyi
  • 0 dan 89 gradusgacha kirish bilan soat yo'nalishi bo'yicha aylantiring. Burilish tezligi 90 darajadan uzoqroqqa oshadi.
  • 91 dan 180 gradusgacha kirish bilan soat sohasi farqli o'laroq aylantiring. Burilish tezligi 90 darajadan uzoqroqqa oshadi.

10 -qadam: Arduino kodi

Servo va imo -ishorali sensorni Arduino UNO -ga ulang.

Imo-ishoralar kutubxonasi quyidagilardan foydalanadi.

Men paj7620_9gestures.ino kod namunasiga qaradim.

Imo -ishora barmoqning soat yo'nalishi va teskari yo'nalishini aniqlashga majbur qildi.

Arduino raqamli 8 pinli GND ga ulanadi, shunda servo soat sohasi farqli o'laroq sekin aylanadi, shunda bosh vintini nonga burish mumkin.

Arduino -ning 8 pinli raqamli ochilishi normal ishlashni chiqaradi va imo -ishorani aniqlashni boshlaydi. Barmoq harakatining aylanishini aniqlaydi va servoga qarab harakat qiladi.

#include #include "paj7620.h" #include Servo myservo; // servoni boshqarish uchun servo ob'ekt yaratish

void setup () {uint8_t error = 0; Serial.begin (9600); myservo.attach (A0); // pinMode (8, INPUT_PULLUP) servo obyektiga 9 -pinli servo biriktiriladi; xato = paj7620Init (); // Paj7620 registrlarini ishga tushirish, agar (xato) {Serial.print ("INIT ERROR, CODE:"); Serial.println (xato); } boshqa {Serial.println ("INIT OK"); } Serial.println ("Ishoralaringizni kiriting: / n"); }

void loop () {uint8_t data = 0, data1 = 0, xato; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } boshqa {xato = paj7620ReadReg (0x43, 1 va ma'lumotlar); // Imo -ishora natijasi uchun Bank_0_Reg_0x43/0x44 ni o'qing. if (! xato) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("Soat yo'nalishi bo'yicha"); myservo.write (90 - 20); kechikish (800); tanaffus; ish GES_COUNT_CLOCKWISE_FLAG: Serial.println ("soat sohasi farqli"); myservo.write (90 + 20); kechikish (800); tanaffus; standart: myservo.write (90); tanaffus; }}}}

11 -qadam: operatsiya

Operatsiya
Operatsiya

Menda juda yaxshi boshi aylanayotgan ninachi bor!

Tavsiya: