Mündəricat:

Arduino Danışan Tom halına gəlir: 6 addım
Arduino Danışan Tom halına gəlir: 6 addım

Video: Arduino Danışan Tom halına gəlir: 6 addım

Video: Arduino Danışan Tom halına gəlir: 6 addım
Video: IBADAH DOA PENYEMBAHAN, 01 JUNI 2021 - Pdt. Daniel U. Sitohang 2024, Iyul
Anonim
Arduino Danışan Toma çevrilir
Arduino Danışan Toma çevrilir
Arduino Danışan Toma çevrilir
Arduino Danışan Toma çevrilir

Bir smartfon istifadə etməyimlə bağlı ən köhnə xatirələrimdən biri 'Talking Tom' oyunu oynamaq idi. Oyun olduqca sadə idi. Tom adlı bir pişik var və danışa bilir. Oyunda Tom telefonun mikrofonu vasitəsilə hər hansı bir girişi dinləyər və sonra eşitdiklərini təkrar edərdi. Beləliklə, Toma nə deyərsənsə, eyni şeyi öz səsi ilə təkrar edərdi.

Sadə görünsə də, bütün bu prosedur mikrofonun analoq girişini rəqəmsal formada nümunə götürmək, Tomun unikal səsini vermək üçün səsi manipulyasiya etmək və sonra dinamikdən səsləndirmək üçün bütün rəqəmsal dəyərlərdən gələn siqnalı yenidən qurmaq kimi bir çox kompleks addımlar tələb edir.. Bütün bu mürəkkəb addımlar, ancaq smartfon 9-10 il əvvəl belə bir cazibədarlıqla məşğul oldu!

Maraqlı olan, eyni şeyi ucuz bir mikrokontrolör əsaslı Arduino lövhəsi ilə edilə biləcəyini görməkdir. Beləliklə, bu təlimatda Arduino və digər ucuz elektronikadan sadə bir Talking Tom kimi bir layihə necə edə biləcəyinizi göstərəcəyəm.

Bu təlimat Dehlidəki Hatchnhack Makerspace ilə birlikdə yazılmışdır

Qeyd: Bu təlimat, arduino -nun dediklərinizi təkrarlaya biləcəyi Talking Tom -un 'Talking' xüsusiyyətini tamamlayan layihənin ilk versiyasıdır. Səs dəyişdirən hissə gələcək versiyada işıqlandırılacaq, baxmayaraq ki, Arduino -nun qurulmuş ADC -nin daha az qətnaməsi səbəbindən qeydə alınan səs bir az fərqli səslənir: P (Bunu layihə videosunda aydın görmək olar).

Beləliklə, Başlayaq!

Addım 1: İstifadə olunan materiallar

İstifadə olunan materiallar
İstifadə olunan materiallar
İstifadə olunan materiallar
İstifadə olunan materiallar
İstifadə olunan materiallar
İstifadə olunan materiallar

Avadanlıq:

  • Bir Arduino UNO
  • Tənzimlənən qazanclı MAX4466 mikrofon modulu
  • SPI əsaslı SD Card Reader modulu
  • SD kart
  • PC gücləndiricisi, PAM8403 gücləndirici modulu və s. Kimi səs gücləndiricisi.
  • Gücləndiriciyə qoşulmaq üçün dinamiklər
  • Qadın Audio Jack
  • 1 x 1k ohm müqavimət
  • 2 x 10k ohm müqavimət
  • 1 x 10 uF kondansatör
  • 2 x Düymə
  • Jumper telləri

Proqram təminatı:

  • Arduino IDE
  • Audacity (isteğe bağlı)
  • Arduino üçün TMRpcm və SD kitabxana

Addım 2: Layihəyə Əsas Baxış

Layihə əsasən 2 xüsusiyyətə malikdir:

  • Səs effektləri və s. Üçün SD kartda əvvəlcədən quraşdırılmış bir sıra audio fayllardan təsadüfi seçilmiş bir səs oxuya bilər.
  • Mikrofondan səs girişini yaza bilər və sonra qeyd dayandıqdan sonra səsləndirə bilər. Bu, arduinoya mikrofondan eşitdiklərini təkrarlamağa imkan verir.

Layihənin İstifadəçi İnterfeysi əsasən hər biri yuxarıdakı xüsusiyyətlərdən birinə uyğun gələn 2 düymədən ibarətdir.

SD kartdan audio faylların yazılması və səsləndirilməsinin əsas ağır işi TMRpcm kitabxanası tərəfindən aparılır

Səs yazısı, MAX4466 mikrofon modulundan, arduinonun daxili ADC -dən və TMRpcm kitabxanasından istifadə edərək səsi nümunə götürür və sonra müvəqqəti olaraq SD kartda '.wav' faylı olaraq saxlayır. '.wav' audio faylları səs məlumatlarını rəqəmsal formatda saxlamaq üçün PCM -dən (Pulse Code Modulation) istifadə edir, beləliklə yenidən asanlıqla oxunur. Ümumiyyətlə, səs əsaslı layihələr üçün xarici bir ADC istifadə etmək daha yaxşıdır, çünki Arduino ADC -nin həlli o qədər də yüksək deyil, ancaq bu layihə üçün işləyir.

Səs fayllarının oxunması (əvvəlcədən quraşdırılmış və qeydə alınmış), arduinonun PWM effektiv pinindən PWM siqnalı olaraq çıxan TMRpcm kitabxanasının köməyi ilə də aparılır. Bu siqnal daha sonra analoq siqnal almaq üçün RC filtrinə verilir və sonra səsin dinamikdən səsləndirilməsi üçün gücləndiriciyə verilir. Bu hissədə arduino içəridə olmadığı üçün xarici bir DAC da istifadə edə bilərsiniz. Səs keyfiyyətini əhəmiyyətli dərəcədə artıracağı üçün DAC istifadə etmək daha yaxşı bir seçim ola bilər.

SD kart modulu ilə arduino arasındakı əlaqə SPI (Serial periferik interfeys) vasitəsi ilə həyata keçirilir. Kod, SD kartın məzmununa asanlıqla daxil olmaq üçün SD və SPI kitabxanasından istifadə edir.

Addım 3: SD Kart hazırlayın və SD Kart Modulunu qoşun

SD Kart hazırlayın və SD Kart Modulunu qoşun
SD Kart hazırlayın və SD Kart Modulunu qoşun
SD Kart hazırlayın və SD Kart Modulunu qoşun
SD Kart hazırlayın və SD Kart Modulunu qoşun
SD Kart hazırlayın və SD Kart Modulunu qoşun
SD Kart hazırlayın və SD Kart Modulunu qoşun
SD Kart hazırlayın və SD Kart Modulunu qoşun
SD Kart hazırlayın və SD Kart Modulunu qoşun
  • Əvvəlcə FAT16 və ya FAT32 fayl sistemi ilə SD kart olaraq format etməlisiniz (SD kartı formatlaşdırmaq üçün smartfonunuzdan istifadə edə bilərsiniz).
  • İndi SD karta bəzi.wav audio fayllarını əvvəlcədən quraşdırın. Audacity ilə.wav faylları yarada bilərsiniz (aşağıdakı təlimatlara baxın). Faylların adını audio_1.wav, audio_2.wav, audio_3.wav və s.

SD kart modulu arduino ilə məlumat ötürmək üçün SPI istifadə edir. Buna görə, yalnız SPI aktiv olan pinlərə bağlanır. Bu əlaqələr aşağıdakı kimidir:

  • Vcc - 5v
  • GND - GND
  • MOSI (Master Out Slave In) - pin 11
  • MISO (Master In Slave Out) - pin 12
  • CLK (Saat) - pin 13
  • SS/CS (Slave Select/Chip Select) - pin 10

Audacity Software ilə '.wav' faylı yaradılır:

  • . Wav -a çevirmək istədiyiniz audio faylını Audacity -də açın.
  • Faylın adını vurun və sonra 'Stereonu Monoya Böl' seçin. Bu seçim stereo səsi iki mono kanala bölür. İndi kanallardan birini bağlaya bilərsiniz.
  • Altdakı 'Layihə Oranı' dəyərini 16000 Hz -ə dəyişdirin. Bu dəyər, arduino daxili ADC -nin maksimum seçmə tezliyinə uyğundur.
  • İndi WAV olaraq Fayl-> İxrac/İxrac etməliyik.
  • Faylın uyğun yerini və adını seçin. Səsin rəqəmsal formatda saxlanılması üçün PCM formatından istifadə etdiyimiz üçün kodlaşdırma menyusundan 'İmzasız 8 bitlik PCM' seçin.

Addım 4: Səs Çıxışını və Mikrofonu qoşun

Səs Çıxışını və Mikrofonu qoşun
Səs Çıxışını və Mikrofonu qoşun
Səs Çıxışını və Mikrofonu qoşun
Səs Çıxışını və Mikrofonu qoşun
Səs Çıxışını və Mikrofonu qoşun
Səs Çıxışını və Mikrofonu qoşun
Səs Çıxışını və Mikrofonu qoşun
Səs Çıxışını və Mikrofonu qoşun

Mikrofonun qoşulması:

  • Vcc - 3.3v
  • GND - GND
  • Çıxış - A0 pin

QEYD:

  • Giriş siqnalında lazımsız səs -küyə səbəb ola biləcəyi üçün çörək taxtası istifadə etmək əvəzinə mikrofonu birbaşa arduino -ya bağlamağa çalışın.
  • Mikrofon modulundakı başlıqları təmiz bir şəkildə lehimləməyinizə əmin olun, çünki pis lehim birləşmələri də səs -küy yaradır.
  • Bu mikrofon modulu, lövhənin arxasındakı bir qazanın köməyi ilə idarə edilə bilən tənzimlənən qazanc əldə edir. Mənfəəti bir qədər aşağı tutmağı təklif edərdim, çünki o zaman səs -küyü çox gücləndirməyəcək, ağzınızın yanında saxlayaraq daha təmiz bir çıxış əldə edəcəksiniz.

Səs Çıxışının Bağlanması:

  • 10 uF kondansatörü və 1k ohm rezistoru, rezistora bağlı olan kondansatörün pozitivi ilə çörək taxtasına yerləşdirin. Bunlar birlikdə PWM çıxışını gücləndiriciyə verilə bilən analoq siqnala çevirən bir RC filtri təşkil edir.
  • Arduinonun 9 pinini rezistorun digər ucuna bağlayın.
  • Kondansatörün mənfi terminalı qadın audio jakının sol və sağ kanalına bağlanır.
  • Audio jakının GND -si GND -yə qoşulur.
  • Audio jak gücləndiriciyə Aux Kabeli ilə qoşulur. Mənim vəziyyətimdə kompüterimin Dinamik Sistemindən istifadə etdim.

QEYD:

Səs çıxışı olaraq PWM istifadə etmək ən yaxşı seçim ola bilməz, çünki xarici bir DAC daha yaxşı bir qətnamə və keyfiyyət təmin edər. Əlavə olaraq, RC filtrindəki kondansatör və rezistor istenmeyen səs -küyə səbəb ola bilər. Ancaq yenə də bu layihə üçün çıxış olduqca layiqli idi

Addım 5: Düymələri bağlayın

Düymələri bağlayın
Düymələri bağlayın
Düymələri bağlayın
Düymələri bağlayın
Düymələri bağlayın
Düymələri bağlayın

Layihə istifadəçi interfeysi olaraq düymələri basmaq üçün istifadə edir. Hər ikisi də fərqli funksiyaları yerinə yetirir və fərqli istifadə olunur, lakin eyni naqillərə malikdir. Onların əlaqəsi belədir:

  • Düymələri çörək taxtasına qoyun.
  • Düymələrdən birinin bir terminalını arduino -nun 2 -ci pininə 10k ohm aşağı çəkmə rezistoru ilə bağlayın. Düymənin digər terminalı 5v -ə qoşulur. Beləliklə, düyməyə basıldığında pin 2 yüksək olur və bunu kodda aşkar edə bilərik.
  • Digər düymə, 2 deyil, 3 arduino pinlə eyni şəkildə bağlanır.

2-ci pinlə əlaqəli düymə, bir dəfə basıldığında SD Kartda əvvəlcədən quraşdırılmış audio fayllar dəstindən təsadüfi bir səs faylını oxuyur.

Pin 3 -ə qoşulmuş düymə qeyd üçündür. Qeyd etmək üçün bu düyməni basıb saxlayın. Arduino, bu düyməyə basıldığı anda yazmağa başlayır və bu düyməni buraxdıqdan sonra yazmağı dayandırır. Qeydə alınma dayandırıldıqdan sonra dərhal həmin yazını təkrar oxuyur.

Addım 6: Kodu yükləyin

Kodu yükləyin
Kodu yükləyin
Kodu yükləyin
Kodu yükləyin
Kodu yükləyin
Kodu yükləyin

Kodu yükləməzdən əvvəl, TMRpcm, SD və s. Kimi bütün lazımi kitabxanaları quraşdırdığınızdan əmin olun.

Kodu yüklədikdən sonra arduinonun nə etdiyinə dair rəy almaq üçün Serial Monitoru da aça bilərsiniz.

Hal -hazırda kod fərqli səs çıxarmaq üçün yazılmış səsi manipulyasiya etmir, amma qazanın köməyi ilə səs siqnalının çıxış tezliyini təyin edə və fərqli səs növləri əldə edə biləcəyiniz bu xüsusiyyəti növbəti versiyaya daxil etməyi planlaşdırıram..

Və Sən Bittin !!

Tövsiyə: