Sisukord:
- Samm: kasutatud materjalid
- 2. samm: projekti põhiülevaade
- Samm: valmistage SD -kaart ette ja ühendage SD -kaardi moodul
- Samm: ühendage heliväljund ja mikrofon
- Samm: ühendage nupud juhtmega
- Samm: laadige kood üles
Video: Arduino saab rääkivaks Tomiks: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Üks mu vanimaid mälestusi nutitelefoni kasutamisest oli mängu „Talking Tom” mängimine. Mäng oli päris lihtne. Seal on kass nimega Tom, kes oskab rääkida. Mängus kuulas Tom mis tahes sisendit telefoni mikrofoni kaudu ja kordas seejärel kuuldut. Nii et mida iganes Tomile öelda, kordab see sama asja oma terava häälega.
Kuigi see kõlab lihtsalt, nõuab kogu see protseduur mitmeid keerukaid samme, näiteks mikrode analoogsisendi proovivõtmine digitaalsel kujul, heli manipuleerimine, et anda Tomile ainulaadne hääl, ja seejärel rekonstrueerida kõigi nende digitaalsete väärtuste signaal, et seda kõlari kaudu taasesitada. Kõik need keerulised sammud, kuid nutitelefon sai sellega nagu võlu hakkama isegi 9–10 aastat tagasi!
Huvitav oleks näha, kas sama saab teha odava mikrokontrolleril põhineva Arduino plaadiga. Niisiis, selles juhendis näitan, kuidas saate Arduino ja mõne muu odava elektroonika abil teha lihtsa Talking Tom'i sarnase projekti.
See juhend on kirjutatud koostöös Delhi Hatchnhack Makerspace'iga
MÄRKUS. See juhend on projekti esimene versioon, mis täiendab Talking Tom'i funktsiooni "Talking", kus arduino saab korrata kõike, mida talle ütlete. Hääle muutmise osa on tulevases versioonis kajastatud, kuigi Arduino sisseehitatud ADC väiksema eraldusvõime tõttu kõlab salvestatud heli juba natuke teisiti: P (Seda on projekti videost selgelt märgata).
Nii et alustame!
Samm: kasutatud materjalid
Riistvara:
- Arduino UNO
- MAX4466 mikrofonimoodul reguleeritava võimendusega
- SPI -põhine SD -kaardi lugeja moodul
- SD -kaart
- Helivõimendi nagu arvuti kõlar, PAM8403 võimendusmoodul jne.
- Kõlarid võimendiga ühendamiseks
- Naissoost helipistik
- 1 x 1k oomi takisti
- 2 x 10k oomi takisti
- 1 x 10uF kondensaator
- 2 x nupp
- Jumper juhtmed
Tarkvara:
- Arduino IDE
- Audacity (valikuline)
- TMRpcm ja SD raamatukogu Arduino jaoks
2. samm: projekti põhiülevaade
Projektil on peamiselt 2 funktsiooni:
- See võib esitada juhuslikult valitud heli SD-kaardile eelinstallitud helifailide komplektist heliefektide jaoks jne.
- See suudab salvestada mikrofonist sisestatud heli ja seejärel taasesitada kohe, kui salvestamine on peatunud. See võimaldab arduinol korrata kõike, mida ta mikrofoni kaudu kuulis.
Projekti kasutajaliides koosneb peamiselt kahest nupust, millest igaüks vastab ühele ülaltoodud funktsioonile.
Peamise raske töö SD -kaardilt helifailide salvestamise ja esitamise eest hoolitseb TMRpcm raamatukogu
Helisalvestis kasutab heli proovimiseks MAX4466 mikrofonimoodulit, arduino sisemist ADC -d ja TMRpcm raamatukogu ning salvestab selle ajutiselt taasesitamiseks SD -kaardile.wav -failina. ".wav" helifailid kasutavad heliandmete salvestamiseks digitaalses vormingus PCM -i (impulsskoodi modulatsiooni), et neid oleks lihtne uuesti esitada. Üldiselt on helipõhiste projektide jaoks parem kasutada välist ADC -d, kuna Arduino ADC eraldusvõime ei ole nii kõrge, kuid see sobib selle projekti jaoks.
Helifailide (eelinstallitud ja salvestatud) esitamine toimub ka TMRpcm raamatukogu abil, mis väljastab heli PWM-signaalina arduino PWM-toega tihvtilt. See signaal suunatakse seejärel RC -filtrisse, et saada analoogsignaal, mis seejärel suunatakse võimendisse heli esitamiseks läbi kõlari. Selle osa jaoks võite kasutada ka välist DAC -i, kuna arduino sisemiselt seda ei tee. DAC -i kasutamine võib olla parem valik, kuna see parandaks oluliselt helikvaliteeti.
Side SD -kaardimooduli ja arduino vahel toimub SPI (Serial perheral Interface) kaudu. Kood kasutab SD- ja SPI -teeki, et hõlpsalt SD -kaardi sisule juurde pääseda.
Samm: valmistage SD -kaart ette ja ühendage SD -kaardi moodul
- Kõigepealt peate vormindama SD -kaardina FAT16 või FAT32 failisüsteemiga (SD -kaardi vormindamiseks saate kasutada oma nutitelefoni).
- Nüüd installige SD-kaardile mõned.wav helifailid. Audacity abil saate luua.wav -faile (vt allolevaid juhiseid). Ärge unustage nimetada faile audio_1.wav, audio_2.wav, audio_3.wav ja nii edasi.
SD -kaardi moodul kasutab SPI -d andmete edastamiseks arduinoga. Seetõttu ühendub see ainult nende tihvtidega, millel on SPI lubatud. Need ühendused on järgmised:
- Vcc - 5v
- GND - GND
- MOSI (Master Out Slave In) - tihvt 11
- MISO (Master In Slave Out) - tihvt 12
- CLK (kell) - tihvt 13
- SS/CS (alamvalik/kiibi valimine) - tihvt 10
. Wav -faili genereerimine tarkvaraga Audacity:
- Avage Audacity helifail, mille soovite teisendada.wav -failiks.
- Klõpsake faili nimel ja seejärel valige „Split Stereo to Mono”. See suvand jagab stereoheli kaheks monokanaliks. Nüüd saate ühe kanali sulgeda.
- Muutke "Project Rate" väärtus allosas 16000 Hz. See väärtus vastab arduino sisemise ADC maksimaalsele proovivõtusagedusele.
- Nüüd jõudsin menüüsse File-> Export/Export as WAV.
- Valige sobiv asukoht ja faili nimi. Valige kodeerimismenüüst „Unsigned 8-bit PCM”, kuna me kasutame heli digitaalses vormingus salvestamiseks PCM-vormingut.
Samm: ühendage heliväljund ja mikrofon
Mikrofoni ühendamine:
- Vcc - 3.3v
- GND - GND
- OUT - A0 tihvt
MÄRGE:
- Proovige leiba asemel kasutada mikrofoni ühendamist otse arduinoga, kuna see võib sisendsignaalis tekitada tarbetut müra.
- Jootke kindlasti mikrofonimooduli päised puhtalt jootma, kuna halvad jootekohad tekitavad ka müra.
- Sellel mikrofonimoodulil on reguleeritav võimendus, mida saab juhtida plaadi tagaküljel asuva poti abil. Soovitan teil hoida võimendust mõnevõrra madalal, kuna see ei võimenda müra kuigi palju, kui saate rääkida, hoides seda suu lähedal, mille tulemuseks on puhtam väljund.
Heliväljundi ühendamine:
- Asetage 10 uF kondensaator ja 1 k ohm takisti järjestikku leivaplaadile, kusjuures takisti külge ühendatud kondensaatori positiivne külg. Need koos moodustavad RC -filtri, mis teisendab PWM -väljundi analoogsignaaliks, mida saab võimendisse suunata.
- Ühendage Arduino tihvt 9 takisti teise otsa.
- Kondensaatori negatiivne klemm ühendatakse emase helipistiku vasaku ja parema kanaliga.
- Helipistiku GND ühendatakse GND -ga.
- Helipistik on võimendiga ühendatud Aux -kaabli abil. Minu puhul kasutasin oma arvuti kõlarisüsteemi.
MÄRGE:
PWM -i kasutamine heliväljundina ei pruugi olla parim valik, kuna väline DAC tagaks palju parema eraldusvõime ja kvaliteedi. Lisaks võivad RC -filtri kondensaator ja takisti põhjustada soovimatut müra. Kuid selle projekti väljund oli siiski üsna korralik
Samm: ühendage nupud juhtmega
Projekt kasutab kasutajaliidesena nuppude vajutamist. Mõlemad täidavad erinevaid funktsioone ja neid kasutatakse erinevalt, kuid neil on sama juhtmestik. Nende ühendus on järgmine:
- Asetage nupud leivaplaadile.
- Kinnitage ühe nupu üks klemm arduino tihvti 2 külge 10k oomise tõmbetakistiga. Nupu teine klemm ühendatakse 5v pingega. Niisiis, kui nuppu vajutatakse, muutub tihvt 2 KÕRGE ja me saame seda koodis tuvastada.
- Teine nupp ühendatakse samamoodi arduino tihvtiga 3, mitte 2.
Pistikuga 2 ühendatud nupp esitab juhusliku helifaili SD-kaardile eelinstallitud helifailide komplektist, kui seda üks kord vajutada.
Pistikuga 3 ühendatud nupp on salvestamiseks. Salvestamiseks peate seda nuppu all hoidma. Arduino alustab salvestamist kohe, kui seda nuppu vajutatakse, ja peatab salvestamise selle nupu vabastamisel. Pärast salvestamise peatamist taasesitab seda kohe.
Samm: laadige kood üles
Enne koodi üleslaadimist veenduge, et olete installinud kõik vajalikud teegid, nagu TMRpcm, SD jne.
Pärast koodi üleslaadimist saate avada ka jadamonitori, et saada tagasisidet arduino tegemiste kohta.
Praegu kood ei manipuleeri salvestatud heli, et see erinevalt kõlaks, kuid kavatsen lisada selle funktsiooni järgmisse versiooni, kus võib -olla saate potti abil helisignaali väljundsageduse määrata ja erinevat tüüpi helisid saada.
Ja olete valmis !!
Soovitan:
Veebisaidi juhitav jõulupuu (igaüks saab seda juhtida): 19 sammu (piltidega)
Veebisaidi juhitav jõulupuu (igaüks saab seda kontrollida): Kas soovite teada, kuidas veebisaidi juhitav jõulupuu välja näeb? Siin on video, mis näitab minu jõulupuu projekti. Otseülekanne on praeguseks lõppenud, kuid tegin toimuva jäädvustamiseks video: Sel aastal detsembri keskel
Pringles saab kitarrivõimendit: 7 sammu
Pringles saab kitarrivõimendi: Mõnikord tahan elektrilise kitarri haarata, et mängida paar riffi, ilma et peaksin oma tavalist võimendit seadistama. Nii et tahtsin luua odava, hõlpsasti ehitatava ja väga lihtsa kitarrivõimendi: Pringles Can Amp
Isetegemine -- Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: 6 sammu
Isetegemine || Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: Ämblikroboti tegemisel saab robootika kohta nii mõndagi õppida. Nagu robotite tegemine, on see nii meelelahutuslik kui ka väljakutsuv. Selles videos näitame teile, kuidas teha ämblikrobot, mida saame juhtida oma nutitelefoni abil (Androi
Ruuterist saab IP -kaamerate videosalvesti: 3 sammu
Ruuterist saab IP-kaamerate videosalvesti: mõnel ruuteril on tahvlil võimas protsessor ja USB-port ning neid saab lisaks marsruutimisfunktsioonidele kasutada ka videosalvestina, et koguda ja levitada videot ja heli ainult IP-kaameratest, mis ainult voogesitavad H264/265 RTSP (nagu moodsaim odav
AUTomaatne prügi saab või prügikasti. PLANEETI SALVESTAMISEKS: 19 sammu (piltidega)
AUTomaatne prügi saab või prügikasti. PLANETI SÄÄSTLEMISEKS: Enne alustamist soovitaksin enne selle lugemist vaadata esimest videot, sest see on väga kasulik. Tere, minu nimi on Jacob ja ma elan Ühendkuningriigis. Ringlussevõtt on suur probleem, kus ma elan. Ma näen põldudel palju prügi ja see võib olla kahjulik. Th