Բովանդակություն:

Ձայնը վերահսկվող ձայնով - Arduino դպրոց նախագիծ. 4 քայլ (նկարներով)
Ձայնը վերահսկվող ձայնով - Arduino դպրոց նախագիծ. 4 քայլ (նկարներով)

Video: Ձայնը վերահսկվող ձայնով - Arduino դպրոց նախագիծ. 4 քայլ (նկարներով)

Video: Ձայնը վերահսկվող ձայնով - Arduino դպրոց նախագիծ. 4 քայլ (նկարներով)
Video: LM13600 տվյալների թերթիկի սինթեզ՝ մեկ ուժեղացուցիչ VCO 2024, Նոյեմբեր
Anonim
Ձայնի վերահսկում, որը վերահսկվում է ձայնով - Arduino դպրոցական նախագիծ
Ձայնի վերահսկում, որը վերահսկվում է ձայնով - Arduino դպրոցական նախագիծ

Սա առաջին անգամն է, ինչ աշխատում եմ Arduino- ի հետ և աշխատում եմ նման բանի հետ երբևէ, այնպես որ կներեք, եթե սխալներ թույլ տվեցի: Այս գաղափարն ունեցա, երբ մտածեցի իմ հոբբիների մասին, որոնք նկարչությունն ու երաժշտությունն են: Այսպիսով, ես փորձեցի երկուսը համատեղել սրա մեջ: Ձայնը ազդող ինքնակառավարվող թև:

Քայլ 1: Քայլ 1: Նյութեր

- Արդուինո Ունո

- Breadboard

- Ձայնի դետեկտոր (Sparkfun sen-12642)

- 2 (մինի) սերվո

- Վզկապի փաթաթում / կայծակ կապեր

- Փայտ և թուղթ

- մի բան, որի հետ կարող ես նկարել/գրել

Քայլ 2: Քայլ 2: Կարգավորում

Քայլ 2: Կարգավորում
Քայլ 2: Կարգավորում

Սկզբում միացրեցի Սերվոյի, իսկ հետո ձայնի դետեկտորը: Sparkfun sen-12642 ձայնային դետեկտորն ունի 3 ելք, ես օգտագործել եմ միայն «ծրարի» ելքը:

Servo 1 = կապում ~ 9

Servo 2 = կապում ~ 10

Ձայնի դետեկտոր = կապ A0

Կարմիր գծերը (5v) միացված են հացատախտակի դրական կողմին, իսկ սև գծերը (գետնին) `բացասական կողմին:

Քայլ 3. Քայլ 3. Ոչ էլեկտրոնիկա

Քայլ 3: Ոչ էլեկտրոնիկա
Քայլ 3: Ոչ էլեկտրոնիկա
Քայլ 3: Ոչ էլեկտրոնիկա
Քայլ 3: Ոչ էլեկտրոնիկա
Քայլ 3: Ոչ էլեկտրոնիկա
Քայլ 3: Ոչ էլեկտրոնիկա

Համոզվեք, որ սերվոները կայուն են և ճիշտ տեղում: Ես դրանք ամրացնելու համար օգտագործեցի փողկապի փաթաթաններ: Դրանից հետո ես փողկապի փաթաթաներով կապեցի սերվոյի (փոխարինելի) վերին հատվածները փայտե թևերին: Դրանից հետո դուք կարող եք միացնել փայտե ձեռքի մասերը սերվոյին: Միացրեք բոլոր լարերը Arduino- ին և տախտակին:

Դրանից հետո ես լարերը միացրեցի ձայնի դետեկտորին:

Քայլ 4: Քայլ 4: Կոդ

Ես ոչ մի կերպ մոտ չեմ կոդավորելու լավ լինելուն, բայց ես ամեն ինչ արեցի, և ինտերնետը շատ օգնեց:)

#ներառել Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;

void setup () {Serial.begin (9600);

// Displayուցադրել կարգավիճակը

Serial.println («Նախնականացված»); myservo1.attach (9); myservo2.attach (10); }

դատարկ շրջան ()

{int արժեքը;

// Ստուգեք ծրարի մուտքագրումը

արժեք = analogRead (PIN_ANALOG_IN);

// Enրարի արժեքը ազդում է սերվոյի վրա

Serial.println (արժեքը); եթե (արժեք 5) && (արժեք 10) && (արժեք 20) && (արժեք 30) && (արժեք 60)) {myservo1.write (պատահական (0, 90)); myservo2.write (պատահական (0, 90)); }

ուշացում (180);

}

Խորհուրդ ենք տալիս: