Sisällysluettelo:
- Vaihe 1: Käytetyt materiaalit
- Vaihe 2: Peruskuva projektista
- Vaihe 3: Valmistele SD -kortti ja liitä SD -korttimoduuli
- Vaihe 4: Liitä äänilähtö ja mikrofoni
- Vaihe 5: Yhdistä painikkeet
- Vaihe 6: Lataa koodi
Video: Arduinosta tulee puhuva Tom: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Yksi vanhimmista muistoistani älypuhelimen käytöstä oli Talking Tom -pelin pelaaminen. Peli oli aika yksinkertainen. On kissa nimeltä Tom, joka osaa puhua. Pelissä Tom kuunteli kaikki tulot puhelimen mikrofonin kautta ja toisti sitten kaiken, mitä se kuuli. Joten mitä tahansa Tomille sanoisikaan, se vain toistaa saman asian omalla karkealla äänellään.
Vaikka tämä kuulostaa yksinkertaiselta, tämä koko menettely vaatii monia monimutkaisia vaiheita, kuten näytteenoton mikrofonin analogisesta tulosta digitaalisessa muodossa, äänen manipuloinnin, jotta Tom saa ainutlaatuisen äänen ja rekonstruoi sitten signaalin kaikista näistä digitaalisista arvoista toistamaan sen kaiuttimen kautta. Kaikki nämä monimutkaiset vaiheet, mutta älypuhelin hoiti sen kuin viehätys jopa 9-10 vuotta sitten!
Mielenkiintoista olisi nähdä, voidaanko sama tehdä halvalla mikrokontrolleripohjaisella Arduino -kortilla. Joten tässä opastettavassa aion näyttää, kuinka voit tehdä yksinkertaisen Talking Tomin kaltaisen projektin Arduinosta ja jostakin muusta edullisesta elektroniikasta.
Tämä ohje on kirjoitettu yhteistyössä Hathinhack Makerspacen kanssa Delhissä
HUOMAUTUS: Tämä ohje on projektin ensimmäinen versio, joka täydentää Talking Tomin Talking -ominaisuuden, jossa arduino voi toistaa mitä sanot sille. Äänenvaihto -osa käsitellään tulevassa versiossa, vaikka Arduinon sisäänrakennetun ADC: n pienemmän resoluution vuoksi tallennettu ääni kuulostaa jo hieman erilaiselta: P (Tämä näkyy selvästi projektivideossa).
Aloitetaan siis!
Vaihe 1: Käytetyt materiaalit
Laitteisto:
- Arduino UNO
- MAX4466 -mikrofonimoduuli, jossa säädettävä vahvistus
- SPI -pohjainen SD -kortinlukijamoduuli
- Sd-kortti
- Äänenvahvistin, kuten PC -kaiutin, PAM8403 -vahvistinmoduuli jne.
- Kaiuttimet vahvistimeen liittämistä varten
- Naarasääniliitin
- 1 x 1 k ohmin vastus
- 2 x 10 k ohmin vastus
- 1 x 10uF kondensaattori
- 2 x painike
- Hyppyjohdot
Ohjelmisto:
- Arduino IDE
- Audacity (valinnainen)
- TMRpcm ja SD -kirjasto Arduinolle
Vaihe 2: Peruskuva projektista
Projektissa on pääasiassa 2 ominaisuutta:
- Se voi toistaa satunnaisesti valitun äänen joukosta esiasennettuja äänitiedostoja SD-kortilta äänitehosteita varten jne.
- Se voi tallentaa äänitulon mikrofonista ja toistaa sen heti, kun tallennus lopetetaan. Tämän avulla arduino voi toistaa kaiken, mitä se kuuli mikrofonin kautta.
Projektin käyttöliittymä koostuu pääasiassa kahdesta painikkeesta, joista jokainen vastaa yhtä yllä olevista ominaisuuksista.
Tärkein kova työ äänitiedostojen tallentamisesta ja toistamisesta SD -kortilta hoidetaan TMRpcm -kirjastossa
Äänitallennus käyttää MAX4466 -mikrofonimoduulia, arduinon sisäistä ADC: tä ja TMRpcm -kirjastoa näytteenottoon äänestä ja sen tallentamiseen väliaikaisesti SD -kortille.wav -tiedostona toistoa varten..wav -äänitiedostot käyttävät PCM (Pulse Code Modulation) -toimintoa äänitietojen tallentamiseen digitaalisessa muodossa, jotta niitä voidaan helposti toistaa. Yleensä on parempi käyttää ulkoista ADC: tä äänipohjaisiin projekteihin, koska Arduinon ADC: n resoluutio ei ole niin korkea, mutta se toimii tässä projektissa.
Äänitiedostojen (esiasennettu ja tallennettu) toisto tapahtuu myös TMRpcm-kirjaston avulla, joka lähettää äänen PWM-signaalina arduinon PWM-yhteensopivasta nastasta. Tämä signaali syötetään sitten RC -suodattimeen analogisen signaalin saamiseksi, joka sitten syötetään vahvistimeen äänen toistamiseksi kaiuttimen kautta. Tässä osassa voit käyttää myös ulkoista DAC -laitetta, koska arduino ei sisällä sitä sisäisesti. DAC: n käyttö saattaa olla parempi vaihtoehto, koska se parantaisi merkittävästi äänenlaatua.
Tiedonsiirto SD -korttimoduulin ja arduinon välillä tapahtuu SPI: n (Serial peripheral Interface) kautta. Koodi käyttää SD- ja SPI -kirjastoa päästäkseen helposti käsiksi SD -kortin sisältöön.
Vaihe 3: Valmistele SD -kortti ja liitä SD -korttimoduuli
- Aluksi sinun on alustettava SD -kortti FAT16- tai FAT32 -tiedostojärjestelmällä (voit käyttää älypuhelinta SD -kortin alustamiseen).
- Asenna nyt joitakin.wav-äänitiedostoja SD-kortille. Voit luoda.wav -tiedostoja Audacityllä (katso alla olevat ohjeet). Muista nimetä tiedostot audio_1.wav, audio_2.wav, audio_3.wav ja niin edelleen.
SD -korttimoduuli käyttää SPI: tä tietojen välittämiseen arduinon kanssa. Siksi se muodostaa yhteyden vain niihin nastoihin, joissa SPI on käytössä. Nämä liitännät ovat seuraavat:
- Vcc - 5v
- GND - GND
- MOSI (Master Out Slave In) - nasta 11
- MISO (Master In Slave Out) - nasta 12
- CLK (Kello) - nasta 13
- SS/CS (orjavalinta/sirun valinta) - nasta 10
. Wav -tiedoston luominen Audacity -ohjelmistolla:
- Avaa äänitiedosto, jonka haluat muuntaa.wav -muotoon Audacityssä.
- Napsauta tiedoston nimeä ja valitse sitten Split Stereo to Mono. Tämä vaihtoehto jakaa stereoäänen kahteen monokanavaan. Voit nyt sulkea yhden kanavista.
- Muuta projektinopeuden arvo alareunassa arvoon 16000 Hz. Tämä arvo vastaa arduinon sisäisen ADC: n maksiminäytteenottotaajuutta.
- Nyt pääsin Tiedosto-> Vie/Vie WAV: na.
- Valitse sopiva sijainti ja tiedoston nimi. Valitse koodausvalikosta 'Unsigned 8-bit PCM', koska käytämme PCM-muotoa äänen tallentamiseen digitaalisessa muodossa.
Vaihe 4: Liitä äänilähtö ja mikrofoni
Mikrofonin liittäminen:
- Vcc - 3.3v
- GND - GND
- OUT - A0 -nastainen
HUOMAUTUS:
- Yritä kytkeä mikrofoni suoraan arduinoon sen sijaan, että käytät leipälevyä, koska se voi aiheuttaa tarpeetonta kohinaa tulosignaalissa.
- Varmista, että juotat mikrofonimoduulin otsikot puhtaasti, koska huonot juotosliitokset tuottavat myös melua.
- Tässä mikrofonimoduulissa on säädettävä vahvistus, jota voidaan ohjata levyn takana olevan potin avulla. Ehdotan, että pidät vahvistuksen jonkin verran pienenä, koska se ei vahvista kohinaa kovin paljon, kun voisit puhua pitämällä sen lähellä suutasi, mikä johtaa puhtaampaan ulostuloon.
Audiolähdön liittäminen:
- Aseta 10 uF: n kondensaattori ja 1 k ohmin vastus sarjaan leipälevylle siten, että kondensaattorin positiivinen osa on kytketty vastukseen. Nämä yhdessä muodostavat RC -suodattimen, joka muuntaa PWM -lähdön analogiseksi signaaliksi, joka voidaan syöttää vahvistimeen.
- Liitä Arduinon nasta 9 vastuksen toiseen päähän.
- Kondensaattorin negatiivinen liitin kytketään naarasääniliittimen vasempaan ja oikeaan kanavaan.
- Audioliittimen GND kytketään GND: hen.
- Audioliitin on liitetty vahvistimeen Aux -kaapelilla. Minun tapauksessani käytin tietokoneen kaiutinjärjestelmää.
HUOMAUTUS:
PWM: n käyttäminen äänilähtönä ei ehkä ole paras vaihtoehto, koska ulkoinen DAC tarjoaa paljon paremman resoluution ja laadun. Lisäksi RC -suodattimen kondensaattori ja vastus voivat aiheuttaa ei -toivottua kohinaa. Mutta silti tulos oli melko kunnollinen tälle projektille
Vaihe 5: Yhdistä painikkeet
Projekti käyttää painikkeita käyttöliittymänä. Molemmat suorittavat erilaisia toimintoja ja niitä käytetään eri tavalla, mutta niillä on sama johdotus. Niiden yhteys on seuraava:
- Aseta painikkeet leipäpöydälle.
- Kiinnitä yhden painikkeen liitin arduinon nastaan 2 10 k ohmin vetovastuksella. Painikkeen toinen liitin kytketään 5V: iin. Joten, kun painiketta painetaan, nasta 2 on KORKEA ja voimme havaita sen koodissa.
- Toinen painike yhdistetään samalla tavalla arduinon nastalla 3 2: n sijasta.
Nastaan 2 liitetty painike toistaa satunnaisen äänitiedoston SD-kortille esiasennetuista äänitiedostoista, kun sitä painetaan kerran.
Nastaan 3 liitetty painike on tallennusta varten. Sinun on pidettävä tätä painiketta painettuna tallennusta varten. Arduino aloittaa tallennuksen heti, kun tätä painiketta painetaan, ja lopettaa tallennuksen, kun tämä painike vapautetaan. Tallennuksen pysäyttämisen jälkeen se toistaa välittömästi kyseisen tallennuksen.
Vaihe 6: Lataa koodi
Ennen kuin lataat koodin, varmista, että olet asentanut kaikki tarvittavat kirjastot, kuten TMRpcm, SD jne.
Voit myös avata sarjamonitorin koodin lataamisen jälkeen saadaksesi palautteen siitä, mitä arduino tekee.
Tällä hetkellä koodi ei manipuloi tallennettua ääntä, jotta se kuulostaisi erilaiselta, mutta aion sisällyttää tämän ominaisuuden seuraavaan versioon, jossa saatat pystyä asettamaan äänisignaalin lähtötaajuuden potin avulla ja saamaan erilaisia ääniä.
Ja olet valmis !!
Suositeltava:
Reitittimestä tulee videotallennin IP -kameroille: 3 vaihetta
Reitittimestä tulee videotallennin IP-kameroille: Joissakin reitittimissä on tehokas suoritin ja USB-portti levyssä, ja niitä voidaan käyttää videonauhurina reititystoimintojen lisäksi, jotta voidaan kerätä ja jakaa videota ja ääntä vain suoratoistavista IP-kameroista H264/265 RTSP (kuten nykyaikaisin halpa hi
TV -kaukosäätimestä tulee RF -kaukosäädin -- NRF24L01+ Opetusohjelma: 5 vaihetta (kuvilla)
TV -kaukosäätimestä tulee RF -kaukosäädin || NRF24L01+ Opetusohjelma: Tässä projektissa näytän sinulle, kuinka käytin suosittua nRF24L01+ RF -IC: tä säätämään LED -nauhan kirkkautta langattomasti television kaukosäätimen hyödyttömien painikkeiden avulla. Aloitetaan
Puhuva Arduino - MP3 -tiedoston toistaminen Arduinolla ilman moduulia - Mp3 -tiedoston toistaminen Arduinosta PCM: llä: 6 vaihetta
Puhuva Arduino | MP3 -tiedoston toistaminen Arduinolla ilman moduulia | Mp3 -tiedoston toistaminen Arduinolta PCM: n avulla: Tässä ohjeessa opimme MP3 -tiedoston toistamisen arduinolla ilman äänimoduulia, tässä käytämme PCM -kirjastoa Arduinolle, joka toistaa 16 -bittistä PCM: ää 8 kHz: n taajuudella, joten voit tehdä tämän
Kuinka muuttaa tekstiä, joka tulee näkyviin, kun siirrät hiiren käynnistyspainikkeen päälle: 4 vaihetta
Kuinka muuttaa tekstiä, joka tulee näkyviin, kun siirrät hiiren käynnistyspainikkeen päälle: Otsikko kertoo kaiken
Kuinka kirjoitus tulee pidemmälle: 10 vaihetta
Kirjoittamisen pidentäminen: Tämä on siisti pieni temppu, jolla Word -asiakirjan teksti näyttää pidemmältä. Tämä on hienoa, jos sinulla ei ole paljon aikaa saada jotain näyttämään pidemmältä. Se, mitä teemme, on korvata paperin pisteet suuremmalle tekstikoolle. Tämä saa minut