Talaan ng mga Nilalaman:
- Hakbang 1: Ginamit na Mga Materyales
- Hakbang 2: Isang Pangunahing Pangkalahatang-ideya ng proyekto
- Hakbang 3: Ihanda ang SD Card at Ikonekta ang Module ng SD Card
- Hakbang 4: Ikonekta ang Audio Output & Microphone
- Hakbang 5: Wire Up the Buttons
- Hakbang 6: I-upload ang Code
Video: Naging Pakikipag-usap si Arduino Tom: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Ang isa sa aking pinakalumang alaala ng paggamit ng isang smartphone ay ang paglalaro ng 'Talking Tom' na laro. Ang laro ay medyo simple. Mayroong isang pusa, na pinangalanang Tom, na maaaring makipag-usap, uri ng. Sa laro, makikinig si Tom para sa anumang input sa pamamagitan ng mic ng telepono at pagkatapos ay ulitin ang anumang narinig. Kaya, anuman ang sabihin kay Tom, uulitin lamang ang parehong bagay sa sarili nitong matinis na tinig.
Habang tunog ito ay simple, ang buong pamamaraang ito ay nangangailangan ng maraming kumplikadong mga hakbang tulad ng pag-sample ng mic analog input sa digital form, pagmamanipula ng audio upang maibigay kay Tom ang natatanging tinig nito at pagkatapos ay muling itaguyod ang signal mula sa lahat ng mga halagang digital na i-play ito muli sa pamamagitan ng speaker. Ang lahat ng mga kumplikadong hakbang na ito, ngunit pinangasiwaan ito ng smartphone tulad ng isang alindog kahit 9 hanggang 10 taon na ang lumipas!
Ang kagiliw-giliw na bagay ay upang makita kung ang pareho ay maaaring gawin sa isang murang microcontroller batay sa Arduino board. Kaya, sa itinuturo na ito ay ipapakita ko kung paano ka makakagawa ng isang simpleng Pakikipag-usap Tom tulad ng proyekto mula sa isang Arduino at ilang iba pang murang electronics.
Ang itinuturo na ito ay isinulat sa pakikipagtulungan sa Hatchnhack Makerspace sa Delhi
TANDAAN: Ang itinuturo na ito ay ang unang bersyon ng proyekto na nakumpleto ang tampok na 'Pakikipag-usap' ng Talking Tom kung saan maaring ulitin ng arduino ang anumang sasabihin mo dito. Ang bahagi ng pagbabago ng boses ay sasakupin sa hinaharap na bersyon, bagaman, dahil sa mas kaunting resolusyon ng Arduino's sa built ADC ang naitala na audio ay medyo kakaiba ang tunog: P (Malinaw na mapapansin ito sa video ng proyekto).
Kaya Magsimula Na Tayo!
Hakbang 1: Ginamit na Mga Materyales
Hardware:
- Isang Arduino UNO
- MAX4466 microphone module na may Adjustable Gain
- Batay sa module ng SD Card Reader na batay sa SPI
- SD card
- Audio Amplifier tulad ng PC speaker, PAM8403 amplifier module, atbp.
- Mga nagsasalita para sa pagkonekta sa Amplifier
- Babae Audio Jack
- 1 x 1k ohm risistor
- 2 x 10k ohm risistor
- 1 x 10uF Capacitor
- 2 x Push Button
- Jumper Wires
Software:
- Arduino IDE
- Katapangan (opsyonal)
- TMRpcm at SD library para sa Arduino
Hakbang 2: Isang Pangunahing Pangkalahatang-ideya ng proyekto
Pangunahing may 2 tampok ang proyekto:
- Maaari itong maglaro ng isang sapalarang napiling audio mula sa isang hanay ng mga paunang naka-install na mga file na audio sa SD card para sa mga sound effects atbp.
- Maaari itong magrekord ng input ng tunog mula sa mikropono at pagkatapos ay i-play ito muli sa sandaling tumigil ang pagrekord. Pinapayagan nito ang arduino na ulitin ang anumang narinig sa pamamagitan ng mic.
Ang User Interface ng proyekto higit sa lahat ay binubuo ng 2 mga pindutan ng push na bawat isa ay tumutugma sa isa sa tampok na nasa itaas.
Ang pangunahing pagsusumikap ng pagrekord at pag-play ng mga audio file mula sa SD card ay pinangangasiwaan ng TMRpcm library
Ginagamit ng audio recording ang MAX4466 mic module, panloob na ADC ng arduino at ang aklatan ng TMRpcm upang mai-sample ang audio at pagkatapos ay pansamantalang itago ito sa SD card bilang '.wav' file para sa pag-playback. Ang '.wav' audio files ay gumagamit ng PCM (Module ng Pulse Code) upang maiimbak ang data ng audio sa digital na format upang madali itong mai-play muli. Pangkalahatan, mas mahusay na gumamit ng isang panlabas na ADC para sa mga proyekto na batay sa audio dahil ang resolusyon ng Arduino's ADC ay hindi ganoon kataas ngunit gumagana ito para sa proyektong ito.
Ang pag-play ng mga audio file (paunang naka-install at naitala) ay tapos na rin sa tulong ng library ng TMRpcm na naglalabas ng audio bilang isang senyas ng PWM mula sa isang pin na pinagana ng PWM ng arduino. Ang signal na ito ay pagkatapos ay pinakain sa isang RC filter upang makakuha ng analog signal na pagkatapos ay pinakain sa isang amplifier para sa pag-play ng audio sa pamamagitan ng isang speaker. Para sa bahaging ito maaari mo ring gamitin ang isang panlabas na DAC dahil ang arduino ay walang isang panloob. Ang paggamit ng isang DAC ay maaaring maging isang mas mahusay na pagpipilian dahil makabubuti nitong mapabuti ang kalidad ng audio.
Ang komunikasyon sa pagitan ng module ng SD card at arduino ay ginagawa sa pamamagitan ng SPI (Serial peripheral Interface). Ang code, ginagamit ang SD & SPI library upang madaling ma-access ang mga nilalaman ng SD card.
Hakbang 3: Ihanda ang SD Card at Ikonekta ang Module ng SD Card
- Una kailangan mong i-format bilang SD card na may isang FAT16 o FAT32 file system (Maaari mong gamitin ang iyong smartphone upang mai-format ang SD card).
- Paunang pag-install ng ilang.wav audio file sa SD card. Maaari kang makabuo ng mga.wav file na may Audacity (tingnan ang mga tagubilin sa ibaba). Tandaan na pangalanan ang mga file bilang audio_1.wav, audio_2.wav, audio_3.wav at iba pa.
Ang module ng SD card ay gumagamit ng SPI upang maipaabot ang data sa arduino. Samakatuwid, kumokonekta lamang ito sa mga pin na pinagana ng SPI. Ang mga koneksyon na ito ay ang mga sumusunod:
- Vcc - 5v
- GND - GND
- MOSI (Master Out Slave In) - pin 11
- MISO (Master In Slave Out) - pin 12
- CLK (Clock) - pin 13
- SS / CS (Select Slave / Chip Select) - pin 10
Bumubuo ng '.wav' file na may Audacity Software:
- Buksan ang audio file na nais mong i-convert sa.wav sa Audacity.
- Mag-click sa pangalan ng file at pagkatapos ay piliin ang 'Split Stereo to Mono'. Hinahati ng pagpipiliang ito ang stereo audio sa dalawang mono channel. Maaari mo na ngayong isara ang isa sa mga channel.
- Baguhin ang halagang 'Project Rate' sa ibaba sa 16000 Hz. Ang halagang ito ay tumutugma sa pinakamataas na dalas ng sampling ng panloob na ADC ng arduino.
- Nakuha ngayon ang File-> Export / Export bilang WAV.
- Piliin ang naaangkop na lokasyon at pangalan ng file. Mula sa menu ng pag-encode piliin ang 'Unsigned 8-bit PCM' habang ginagamit namin ang format ng PCM upang maiimbak ang audio sa digital format.
Hakbang 4: Ikonekta ang Audio Output & Microphone
Pagkonekta sa Mikropono:
- Vcc - 3.3v
- GND - GND
- OUT - A0 pin
TANDAAN:
- Subukang ikonekta ang mikropono nang direkta sa arduino sa halip na gumamit ng isang breadboard dahil maaari itong magbuod ng hindi kinakailangang ingay sa input signal.
- Siguraduhin na malinis na maghinang ng mga header sa module ng mikropono dahil ang masamang mga solder joint ay gumagawa din ng ingay.
- Ang module ng mikropono na ito ay may naaayos na pakinabang na maaaring makontrol sa tulong ng isang palayok sa likuran ng board. Iminumungkahi ko sa iyo na panatilihing mababa ang nakuha habang hindi ito magpapalakas ng ingay habang masasalita mong pinapanatili ito malapit sa iyong bibig na nagreresulta sa isang mas malinis na output.
Pagkonekta sa Audio Output:
- Ilagay ang 10 uF Capacitor at ang 1k ohm risistor sa serye sa breadboard na may positibo ng capacitor na konektado sa risistor. Ang mga ito ay sama-sama na bumubuo ng isang RC filter na kung saan-convert ang output ng PWM sa analog signal na maaaring pinakain sa amplifier.
- Ikonekta ang pin 9 ng Arduino sa kabilang dulo ng risistor.
- Ang negatibong terminal ng Capacitor ay nakakakonekta sa kaliwa at kanang channel ng babaeng audio jack.
- Ang GND ng Audio jack ay nakakakonekta sa GND.
- Ang audio jack ay konektado sa amplifier gamit ang isang Aux Cable. Sa aking kaso ginamit ko ang Speaker System ng aking PC.
TANDAAN:
Ang paggamit ng PWM bilang audio output ay maaaring hindi ang pinakamahusay na pagpipilian bilang isang panlabas na DAC ay magbibigay ng mas mahusay na resolusyon at kalidad. Bilang karagdagan, ang capacitor at resistor sa RC filter ay maaaring magbuod ng hindi ginustong ingay. Ngunit ang output ay medyo disente para sa proyektong ito
Hakbang 5: Wire Up the Buttons
Gumagamit ang proyekto upang itulak ang mga pindutan bilang interface ng gumagamit. Parehong nagsasagawa ng iba't ibang mga pag-andar at ginagamit nang magkakaiba ngunit may parehong mga kable. Ang kanilang koneksyon ay ang mga sumusunod:
- Ilagay ang mga pindutan sa breadboard.
- Maglakip ng isang terminal ng isa sa mga pindutan upang i-pin ang 2 ng arduino gamit ang isang 10k ohm pull down resistor. Ang iba pang mga terminal ng pindutan ay nakakakonekta sa 5v. Kaya, kapag pinindot ang pindutan ang pin 2 ay nakakakuha ng TAAS at maaari nating makita iyon sa code.
- Ang iba pang pindutan ay nakakakonekta nang pareho sa pin 3 ng arduino sa halip na 2.
Ang pindutang nakakonekta sa pin 2 ay gumaganap ng isang random na audio file mula sa hanay ng mga paunang naka-install na audio file sa SD Card kapag pinindot ito nang isang beses.
Ang pindutan na konektado sa pin 3 ay para sa pagrekord. Kailangan mong pindutin nang matagal ang pindutan na ito para sa pagrekord. Ang arduino ay nagsisimulang magrekord sa sandaling ang pindutan na ito ay pinindot at ititigil ang pagre-record kapag ang pindutan na ito ay pinakawalan. Matapos itigil ang pagre-record, agad nitong i-replay ang recording.
Hakbang 6: I-upload ang Code
Bago i-upload ang code, tiyaking na-install mo na ang lahat ng kinakailangang aklatan tulad ng TMRpcm, SD atbp.
Maaari mo ring buksan ang Serial Monitor pagkatapos mag-upload ng code upang makakuha ng isang puna sa ginagawa ng arduino.
Sa kasalukuyan ang code ay hindi pagmamanipula ng naitala na audio upang maiba ang tunog nito ngunit balak kong isama ang tampok na ito sa susunod na bersyon kung saan maaari mong maitakda ang dalas ng output ng audio signal sa tulong ng palayok at makakuha ng iba't ibang mga uri ng tunog.
At Tapos Na !!
Inirerekumendang:
Ang Router ay Naging Video Recorder para sa Mga IP Camera: 3 Hakbang
Ang Router ay Naging Video Recorder para sa Mga IP Camera: Ang ilang mga router ay may malakas na CPU at USB-port sa isang board at maaaring magamit bilang isang recorder ng video bilang karagdagan sa mga pagpapaandar sa pagruruta, upang makolekta at ipamahagi ang video at tunog mula sa mga IP-camera na dumadaloy lamang H264 / 265 RTSP (bilang pinaka-modernong murang hi
Ang Vintage Radio ay Naging Isang Speaker sa Telepono: 4 Hakbang (na may Mga Larawan)
Ang Vintage Radio ay Naging Isang Speaker sa Telepono: Ang ideya sa likod nito ay kumuha ng isang magandang lumang (sirang) radyo at bigyan ito ng isang bagong lease ng buhay sa pamamagitan ng pagsasama sa mga modernong sangkap upang magamit itong muli bilang isang tagapagsalita para sa isang telepono. Matapos makuha hawak ng isang lumang Roberts radio natagpuan ko ang isang hindi masyadong luma na pai
Ang TV Remote ay Naging isang RF Remote -- NRF24L01 + Tutorial: 5 Hakbang (na may Mga Larawan)
Ang TV Remote ay Naging isang RF Remote || NRF24L01 + Tutorial: Sa proyektong ito ipapakita ko sa iyo kung paano ko ginamit ang sikat na nRF24L01 + RF IC upang ayusin ang ningning ng isang LED strip nang wireless sa pamamagitan ng tatlong walang silbi na mga pindutan ng isang remote sa TV. Magsimula na tayo
Naging Itim! VS Code: 16 Hakbang
Naging Itim! VS Code: Ngayon, pag-uusapan natin ang tungkol sa PlatformIO. Ito ay isang advanced na tool na may maraming mga tampok na "i-link" ang paggamit nito sa Visual Studio Code. Isinasaalang-alang ko ang paksang ito na medyo advanced, at sa gayon, iminumungkahi kong gamitin ang pares na ito para sa mga code na may higit sa 200 mga linya. Ngunit,
LED Ring - Inspirasyon ng Detroit: Naging Human: 6 Hakbang
LED Ring - Inspired by Detroit: Become Human: Isang kaibigan ko ang nagtanong kung makakagawa ako ng tulad ng singsing sa labas ng laro " Detroit: Become Human ", Sinubukan ko munang gamitin ang sanded acrylic, na hindi gumana nang maayos. Pagkatapos ay ginamit kong malabo ang pelikula sa acrylic na hindi rin gumana ang pinakamahusay