Orodha ya maudhui:

Mashine ya Drum ya Arduino Servo: Hatua 4
Mashine ya Drum ya Arduino Servo: Hatua 4

Video: Mashine ya Drum ya Arduino Servo: Hatua 4

Video: Mashine ya Drum ya Arduino Servo: Hatua 4
Video: Использование драйвера шагового двигателя L298N Для управления 4-проводным шаговым двигателем 2024, Novemba
Anonim
Image
Image

Hii ni mashine mbili ndogo ya servo ndogo na Arduino Uno inayodhibitiwa au roboti. Servos zimewekwa kwenye bracket yenye umbo la L ya kuni ambayo imeshikiliwa kwenye ngoma ya mtego na sumaku 4 kali. Mikono ya servo imefungwa kwa vijiti viwili ambavyo hutumika kama vijiti vya ngoma. Ni kubwa sana lakini sio kubwa sana. Hiti kubwa zaidi zinaweza kupatikana kwa kutumia saizi za kawaida na vijiti halisi vya ngoma ambavyo ni nzito kidogo. Lakini hiyo pia itahitaji usambazaji tofauti wa umeme kwa servos. Kwa kutumia micro-servos vifaa vya Arduino vya sasa vya kutosha kuvipa nguvu moja kwa moja bila umeme tofauti.

Video inaonyesha jaribio langu la kupanga toleo rahisi la ngoma ya Wipeout solo. Kwa kweli sio kwenye mapigo halisi ya 160 kwa dakika lakini hiyo inaweza kupatikana kwa kuongeza servo nyingine ambayo itakuwa nzuri sana. Sijahesabu ni nini bpm ya juu inayoweza kupatikana kwa kutumia servo na inahitaji ucheleweshaji wa kupata kigoma kutoka kwa nafasi yake iliyoegeshwa hadi kichwa cha ngoma.

Midundo unayoweza kuunda imepunguzwa tu na mawazo yako na mashine ya ngoma ni rafiki mzuri wa kucheza naye kuliko mashine ya ngoma ya dijiti, ikiwa wewe ni mwanamuziki.

Kikwazo pekee ni kelele ya servo ambayo haionekani sana ingawa sauti ya kamera inaonekana kuichukua haswa.

Hatua ya 1: Jenga Bracket ya Servo

Jenga Brvo Bracket
Jenga Brvo Bracket
Jenga Brvo Bracket
Jenga Brvo Bracket

Bano hili limetengenezwa kutoka kwa vipande kadhaa vya plywood ya kupendeza ambayo nilikuwa nayo. Niliunda umbo la L kwa vipande viwili pamoja na bracket L ya chuma. Kisha mti mdogo wa kuni ulikuwa umewekwa gundi kwenye ukanda wa juu kushikilia zile servos mbili.

Nilikuwa na mabano mawili ya servo ambayo nilipiga kwenye kuni.

Nilitumia sumaku 4 za neodymium kushikilia bracket kwenye ngoma ya mtego.

Hatua ya 2: Funga Servos kwa Arduino Uno

Waya Servos kwa Arduino Uno
Waya Servos kwa Arduino Uno

Servos vcc (waya wa kati) huenda kwa pini za Arduino 5 v.

Waya wa chini kwa Arduino ardhini.

Waya za ishara huenda kwenye pini 6 na 7.

Ngao ya servo ingeifanya iwe rahisi zaidi ikiwa unayo.

Hatua ya 3: Msimbo wa Arduino…

Chini ni mchoro rahisi wa kucheza Wipeout. Lazima ubadilishe tu nafasi za servo kwa usanidi wako fulani.

Furahiya!

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

# pamoja na "servo.h"

// mpiga ngoma wa servo Jim Demello Juni 2018

Servo myservo1, myservo2;

int servoPin6 = 6; // servo

int servoPin7 = 7;

batili myServo (int servoPosition, int servoNumber) {

ikiwa (servoNumber == 1) {

myservo1.andika (nafasi ya servo);

}

ikiwa (servoNumber == 2) {

myservo2.andika (servoPosition);

}

}

batili yaOneEighthNote (int servoNumber, int beat) {

kuchelewesha intVal = 60;

ikiwa (servoNumber == 1) {

ikiwa (piga) {beat = 10; // ikiwa hupigwa = 1 kisha ongeza servo kidogo zaidi chini kwa thump yenye nguvu

}

myServo (pigo 150 +, Nambari ya servo); // chini

kuchelewesha (kucheleweshaVal);

myServo (100, servoNumber); // juu

kuchelewesha (kucheleweshaVal);

}

ikiwa (servoNumber == 2) {

ikiwa (piga) piga = -10;

myServo (60 + beat, servoNumber); // chini

kuchelewesha (kucheleweshaVal);

myServo (80, servoNumber); // juu

kuchelewesha (kucheleweshaVal);

}

}

kuanzisha batili ()

{

// Serial. Kuanza (9600);

myservo1.ambatanisha (servoPin6, 1000, 2000); // inaunganisha servo kwenye pini 9 kwa kitu cha servo

andika (100);

myservo2.ambatanisha (servoPin7, 1000, 2000); // inaunganisha servo kwenye pini 9 kwa kitu cha servo

kuandika [90];

}

kitanzi batili () {

kufuta (); // utaratibu wa kuifuta ngoma

// doOneEighthNote (2, 0);

kuchelewesha (40);

}

kufuta kabisa () {

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0); // parm ya kwanza ni nambari ya servo na parm ya pili hupigwa (1 = beat, 0 = hakuna beat)

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 1); doOneEighthNote (1, 0);

doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 1); doOneEighthNote (1, 0);

doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 1); doOneEighthNote (1, 0);

doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);

}

Ilipendekeza: