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

Արդուինոն դառնում է խոսող Թոմ. 6 քայլ
Արդուինոն դառնում է խոսող Թոմ. 6 քայլ

Video: Արդուինոն դառնում է խոսող Թոմ. 6 քայլ

Video: Արդուինոն դառնում է խոսող Թոմ. 6 քայլ
Video: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 2024, Նոյեմբեր
Anonim
Արդուինոն դառնում է խոսող Թոմ
Արդուինոն դառնում է խոսող Թոմ
Արդուինոն դառնում է խոսող Թոմ
Արդուինոն դառնում է խոսող Թոմ

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

Չնայած այն, որ հնչում է պարզ, այս ամբողջ ընթացակարգը պահանջում է բազմաթիվ բարդ քայլեր, օրինակ ՝ թվային տեսքով միկրո անալոգային մուտքի նմուշառում, ձայնի մանիպուլյացիա ՝ Թոմին յուրահատուկ ձայն հաղորդելու համար, այնուհետև այդ բոլոր թվային արժեքների ազդանշանի վերակառուցում ՝ այն բարձրախոսով նվագարկելու համար:. Այս բոլոր բարդ քայլերը, բայց սմարթֆոնը դրան նմանեցրեց հմայքը նույնիսկ 9-10 տարի առաջ:

Հետաքրքիրը կլինի տեսնելը, թե արդյոք նույնը կարելի է անել էժան միկրոկոնտրոլերի վրա հիմնված Arduino տախտակի հետ: Այսպիսով, այս ուսանելի ծրագրում ես ցույց կտամ, թե ինչպես կարող եք պարզ Talking Tom- ի նման նախագիծ պատրաստել Arduino- ից և որոշ այլ էժան էլեկտրոնիկայից:

Այս հրահանգը գրվել է Դելիում Hatchnhack Makerspace- ի հետ համատեղ

EԱՆՈԹՈ:ԹՅՈՆ. Սա ուսանելի է նախագծի առաջին տարբերակն է, որն ավարտում է Talking Tom- ի «Խոսող» գործառույթը, որտեղ arduino- ն կկարողանա կրկնել այն, ինչ դու նրան կասես: Ձայնի փոփոխման մասը լուսաբանվելու է ապագա տարբերակում, չնայած, որ Arduino- ի ներկառուցված ADC- ի ավելի փոքր լուծման պատճառով ձայնագրված աուդիոն արդեն մի փոքր այլ է հնչում: P (Սա հստակ նկատելի է նախագծի տեսանյութում):

Այսպիսով, եկեք սկսենք:

Քայլ 1: Օգտագործված նյութեր

Օգտագործված նյութեր
Օգտագործված նյութեր
Օգտագործված նյութեր
Օգտագործված նյութեր
Օգտագործված նյութեր
Օգտագործված նյութեր

Սարքավորումներ:

  • Arduino UNO
  • MAX4466 խոսափողի մոդուլ ՝ կարգավորելի շահումով
  • SPI- ի վրա հիմնված SD Card Reader մոդուլ
  • SD քարտ
  • Աուդիո ուժեղացուցիչ, ինչպես համակարգչի բարձրախոսը, PAM8403 ուժեղացուցիչի մոդուլը և այլն:
  • Բարձրախոսներ `ուժեղացուցիչին միանալու համար
  • Աուդիո կին Jack
  • 1 x 1k ohm դիմադրություն
  • 2 x 10k ohm դիմադրություն
  • 1 x 10uF կոնդենսատոր
  • 2 x կոճակ
  • Jumper լարերը

Softwareրագրային ապահովում:

  • Arduino IDE
  • Համարձակություն (ըստ ցանկության)
  • TMRpcm և SD գրադարան Arduino- ի համար

Քայլ 2. Նախագծի հիմնական ակնարկ

Նախագիծը հիմնականում ունի 2 առանձնահատկություն.

  • Այն կարող է պատահականորեն ընտրված աուդիո նվագարկել SD քարտում նախապես տեղադրված աուդիո ֆայլերից ՝ ձայնային էֆեկտների համար և այլն:
  • Այն կարող է ձայնագրել խոսափողից ձայնի մուտքագրումը, այնուհետև նվագարկել այն ձայնագրության դադարեցումից անմիջապես հետո: Սա թույլ է տալիս arduino- ին կրկնել այն, ինչ լսել է խոսափողի միջոցով:

Նախագծի օգտագործողի միջերեսը հիմնականում բաղկացած է 2 կոճակից, որոնցից յուրաքանչյուրը համապատասխանում է վերը նշված հատկություններից մեկին:

SD քարտից աուդիո ֆայլերի ձայնագրման և նվագարկման հիմնական ծանր աշխատանքը կատարվում է TMRpcm գրադարանի կողմից:

Ձայնագրությունը օգտագործում է MAX4466 խոսափողի մոդուլը, arduino- ի ներքին ADC- ն և TMRpcm գրադարանը `աուդիո նմուշառելու համար, այնուհետև այն ժամանակավորապես պահելու համար SD քարտում` որպես '.wav' ֆայլ `նվագարկման համար: '.wav' աուդիո ֆայլերը օգտագործում են PCM (Pulse Code Modulation) ձայնային տվյալները թվային ձևաչափով պահելու համար, որպեսզի այն նորից հեշտությամբ նվագարկվի: Ընդհանրապես, աուդիո նախագծերի համար ավելի լավ է օգտագործել արտաքին ADC, քանի որ Arduino- ի ADC- ի լուծումը այնքան էլ բարձր չէ, բայց այն աշխատում է այս նախագծի համար:

Աուդիո ֆայլերի նվագարկումը (նախապես տեղադրված և ձայնագրված) կատարվում է նաև TMRpcm գրադարանի օգնությամբ, որն աուդիոն թողարկում է որպես PWM ազդանշան arduino- ի PWM միացված պինից: Այս ազդանշանը այնուհետև մտնում է RC զտիչ `անալոգային ազդանշան ստանալու համար, որն այնուհետև սնվում է ուժեղացուցիչի մեջ` ձայնը բարձրախոսով նվագարկելու համար: Այս մասի համար կարող եք նաև օգտագործել արտաքին DAC, քանի որ arduino- ն ներքին չունի: DAC- ի օգտագործումը կարող է լինել ավելի լավ տարբերակ, քանի որ դա էապես կբարելավի ձայնի որակը:

SD քարտի մոդուլի և arduino- ի միջև հաղորդակցումը կատարվում է SPI (Serial peripheral Interface) միջոցով: Կոդն օգտագործում է SD & SPI գրադարանը ՝ SD քարտի բովանդակությանը հեշտությամբ մուտք գործելու համար:

Քայլ 3. Պատրաստեք SD քարտ և միացրեք SD քարտի մոդուլը

Պատրաստեք SD քարտը և միացրեք SD քարտի մոդուլը
Պատրաստեք SD քարտը և միացրեք SD քարտի մոդուլը
Պատրաստեք SD քարտը և միացրեք SD քարտի մոդուլը
Պատրաստեք SD քարտը և միացրեք SD քարտի մոդուլը
Պատրաստեք SD քարտը և միացրեք SD քարտի մոդուլը
Պատրաստեք SD քարտը և միացրեք SD քարտի մոդուլը
Պատրաստեք SD քարտը և միացրեք SD քարտի մոդուլը
Պատրաստեք SD քարտը և միացրեք SD քարտի մոդուլը
  • Նախ պետք է ձևակերպել որպես SD քարտ ՝ FAT16 կամ FAT32 ֆայլային համակարգով (կարող եք օգտագործել ձեր սմարթֆոնը ՝ SD քարտը ձևակերպելու համար):
  • Այժմ նախապես տեղադրեք.wav ձայնային ֆայլեր SD քարտում: Դուք կարող եք.wav ֆայլեր ստեղծել Audacity- ով (տես ստորև բերված հրահանգները): Հիշեք, որ ֆայլերը անվանեք որպես audio_1.wav, audio_2.wav, audio_3.wav և այլն:

SD քարտի մոդուլն օգտագործում է SPI ՝ տվյալները արդուինոյի հետ հաղորդակցելու համար: Հետևաբար, այն միանում է միայն այն կապումներին, որոնց SPI- ն միացված է: Այս կապերը հետևյալն են.

  • Vcc - 5 վ
  • GND - GND
  • MOSI (Master Out Slave In) - փին 11
  • MISO (Master In Slave Out) - կապ 12
  • CLK (ockամացույց) - կապ 13
  • SS/CS (Slave Select/Chip Select) - փին 10

Audacity Software ծրագրով ստեղծում է.wav ֆայլ:

  • Բացեք աուդիո ֆայլը, որը ցանկանում եք փոխարկել.wav- ին Audacity- ում:
  • Կտտացրեք ֆայլի անվան վրա, այնուհետև ընտրեք «Sprereo to Mono»: Այս տարբերակը ստերեո ձայնը բաժանում է երկու մոնո ալիքների: Այժմ կարող եք փակել ալիքներից մեկը:
  • Փոխեք «Rրագրի տոկոսադրույքի» արժեքը ներքևում մինչև 16000 Հց: Այս արժեքը համապատասխանում է arduino- ի ներքին ADC- ի նմուշառման առավելագույն հաճախականությանը:
  • Այժմ հասել եմ Ֆայլ-> Արտահանել/Արտահանել որպես WAV:
  • Ընտրեք ֆայլի համապատասխան վայրը և անունը: Կոդավորման ընտրացանկից ընտրեք «Unsigned 8-bit PCM», քանի որ մենք օգտագործում ենք PCM ձևաչափը ՝ ձայնը թվային ձևաչափով պահելու համար:

Քայլ 4: Միացրեք աուդիո ելքը և խոսափողը

Միացրեք աուդիո ելքը և խոսափողը
Միացրեք աուդիո ելքը և խոսափողը
Միացրեք աուդիո ելքը և խոսափողը
Միացրեք աուդիո ելքը և խոսափողը
Միացրեք աուդիո ելքը և խոսափողը
Միացրեք աուդիո ելքը և խոսափողը
Միացրեք աուդիո ելքը և խոսափողը
Միացրեք աուդիո ելքը և խոսափողը

Խոսափողը միացնելը

  • Vcc - 3.3 վ
  • GND - GND
  • OUT - A0 կապում

ՆՇՈՒՄ:

  • Փորձեք միկրոֆոնը միացնել ուղիղ arduino- ին ՝ սեղանատախտակ օգտագործելու փոխարեն, քանի որ դա կարող է մուտքային ազդանշանում անհարկի աղմուկ առաջացնել:
  • Համոզվեք, որ միկրոֆոնի մոդուլի վերնագրերը մաքուր կպցրեք, քանի որ վատ միացման հոդերը նույնպես աղմուկ են առաջացնում:
  • Այս խոսափողի մոդուլն ունի կարգավորելի շահույթ, որը կարելի է կառավարել տախտակի հետևի մասում գտնվող կաթսայի օգնությամբ: Ես ձեզ կառաջարկեի որոշ չափով ցածր պահել շահույթը, քանի որ այն այնուհետև շատ չի ուժեղացնի աղմուկը, մինչդեռ կարող եք խոսել այն բերանի մոտ պահելով, ինչը կհանգեցնի ավելի մաքուր արդյունքի:

Աուդիո ելքի միացում

  • 10 uF կոնդենսատորը և 1 կիլոմետրանոց դիմադրիչը շարքով տեղադրեք տախտակի վրա ՝ ռեզիստորին միացված կոնդենսատորի պոզիտիվով: Դրանք միասին կազմում են RC զտիչ, որը PWM ելքը փոխակերպում է անալոգային ազդանշանի, որը կարող է սնվել ուժեղացուցիչի մեջ:
  • Միացրեք Arduino- ի 9 -րդ քորոցը դիմադրության մյուս ծայրին:
  • Կոնդենսատորի բացասական տերմինալը միանում է կանացի աուդիո խցիկի ձախ և աջ ալիքին:
  • Աուդիո խցիկի GND- ը միանում է GND- ին:
  • Աուդիո խցիկը միացված է ուժեղացուցիչին Aux մալուխով: Իմ դեպքում ես օգտագործել եմ իմ համակարգչի բարձրախոս համակարգը:

ՆՇՈՒՄ:

PWM- ի ՝ որպես աուդիո ելքի օգտագործումը կարող է լավագույն տարբերակը չլինել, քանի որ արտաքին DAC- ն կապահովի շատ ավելի լավ լուծում և որակ: Բացի այդ, RC ֆիլտրի կոնդենսատորը և դիմադրությունը կարող են առաջացնել անցանկալի աղմուկ: Բայց, այնուամենայնիվ, արտադրանքը բավականին արժանապատիվ էր այս նախագծի համար:

Քայլ 5: Լարեք կոճակները

Լարացրեք կոճակները
Լարացրեք կոճակները
Լարացրեք կոճակները
Լարացրեք կոճակները
Լարացրեք կոճակները
Լարացրեք կոճակները

Նախագիծն օգտագործում է կոճակները սեղմելու համար ՝ որպես օգտագործողի միջերես: Երկուսն էլ կատարում են տարբեր գործառույթներ և օգտագործվում են տարբեր կերպ, բայց ունեն նույն լարերը: Նրանց կապը հետևյալն է.

  • Տեղադրեք կոճակները սեղանի վրա:
  • Կոճակի մեկի տերմինալն ամրացրեք arduino- ի 2 -ին ՝ 10k ohm քաշվող ներքևի դիմադրիչով: Կոճակի մյուս տերմինալը միանում է 5 վ -ին: Այսպիսով, երբ կոճակը սեղմվում է, քորոց 2 -ը դառնում է HIGH, և մենք դա կարող ենք հայտնաբերել ծածկագրում:
  • Մյուս կոճակը նույնը միանում է arduino- ի կապում 3 -ին, 2 -ի փոխարեն:

2-րդ կապին միացված կոճակը մեկ անգամ սեղմելու դեպքում նվագարկում է պատահական աուդիո ֆայլ SD քարտի նախապես տեղադրված աուդիո ֆայլերի շարքից:

3 -րդ կապին միացված կոճակը ձայնագրման համար է: Ձայնագրման համար պետք է սեղմել և պահել այս կոճակը: Արդուինոն սկսում է ձայնագրել այս կոճակը սեղմելուց անմիջապես հետո և դադարեցնել ձայնագրությունը, երբ այն բաց է թողնվում: Ձայնագրությունը դադարեցնելուց հետո այն անմիջապես կրկնում է այդ ձայնագրությունը:

Քայլ 6: Վերբեռնեք ծածկագիրը

Վերբեռնեք ծածկագիրը
Վերբեռնեք ծածկագիրը
Վերբեռնեք ծածկագիրը
Վերբեռնեք ծածկագիրը
Վերբեռնեք ծածկագիրը
Վերբեռնեք ծածկագիրը

Նախքան ծածկագիրը վերբեռնելը, համոզվեք, որ տեղադրել եք բոլոր անհրաժեշտ գրադարանները, ինչպիսիք են TMRpcm, SD և այլն:

Դուք կարող եք նաև բացել Սերիայի մոնիտորը ՝ ծածկագիրը վերբեռնելուց հետո ՝ հետադարձ կապ ստանալու համար, թե ինչ է անում arduino- ն:

Ներկայումս ծածկագիրը չի շահարկում ձայնագրված ձայնը ՝ այն այլ կերպ հնչեցնելու համար, բայց ես նախատեսում եմ այս հնարավորությունը ներառել հաջորդ տարբերակում, որտեղ գուցե կարողանաք զամբյուղի օգնությամբ սահմանել ձայնային ազդանշանի ելքային հաճախականությունը և ստանալ տարբեր տեսակի ձայներ:.

Եվ Դուք Կատարված եք !!

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