Съдържание:

Люлеещо се водно конче: 11 стъпки
Люлеещо се водно конче: 11 стъпки

Видео: Люлеещо се водно конче: 11 стъпки

Видео: Люлеещо се водно конче: 11 стъпки
Видео: Две калинки като балеринки + 11 песничек | Компилация 22 минути | Детски песнички | С текст 2024, Ноември
Anonim
Люлеещо се водно конче с глава
Люлеещо се водно конче с глава

Направих водно конче. Водното конче люлее глава със сензор за жестове и серво мотор.

компоненти

  • Arduino UNO
  • Seeed Grove - Жест
  • FS90R Микро непрекъснато въртящо се серво

Стъпка 1: Конституция

Конституция
Конституция

Откриване на движението на пръста със сензора за жестове и контролиране на посоката на въртене на 360 ° серво за непрекъснато въртене с Arduino.

Стъпка 2: Създайте Dragonfly - Глава 1 -

Създайте Dragonfly - Глава 1
Създайте Dragonfly - Глава 1

Главата е направена с винт M8 с дължина 12 мм. При завъртане на главата със серво отрежете пръчката, за да спрете под фиксиран ъгъл, отрежете проводника до подходящата дължина и го запоявайте към винта.

Стъпка 3: Създайте Dragonfly - Глава 2 -

Създайте Dragonfly - глава 2
Създайте Dragonfly - глава 2

Очите и устата бяха направени с блестящи печати за бижута. Пиша устата с химикалка.

Стъпка 4: Създайте Dragonfly - Глава 3 -

Създайте Dragonfly - Глава 3
Създайте Dragonfly - Глава 3

Връзката между главата и гърдите (серво) се състои от гайка. Прикрепете перата и гайките, прикрепени към серво, с незабавно лепило.

Стъпка 5: Създайте Dragonfly - Тяло 1 -

Създайте Dragonfly - Тяло 1
Създайте Dragonfly - Тяло 1

Направете сервомотора до гърдите на водното конче. Прикрепен винт М6 с дължина 60 мм като корем.

Стъпка 6: Създайте Dragonfly - Body 2 -

Създайте Dragonfly - Body 2
Създайте Dragonfly - Body 2

Завийте създадените по -рано гайки към сервото и свържете перата на плаките с краката на жицата.

Стъпка 7: Създайте Dragonfly - Body 3 -

Създайте Dragonfly - Body 3
Създайте Dragonfly - Body 3

Прикрепете дебел проводник към серво, така че да се захване за лентата за смяна на главата. Запоявам краката на тънката жица към тази дебела тел (за неръждаема стомана).

Стъпка 8: Създайте Dragonfly - Body 4 -

Създайте Dragonfly - Body 4
Създайте Dragonfly - Body 4

Завийте главата в гайката и водното конче е завършено. Активирайте серво и го завъртете.

Стъпка 9: 360-градусово серво за непрекъснато въртене

Това серво работи с Servo библиотеката, която първоначално беше включена в Arduino IDE, но малко по -различна от нормалния серво мотор.

  • Серво стоп с 90 градусов вход
  • Завъртете по часовниковата стрелка с вход от 0 до 89 градуса. Скоростта на въртене се увеличава още от 90 градуса.
  • Завъртете обратно на часовниковата стрелка с вход от 91 до 180 градуса. Скоростта на въртене се увеличава още от 90 градуса.

Стъпка 10: Arduino код

Свържете серво и сензор за жестове към Arduino UNO.

Библиотеката на сензора за жестове използва следното.

Погледнах примерния код на paj7620_9gestures.ino.

Жестът го накара да разпознае посоката на часовниковата стрелка и посоката на пръста обратно на часовниковата стрелка.

Цифровият 8 -пинов Arduino е свързан към GND, така че сервото да се върти бавно в посока обратна на часовниковата стрелка, така че винтът с глава може да се завърти в гайката.

Цифровото 8 -пиново отваряне на Arduino освобождава нормалната работа и започва откриването на сензора за жестове. Открива въртенето на движението на пръста и се движи според серво.

#include #include "paj7620.h" #include Servo myservo; // създаване на серво обект за управление на серво

void setup () {uint8_t error = 0; Serial.begin (9600); myservo.attach (A0); // свързва серво на щифт 9 към серво обекта pinMode (8, INPUT_PULLUP); грешка = paj7620Init (); // инициализира регистрите Paj7620 if (error) {Serial.print ("INIT ERROR, CODE:"); Serial.println (грешка); } else {Serial.println ("INIT OK"); } Serial.println ("Моля, въведете вашите жестове: / n"); }

void loop () {uint8_t data = 0, data1 = 0, грешка; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } else {error = paj7620ReadReg (0x43, 1, & data); // Прочетете Bank_0_Reg_0x43/0x44 за резултата от жеста. if (! грешка) {switch (данни) {случай GES_CLOCKWISE_FLAG: Serial.println ("По посока на часовниковата стрелка"); myservo.write (90 - 20); забавяне (800); прекъсване; регистър GES_COUNT_CLOCKWISE_FLAG: Serial.println ("обратно на часовниковата стрелка"); myservo.write (90 + 20); забавяне (800); прекъсване; по подразбиране: myservo.write (90); прекъсване; }}}}

Стъпка 11: Операция

Операция
Операция

Имам хубаво водно конче!

Препоръчано: