Tartalomjegyzék:
- 1. lépés: Használt anyagok
- 2. lépés: A projekt alapvető áttekintése
- 3. lépés: Készítse elő az SD -kártyát és csatlakoztassa az SD -kártya modult
- 4. lépés: Csatlakoztassa az audio kimenetet és a mikrofont
- 5. lépés: Csatlakoztassa a gombokat
- 6. lépés: Töltse fel a kódot
Videó: Arduino beszélő Tom lesz: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Az egyik legrégebbi emlékem az okostelefon használatáról a „Beszélő Tom” játék. A játék elég egyszerű volt. Van egy macska, akit Tomnak hívnak. A játékban Tom minden bemenetet meghallgatott a telefon mikrofonján keresztül, majd megismételte a hallottakat. Szóval, bármit is mondjunk Tomnak, csak ugyanazt ismételné meg a maga éles hangján.
Bár egyszerűnek hangzik, ez az egész eljárás sok összetett lépést igényel, mint például a mikrofon analóg bemenetének digitális formában történő mintavételezése, a hang manipulálása annak érdekében, hogy Tom egyedi hangja legyen, majd a jel rekonstruálása mindezen digitális értékekből a hangszórón keresztül történő lejátszáshoz. Mindezek az összetett lépések, de az okostelefon varázslatosan kezelte még 9-10 évvel ezelőtt is!
Érdekes lenne látni, hogy ugyanez megtehető -e egy olcsó mikrokontroller alapú Arduino táblával. Tehát ebben az oktathatóban megmutatom, hogyan készíthet egy egyszerű Beszélő Tom -szerű projektet egy Arduino -ból és néhány más olcsó elektronikából.
Ez az oktatható a Delhi -i Hatchnhack Makerspace -szel közösen íródott
MEGJEGYZÉS: Ez az utasítás a projekt első változata, amely kiegészíti a Talking Tom „Talking” funkcióját, ahol az arduino képes lesz megismételni, amit mond. A hangváltó részt a jövőbeli verzió tartalmazza, bár az Arduino beépített ADC -jének kisebb felbontása miatt a rögzített hang már egy kicsit másként hangzik: P (Ez egyértelműen észrevehető a projektvideóban).
Kezdjük hát!
1. lépés: Használt anyagok
Hardver:
- Egy Arduino UNO
- MAX4466 mikrofon modul állítható erősítéssel
- SPI alapú SD kártyaolvasó modul
- SD kártya
- Audioerősítő, például PC hangszóró, PAM8403 erősítő modul stb.
- Hangszórók az erősítőhöz való csatlakoztatáshoz
- Női audiocsatlakozó
- 1 x 1 k ohmos ellenállás
- 2 x 10 k ohmos ellenállás
- 1 x 10uF kondenzátor
- 2 x nyomógomb
- Jumper vezetékek
Szoftver:
- Arduino IDE
- Audacity (opcionális)
- TMRpcm és SD könyvtár az Arduino számára
2. lépés: A projekt alapvető áttekintése
A projektnek alapvetően 2 jellemzője van:
- Véletlenszerűen kiválasztott hangot tud lejátszani az SD-kártyán előre telepített hangfájlokból, hanghatások stb.
- Képes felvenni a hangbemenetet a mikrofonról, majd lejátszani, amint a felvétel leáll. Ez lehetővé teszi, hogy az arduino megismételje a mikrofonon keresztül hallottakat.
A projekt felhasználói felülete alapvetően 2 nyomógombból áll, amelyek mindegyike megfelel a fenti funkciók egyikének.
Az SD -kártyáról származó hangfájlok rögzítésének és lejátszásának fő kemény munkáját a TMRpcm könyvtár végzi
A hangfelvétel a MAX4466 mikrofonmodult, az arduino belső ADC -jét és a TMRpcm könyvtárat használja a hang mintavételezéséhez, majd ideiglenes tárolásához az SD -kártyán.wav fájlként lejátszás céljából. A „.wav” hangfájlok PCM (Pulse Code Modulation) módszerrel tárolják az audioadatokat digitális formátumban, így könnyen újra lejátszhatók. Általában jobb, ha külső ADC -t használunk audio alapú projektekhez, mivel az Arduino ADC felbontása nem olyan magas, de működik ebben a projektben.
Az audio fájlok (előre telepített és rögzített) lejátszása szintén a TMRpcm könyvtár segítségével történik, amely a hangot PWM jelként adja ki az arduino PWM-kompatibilis tűjéről. Ezt a jelet ezután egy RC szűrőbe táplálják, hogy analóg jelet kapjanak, amelyet ezután egy erősítőbe táplálnak, hogy a hangot egy hangszórón keresztül játsszák le. Ehhez a részhez külső DAC -ot is használhat, mivel az arduino -nak nincs belsőleg. A DAC használata jobb megoldás lehet, mivel jelentősen javítja a hangminőséget.
Az SD kártya modul és az arduino közötti kommunikáció SPI -n (Serial perheral Interface) keresztül történik. A kód az SD & SPI könyvtárat használja az SD kártya tartalmának könnyű eléréséhez.
3. lépés: Készítse elő az SD -kártyát és csatlakoztassa az SD -kártya modult
- Először SD -kártyaként kell formázni FAT16 vagy FAT32 fájlrendszerrel (az SD -kártya formázásához használhatja okostelefonját).
- Most telepítsen elő néhány.wav hangfájlt az SD-kártyára.. Wav fájlokat hozhat létre az Audacity segítségével (lásd az alábbi utasításokat). Ne felejtse el elnevezni a fájlokat audio_1.wav, audio_2.wav, audio_3.wav és így tovább.
Az SD -kártya modul SPI segítségével kommunikálja az adatokat az arduino -val. Ezért csak azokhoz a csapokhoz csatlakozik, amelyekben engedélyezve van az SPI. Ezek a kapcsolatok a következők:
- Vcc - 5v
- GND - GND
- MOSI (Master Out Slave In) - 11. tű
- MISO (Master In Slave Out) - 12. tű
- CLK (óra) - 13. tű
- SS/CS (Slave Select/Chip Select) - 10. tű
". Wav" fájl létrehozása az Audacity szoftverrel:
- Nyissa meg az.uda formátumba konvertálni kívánt hangfájlt az Audacity alkalmazásban.
- Kattintson a fájl nevére, majd válassza a „Sztereó felosztása monóvá” lehetőséget. Ez az opció a sztereó hangot két monó csatornára osztja fel. Most bezárhatja az egyik csatornát.
- Módosítsa a „Project Rate” értéket alul 16000 Hz -re. Ez az érték megfelel az arduino belső ADC maximális mintavételi gyakoriságának.
- Most a Fájl-> Exportálás/Exportálás WAV-ként.
- Válassza ki a fájl megfelelő helyét és nevét. A kódolási menüben válassza az „Unsigned 8-bit PCM” lehetőséget, mivel a PCM formátumot használjuk a hang digitális formátumban történő tárolására.
4. lépés: Csatlakoztassa az audio kimenetet és a mikrofont
A mikrofon csatlakoztatása:
- Vcc - 3.3v
- GND - GND
- OUT - A0 érintkező
JEGYZET:
- Próbálja közvetlenül a mikrofont az arduino -hoz csatlakoztatni, ahelyett, hogy kenyérsütőt használna, mert szükségtelen zajt okozhat a bemeneti jelben.
- Győződjön meg róla, hogy tisztán forrasztja a fejléceket a mikrofonmodulon, mivel a rossz forrasztási kötések zajt is okoznak.
- Ez a mikrofon modul állítható erősítéssel rendelkezik, amely a tábla hátoldalán lévő edény segítségével vezérelhető. Azt javaslom, hogy tartsa kissé alacsonyan az erősítést, mert akkor nem fogja erősíteni a zajt, miközben beszélhet, miközben a szája közelében tartja, ami tisztább kimenetet eredményez.
Az audio kimenet csatlakoztatása:
- Helyezze sorba a 10 uF kondenzátort és az 1 k ohmos ellenállást a kenyértáblára úgy, hogy az ellenálláshoz csatlakoztatott kondenzátor pozitív. Ezek együtt alkotnak egy RC szűrőt, amely a PWM kimenetet analóg jellé alakítja, amelyet az erősítőbe lehet táplálni.
- Csatlakoztassa az Arduino 9 -es csapját az ellenállás másik végéhez.
- A kondenzátor negatív kivezetése csatlakozik a női audio jack bal és jobb csatornájához.
- Az Audio jack GND csatlakozik a GND -hez.
- Az audio csatlakozó Aux kábellel csatlakozik az erősítőhöz. Esetemben a számítógép hangszórórendszerét használtam.
JEGYZET:
A PWM hangkimenetként való használata nem a legjobb megoldás, mivel egy külső DAC sokkal jobb felbontást és minőséget biztosít. Ezenkívül az RC szűrő kondenzátora és ellenállása nem kívánt zajt válthat ki. De ennek a projektnek a kimenete elég tisztességes volt
5. lépés: Csatlakoztassa a gombokat
A projekt nyomógombokat használ felhasználói felületként. Mindkettő különböző funkciókat lát el, és eltérő módon használják, de ugyanaz a huzalozás. Kapcsolatuk a következő:
- Helyezze a gombokat a kenyértáblára.
- Csatlakoztassa az egyik gomb egyik csatlakozóját az arduino 2. tűjéhez 10 k ohmos lehúzható ellenállással. A gomb másik terminálja 5V -ra van csatlakoztatva. Tehát, ha megnyomja a gombot, a 2 -es tű HIGH lesz, és ezt a kódban észlelhetjük.
- A másik gomb ugyanúgy csatlakozik az arduino 3 -as tűjéhez, mint a 2 -eshez.
A 2-es tűhöz csatlakoztatott gomb véletlenszerű audio fájlt játszik le az SD-kártyán lévő előre telepített hangfájlok készletéből, ha egyszer megnyomja.
A 3 -as érintkezőhöz csatlakoztatott gomb a felvételt szolgálja. Ezt a gombot le kell nyomni a felvételhez. Az arduino azonnal elkezdi a felvételt, amint megnyomja ezt a gombot, és leállítja a felvételt, amikor e gombot felengedi. A felvétel leállítása után azonnal lejátssza a felvételt.
6. lépés: Töltse fel a kódot
A kód feltöltése előtt győződjön meg arról, hogy telepítette az összes szükséges könyvtárat, például TMRpcm, SD stb.
A soros monitort a kód feltöltése után is megnyithatja, hogy visszajelzést kapjon az arduino tevékenységéről.
Jelenleg a kód nem manipulálja a rögzített hangot, hogy másképp szóljon, de azt tervezem, hogy ezt a funkciót beépítem a következő verzióba, ahol a pot segítségével beállíthatja az audiojel kimeneti frekvenciáját, és különböző típusú hangokat kaphat.
És kész vagy !!
Ajánlott:
Amire szüksége lesz és tanuljon: 4 lépés
Amire szüksége lesz és mit kell megtanulnia: A Raspberry Pi táblát megtanulja használni ezen az órán. Szóval, mi ez és honnan jött? A Raspberry Pi egy kicsi, olcsó és programozható számítógép, amelyet a Raspberry Pi Foundation hozott létre. Az alapítvány egyik alapítványa
Arduino szöveg -beszéd konverter az LM386 - használatával Beszélő Arduino projekt - Talkie Arduino könyvtár: 5 lépés
Arduino szöveg -beszéd átalakító az LM386 | használatával Beszélő Arduino projekt | Talkie Arduino Könyvtár: Sziasztok, sok projektben megköveteljük az arduinótól, hogy beszéljen valamit, mint például a beszélő óra, vagy mondjon néhány adatot
Beszélő UV-index mérőeszköz, a VEML6075 érzékelő és a kis haver beszélő használatával: 5 lépés
Beszélő UV-index mérőeszköz, a VEML6075 érzékelő és a kis haver beszélő segítségével: Nyár jön! Süt a nap! Ez nagyszerű. De ahogy az ultraibolya (UV) sugárzás egyre intenzívebbé válik, a hozzám hasonló szeplők, kis barna szigetek úsznak a vörös, leégett, viszkető bőr tengerében. Valós idejű információhoz juthat
Hogyan lehet zenét szerezni szinte minden (Haha) webhelyről (amíg csak hallja, addig megkaphatja Ok, jó, ha Flash -be van ágyazva, lehet, hogy nem lesz rá képes) SZERKESZTETT !!!!! Hozzáadott információk: 4 lépés
Hogyan lehet zenét szerezni szinte minden (Haha) webhelyről (amíg csak hallja, addig megkaphatja … Ok, jó, ha Flash -be van ágyazva, lehet, hogy nem lesz rá képes) SZERKESZTETT !!!!! Hozzáadott információk: ha valaha felkeres egy webhelyet, és olyan dalt játszik le, amely tetszik és szeretné, akkor itt az utasítás, hogy ne te legyél az én hibám, ha valamit elrontasz (csak akkor fog ez megtörténni, ha ok nélkül elkezdesz törölni valamit) ) sikerült zenét szereznem
Hack Mac Laptop lesz Mac Tablet 15 perc alatt, vagy DIY Cintiq: 6 lépés (képekkel)
Hack Mac Laptop lesz Mac Tablet 15 perc alatt, vagy DIY Cintiq: Sok kérdésem volt olyan helyekről, ahol ez felbukkant: 1. igen nyomásérzékeny2. csak ott működik, ahol a wacom érzékelőm van … alapvetően az a fehér blokk a videóban.3. a g4 -et használtam, mert törött az alaplapja, és virtuális volt