Përmbajtje:

Arduino bëhet Tom duke folur: 6 hapa
Arduino bëhet Tom duke folur: 6 hapa

Video: Arduino bëhet Tom duke folur: 6 hapa

Video: Arduino bëhet Tom duke folur: 6 hapa
Video: КАК НАСТРОИТЬ L4D2 2024, Dhjetor
Anonim
Arduino bëhet Tom që flet
Arduino bëhet Tom që flet
Arduino bëhet Tom që flet
Arduino bëhet Tom që flet

Një nga kujtimet e mia më të vjetra të përdorimit të një smartphone ishte të luaja lojën "Talking Tom". Loja ishte goxha e thjeshtë. Ekziston një mace, e quajtur Tom, e cila mund të flasë. Në lojë, Tom dëgjonte çdo hyrje përmes mikrofonit të telefonit dhe më pas përsëriste gjithçka që dëgjonte. Pra, çfarëdo që t'i thotë Tomit, thjesht do të përsëriste të njëjtën gjë me zërin e tij të mprehtë.

Ndërsa tingëllon e thjeshtë, e gjithë kjo procedurë kërkon shumë hapa komplekse si marrja e mostrave të hyrjes analoge të mikrofonit në formë dixhitale, manipulimi i zërit në mënyrë që t'i japë Tomit zërin e tij unik dhe më pas rindërtimin e sinjalit nga të gjitha ato vlera dixhitale për ta luajtur atë përmes altoparlantit Me Të gjitha këto hapa komplekse, por telefoni i mençur e trajtoi atë si një bukuri edhe 9 deri në 10 vjet mbrapa!

Gjëja interesante do të ishte për të parë nëse e njëjta gjë mund të bëhet me një bord Arduino të bazuar në mikrokontrollues të lirë. Pra, në këtë udhëzues do të tregoj se si mund të bëni një projekt të thjeshtë Talking Tom si nga një Arduino dhe disa pajisje të tjera elektronike të lira.

Ky udhëzues u shkrua në bashkëpunim me Hatchnhack Makerspace në Delhi

SH NOTNIM: Ky udhëzues është versioni i parë i projektit i cili përfundon funksionin 'Talking' të Talking Tom ku arduino do të jetë në gjendje të përsërisë gjithçka që i thoni. Pjesa e ndryshimit të zërit do të mbulohet në versionin e ardhshëm, megjithëse, për shkak të më pak zgjidhjes së ADC të ndërtuar në Arduino, audio e regjistruar tashmë tingëllon pak më ndryshe: P (Kjo mund të vërehet qartë në videon e projektit).

Pra, Le të Fillojmë!

Hapi 1: Materialet e përdorura

Materialet e Përdorura
Materialet e Përdorura
Materialet e Përdorura
Materialet e Përdorura
Materialet e Përdorura
Materialet e Përdorura

Hardware:

  • Një Arduino UNO
  • Moduli i mikrofonit MAX4466 me Fitim të Rregullueshëm
  • Moduli i lexuesit të kartave SD me bazë SPI
  • kartë SD
  • Përforcuesi audio si altoparlanti i PC, moduli i amplifikatorit PAM8403, etj.
  • Altoparlantë për t'u lidhur me Amplifikatorin
  • Fole femër audio
  • Rezistencë 1 x 1k ohm
  • Rezistencë 2 x 10k Ohm
  • 1 x 10uF Kondensator
  • 2 x Buton Push
  • Telat Jumper

Softuer:

  • Arduino IDE
  • Guxim (opsional)
  • Biblioteka TMRpcm dhe SD për Arduino

Hapi 2: Një Vështrim Bazë i Projektit

Projekti kryesisht ka 2 karakteristika:

  • Mund të luajë një audio të zgjedhur rastësisht nga një grup skedarësh audio të para-instaluar në kartën SD për efekte zanore etj.
  • Mund të regjistrojë hyrjen e zërit nga mikrofoni dhe pastaj ta riprodhojë sapo të ndalojë regjistrimi. Kjo i lejon arduino të përsërisë gjithçka që ka dëgjuar përmes mikrofonit.

Ndërfaqja e Përdoruesit të projektit kryesisht përbëhet nga 2 butona shtypi secila prej të cilave korrespondojnë me një nga veçoritë e mësipërme.

Puna kryesore e vështirë e regjistrimit dhe luajtjes së skedarëve audio nga karta SD trajtohet nga biblioteka TMRpcm

Regjistrimi audio përdor modulin e mikrofonit MAX4466, ADC -në e brendshme të arduino -s dhe bibliotekën TMRpcm për të marrë mostrën e audios dhe pastaj ta ruajë përkohësisht në kartën SD si skedar '.wav' për riprodhim. Skedarët audio '.wav' përdorin PCM (Modulimi i Kodit të Pulsit) për të ruajtur të dhënat audio në formatin dixhital në mënyrë që të mund të luhen përsëri lehtë. Në përgjithësi, është më mirë të përdorni një ADC të jashtëm për projekte të bazuara në audio pasi rezolucioni i ADC i Arduino nuk është aq i lartë, por funksionon për këtë projekt.

Luajtja e skedarëve audio (të para-instaluar dhe regjistruar) bëhet gjithashtu me ndihmën e bibliotekës TMRpcm e cila nxjerr audio si një sinjal PWM nga një kunj i aktivizuar PWM i arduino. Ky sinjal futet më pas në një filtër RC për të marrë sinjal analog i cili më pas futet në një përforcues për të luajtur zërin përmes një altoparlanti. Për këtë pjesë ju gjithashtu mund të përdorni një DAC të jashtëm pasi arduino nuk e ka atë brenda. Përdorimi i një DAC mund të jetë një opsion më i mirë pasi do të përmirësonte ndjeshëm cilësinë e audios.

Komunikimi midis modulit të kartës SD dhe arduino bëhet nëpërmjet SPI (Serial periferike Interface). Kodi, përdor bibliotekën SD & SPI për të hyrë me lehtësi në përmbajtjen e kartës SD.

Hapi 3: Përgatitni kartën SD dhe lidhni modulin e kartës SD

Përgatitni kartën SD dhe lidhni modulin e kartës SD
Përgatitni kartën SD dhe lidhni modulin e kartës SD
Përgatitni kartën SD dhe lidhni modulin e kartës SD
Përgatitni kartën SD dhe lidhni modulin e kartës SD
Përgatitni kartën SD dhe lidhni modulin e kartës SD
Përgatitni kartën SD dhe lidhni modulin e kartës SD
Përgatitni kartën SD dhe lidhni modulin e kartës SD
Përgatitni kartën SD dhe lidhni modulin e kartës SD
  • Së pari ju duhet të formatoni si kartë SD me një sistem skedarësh FAT16 ose FAT32 (Ju mund të përdorni smartphone tuaj për të formatuar kartën SD).
  • Tani instaloni paraprakisht disa skedarë audio.wav në kartën SD. Ju mund të krijoni skedarë.wav me Audacity (shihni udhëzimet më poshtë). Mos harroni të emërtoni skedarët si audio_1.wav, audio_2.wav, audio_3.wav dhe kështu me radhë.

Moduli i kartës SD përdor SPI për të komunikuar të dhënat me arduino. Prandaj, lidhet vetëm me ato kunjat që kanë të aktivizuar SPI. Këto lidhje janë si më poshtë:

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

Gjenerimi i skedarit '.wav' me Softuerin Audacity:

  • Hapni skedarin audio që dëshironi të konvertoni në.wav në Audacity.
  • Klikoni mbi emrin e skedarit dhe më pas zgjidhni 'Split Stereo to Mono'. Ky opsion ndan audio stereo në dy kanale mono. Tani mund të mbyllni një nga kanali.
  • Ndryshoni vlerën e 'Vlerësimit të Projektit' në fund në 16000 Hz. Kjo vlerë korrespondon me frekuencën maksimale të kampionimit të ADC -së së brendshme të arduino -s.
  • Tani arrita te Skedari-> Eksport/Eksport si WAV.
  • Zgjidhni vendndodhjen dhe emrin e duhur të skedarit. Nga menyja e kodimit zgjidhni 'PCM 8-bit pa shenjë' pasi ne po përdorim formatin PCM për të ruajtur audion në format dixhital.

Hapi 4: Lidhni daljen audio dhe mikrofonin

Lidhni daljen audio dhe mikrofonin
Lidhni daljen audio dhe mikrofonin
Lidhni daljen audio dhe mikrofonin
Lidhni daljen audio dhe mikrofonin
Lidhni daljen audio dhe mikrofonin
Lidhni daljen audio dhe mikrofonin
Lidhni daljen audio dhe mikrofonin
Lidhni daljen audio dhe mikrofonin

Lidhja e mikrofonit:

  • Vcc - 3.3v
  • GND - GND
  • JASHT - A0 pin

SHËNIM:

  • Mundohuni të lidhni mikrofonin direkt me arduino në vend që të përdorni një dërrasë ngrënieje pasi mund të shkaktojë zhurmë të panevojshme në sinjalin hyrës.
  • Sigurohuni që të lidhni në mënyrë të pastër titujt në modulin e mikrofonit pasi lidhjet e këqija të saldimit gjithashtu prodhojnë zhurmë.
  • Ky modul mikrofoni ka përfitim të rregullueshëm i cili mund të kontrollohet me ndihmën e një tenxhere në pjesën e pasme të tabelës. Unë do t'ju sugjeroja që ta mbani fitimin disi të ulët pasi atëherë nuk do ta përforcojë shumë zhurmën ndërsa mund të flisni duke e mbajtur atë pranë gojës duke rezultuar në një dalje më të pastër.

Lidhja e daljes audio:

  • Vendosni kondensatorin 10 uF dhe rezistencën 1khm në seri në pjatën e bukës me pozitivin e kondensatorit të lidhur me rezistencën. Këto së bashku formojnë një filtër RC i cili konverton daljen PWM në sinjal analog që mund të futet në përforcues.
  • Lidhni kunjin 9 të Arduino me skajin tjetër të rezistencës.
  • Terminali negativ i Kondensatorit lidhet me kanalin e majtë dhe të djathtë të folesë audio femërore.
  • GND i folesë Audio lidhet me GND.
  • Foleja audio është e lidhur me amplifikatorin me një kabllo Aux. Në rastin tim kam përdorur sistemin e altoparlantëve të kompjuterit tim.

SHËNIM:

Përdorimi i PWM si dalje audio mund të mos jetë opsioni më i mirë pasi një DAC e jashtme do të siguronte rezolucion dhe cilësi shumë më të mirë. Për më tepër, kondensatori dhe rezistenca në filtrin RC mund të shkaktojnë zhurmë të padëshiruar. Por akoma prodhimi ishte mjaft i mirë për këtë projekt

Hapi 5: Lidhni butonat

Lidhni butonat
Lidhni butonat
Lidhni butonat
Lidhni butonat
Lidhni butonat
Lidhni butonat

Projekti përdor për të shtypur butonat si ndërfaqen e përdoruesit. Të dy kryejnë funksione të ndryshme dhe përdoren ndryshe, por kanë të njëjtat instalime elektrike. Lidhja e tyre është si më poshtë:

  • Vendosni butonat në tabelën e bukës.
  • Bashkangjitni një terminal të njërit prej butonit në kunjin 2 të arduino me një rezistencë tërheqëse 10km poshtë. Terminali tjetër i butonit lidhet me 5v. Pra, kur shtypet butoni pin 2 bëhet LART HIGH dhe ne mund ta zbulojmë atë në kod.
  • Butoni tjetër lidhet njësoj me pinin e arduino 3 në vend të 2.

Butoni i lidhur me pin 2 luan një skedar audio të rastësishëm nga grupi i skedarëve audio të para-instaluar në Kartën SD kur të shtypet një herë.

Butoni i lidhur me pin 3 është për regjistrim. Ju duhet të shtypni dhe mbani këtë buton për regjistrimin. Arduino fillon regjistrimin sapo të shtypet ky buton dhe ndalon regjistrimin kur të lëshohet ky buton. Pas ndalimit të regjistrimit, ai menjëherë e riprodhon atë regjistrim.

Hapi 6: Ngarko kodin

Ngarko Kodin
Ngarko Kodin
Ngarko Kodin
Ngarko Kodin
Ngarko Kodin
Ngarko Kodin

Para se të ngarkoni kodin, sigurohuni që keni instaluar të gjitha bibliotekat e kërkuara si TMRpcm, SD etj.

Ju gjithashtu mund të hapni Monitorin Serial pasi të keni ngarkuar kodin për të marrë një reagim se çfarë po bën arduino.

Aktualisht kodi nuk po manipulon audion e regjistruar për ta bërë atë të tingëllojë ndryshe, por unë planifikoj ta përfshij këtë veçori në versionin tjetër ku mund të jeni në gjendje të vendosni frekuencën e daljes së sinjalit audio me ndihmën e tenxhere dhe të merrni lloje të ndryshme të tingujve Me

Dhe Je Bërë !!

Recommended: