Gumawa ng isang Digital "meow" Mula sa Analog Clock: 7 Steps (na may Mga Larawan)

Gumawa ng isang Digital "meow" Mula sa Analog Clock: 7 Steps (na may Mga Larawan)

Talaan ng mga Nilalaman:

Anonim

Ang iyong analog na orasan ay hindi lamang gumagawa ng sapat na bagay? Gusto mong gawin ang mga digital na bagay sa isang analog na orasan?

Ipapakita sa iyo ng tutorial na ito kung paano mag-play ng isang Kit ng Clock ng Cat ang isang "meow" na sound clip, sa tumpak na agwat ng oras, gamit ang Atmega 328P-PU sa pamamagitan ng Arduino Uno development board. Sa aking halimbawa, ang meow ay magaganap sa oras-oras. Ito ay hindi kailangang maging isang Kit-Cat clock alinman, ang ideyang ito ay maaaring gumana sa ibang mga orasan na gumagamit ng magnet na motor.

Mga pagpapalagay (laktawan kung ikaw ay isang dalubhasa sa lahat ng bagay)

Ang proyekto ay sumasaklaw sa maraming mga intermediate sa mga advanced na kasanayan tulad ng pagsunog ng isang bootloader at paghihinang ng mga wire. Samakatuwid, kailangan ang ilang kinakailangang kaalaman at kasanayan bago magpatuloy. Ipagpalagay ko na alam mo kung paano, o hindi bababa sa maging handa upang gawin ang mga sumusunod:

Nasusunog ang isang bootloader papunta sa Atmel328P-PU (maliban kung mayroon na kayo).

Ang pag-upload ng "sketches" papunta sa Atmel328P-PU sa pamamagitan ng Arduino

Pagpasok ng mga utos sa isang terminal emulator o command prompt (windows)

Paggamit ng isang bakal na panghinang upang gumawa ng mga koneksyon sa pagitan ng mga sangkap.

Mga posibleng paggamit ng isang drill o Dremel tool para sa dekorasyon / paggupit ng mga bahagi ng plastic, at mga butas ng pagbubutas.

Materyales

Arduino Uno R3 x 1

Breadboard x 1

Jumper Wire (sapat na piraso)

Resistors:

350 Ohm x 1

150 oum x 1

220 oum x 1

280 Ohm x 1

10K Ohm x 1

330 oum x 1 (opsyonal kung gusto mo ang LED habang gumagamit ng Arduino sa Breadboard Setup)

Mga Capacitor:

100 uF x 1

10 uF x 1

22 pF x 2 (maaaring opsyonal)

16 Mhz Crystal Oscillator

0.5 Watt maliit na speaker (humigit-kumulang 50.8 mm diameter) x 1

7.5 bolta AC wall adaptor (ginamit ko ang Vtech brand na natagpuan sa Toys R Us) x 1

7805 Boltahe regulator x 1

Paghihinang Iron at Solder

Protoboard (o ilang iba pang pangwakas na proyekto board na ay sapat na maliit upang magkasya sa kaso ng orasan)

Sobrang pandikit

Heat shrink (opsyonal)

Hot Glue gun (opsyonal)

Takane Quartz Clock (ipagpapalagay na kailangan mong palitan ang default na isa sa loob ng Kit Cat, tulad ng ginawa ko)

Hall effect sensor x 1

Ginamit ko ang SS41 pamilya ng Hall effect sensors. Ang mga sensor na ito ay sapat na sensitibo upang makita ang medyo mahina magnetic field mula sa motor na pang-magnetong orasan. Ang tukoy na isa na binili ko ay matatagpuan dito

Mga Kagamitan:

Hakbang 1: Pangkalahatang Proyekto ng Pangkalahatang Proyekto:

Ang isang kagiliw-giliw na aspeto ng proyektong ito ay gumagamit ng analog na mga aparato (sa kasong ito isang analog na orasan) upang makipag-ugnay sa digital na mundo ng Atmel 328P-PU. Ang Arduino ay marahil isa sa pinakasimpleng paraan upang makamit ito. Gagamitin ko ang tipikal na motor ng orasan na natagpuan sa loob ng mga klasikong Kit ng mga oras ng Cat upang makabuo ng isang digital na pulso na magpapakain sa Atmel chip. Ang dahilan kung bakit ito gagana ay dahil ang motor ng orasan ay gumagamit ng isang permanenteng pang-akit, na matatagpuan sa loob ng kalapitan ng isang likid, upang lumikha ng mekanikal na metalikang kuryente na kinakailangan upang iikot ang mga kamay ng orasan. Tatangkain ko ang magnetic field na ito sa pamamagitan ng paggamit ng sensor ng Hall Effect upang makita ang magnetic flux mula sa motor ng orasan. Ang sensor ay magpapadala ng digital HIGH kapag ang isa sa mga pole mula sa magnet ay nakaharap sa sensor, at pagkatapos ay output ng isang LOW kapag ang kabaligtaran pol ay malapit sa sensor. Ang post na ito ng paglipat ay nangyayari bawat segundo, o may dalas ng 1 Hz at ang dahilan kung bakit ito ay nagsisilbing isang perpektong motor para sa pagmamaneho ng mga kamay ng orasan.

Tandaan: ang sensor ay hindi aktwal na hinahawakan ang pang-akit, ito ay napakalapit lang nito. Ang mga larawan ay nagpapakita kung gaano kalapit ang kinakailangan kong ilagay ang sensor, upang makakuha ng pagbabasa.

Ang mga larawan dito ay nagpapakita sa loob ng aktwal na orasan at magnet na motor sa kanang bahagi. Ang uri ng orasan ay tinatawag na "Takane Quartz" at ang mga ito ay medyo karaniwan sa mga murang analog na orasan.

Kapag kami ay may matatag na pulso na nagmumula sa sensor, ang lahat ng mga uri ng mga bagay ay maaaring tapos na digital, at talagang limitado lamang ito sa iyong imahinasyon sa kung ano ang magagawa mo. Sa tutorial na ito ay gagawin ko lang ang counter na binibilang ang mga pulse ng orasan (mula sa sensor ng Hall), at sa pagtatapos ng count, pagkatapos ay gumaganap ng audio na "meow".

Ang unang hakbang ay nagsasangkot ng pag-mount ng sensor ng Hall malapit sa sapat na magneto motor upang maaari kang makakuha ng isang mahusay na pagbabasa. Kinailangan kong ilagay ang sensor na malapit sa aking magnet na motor upang makakuha ng isang output. Maaari mong subukan ang sensor sa pamamagitan ng paglakip ng isang bagay tulad ng isang LED sa output pin ng sensor at pagkatapos ay i-on ang orasan sa. Kung ito ay gumagana pagkatapos ang LED ay dapat magpikit ng bawat iba pang segundo. Ito ay dahil ang output ay lamang HIGH habang ang isa sa mga pole ay nakaharap sa sensor (sabihin natin ang north pol bilang isang halimbawa); kapag ang kabaligtaran pol (timog) ay nakaharap sa sensor ang output ay mababa.

Matapos mong matukoy ang isang naaangkop na lokasyon at distansya upang makuha ang iyong mga pagbabasa, dapat mong simulan ang pag-iisip tungkol sa kung paano i-mount ito doon nang permanente. Pinili kong gamitin ang super glue upang i-hold ang sensor sa lugar. Isinasaalang-alang ko rin ang lokasyon dahil sa kung saan ang pabalik na pambalot ay magiging. Kinailangan kong lagutin ang isang maliit na hugis-parihaba na butas upang mapupuntahan ang sensor pins. Dapat mong malaman kung ano ang pinakamahusay na gumagana dahil kahit na ang mga orasan ay halos pareho, kung minsan ang layout ay bahagyang naiiba sa loob, at ang paglalagay ng sensor ay maaaring mag-iba depende sa partikular na orasan na mayroon ka.

Hakbang 2: Ang Paghihinang Wire sa Input Pins ng Sensor

Ngayon ay oras na upang maghinang ang mga pin sa kawad. Ang dahilan kung bakit ginawa ko ito ay para sa dalawang kadahilanan: Una gusto mong masubukan ang sensor habang patuloy kang nagtatrabaho, at dahil din ay kakailanganin mo ang mga wires kapag ikinonekta mo ito sa iyong breadboard at sa wakas ay ang protoboard. Tandaan, ang paggamit ng iba't ibang kulay na kawad ay maaaring gawing mas madali kapag kailangan mong mabilis na matukoy ang mga pin. Iyon ang ginawa ko.

Maaaring matagpuan ang configuration ng Pinout sa site na ito

Hakbang 3: Paghahanda ng Audio File

Kung alam mo na kung paano i-convert ang isang file na WAV sa isang file na C, maaari mong laktawan o sumagupa sa hakbang na ito.

Ngayon na ang sensor ay naka-attach sa naaangkop na mga pin sa breadboard, kakailanganin mong i-upload ang audio sketch papunta sa Atmel328P. Ngunit una, ang ilang mga pagbabago at "masahe" ay kailangang gawin muna. Ito ay kung saan maaari kang gumawa ng ilan sa iyong sariling mga pagbabago at pupunta ako sa ilang (ngunit hindi lahat) ng detalye tungkol sa paggamit ng mga programa ng Audacity at wav2c. Dapat mong sige at buksan ang code na ibinigay ko sa iyong Arduino IDE. Kapag binuksan mo ang sketch sa Arduino IDE, ang unang tab ay bahagyang pagbabago sa sketch ng PCM audio na isinulat ni Michael Smith, ang orihinal ay matatagpuan sa site ng Arduino:

playground.arduino.cc/Code/PCMAudio

Ang Audacity ay isang programa sa pag-edit ng audio. Ito ay napakalakas at nagbibigay-daan sa isang.wav file na mai-export bilang isang 8-bit mono, unsigned.wav file. Ito ay kinakailangan upang makuha ang sukat ng file na nabawasan at din upang i-maximize ang compatibility sa audio sketch playback. Maaari kang magtrabaho sa paligid ng iba't ibang mga rate ng sukat at sukat, ngunit hindi ako nakapag-eksperimento dito. Gagamitin lamang namin ang mga kinakailangang tampok sa Audacity upang makuha ang trabaho.

Ang Wav2c, gaya ng ipinahihiwatig ng pangalan, ay maaaring mag-convert ng.wav na file sa isang C file. Kailangan din ito dahil ang file na wav mismo ay masyadong malaki upang magkasya sa memorya ng 328P-PU. Sa pagsulat na ito maaari mong i-download ang source code nang direkta mula sa github. Maaari ka ring makakuha ng mga naipon na bersyon mula sa iba pang mga website. Sa alinmang paraan, dapat mong gamitin ito o isa pang katulad na programa para sa proseso ng conversion.

github.com/olleolleolle/wav2c

Hakbang 4: Paggamit ng Audacity at Wav2c

Ang layunin ng conversion ng file ng tunog ay ang kumuha ng isang audio file (.wav) at ibahin ang anyo nito sa isang kapaki-pakinabang na C header ng file na dokumento. Pinapayagan nito ang arduino na gamitin ang impormasyon sa header ng file upang maging output bilang tunog sa pamamagitan ng isang speaker.

-First bukas sa file sa Audacity.

-Baguhin ang proyekto rate sa 8000 Hz (na matatagpuan sa ibabang kaliwang sulok).

-Pagkatapos piliin ang "track" mula sa menu at piliin ang "resample".

-Sunod magsagawa ng pag-export> ibang mga hindi naka-compress na file.

-Mag-sign up ng mga pagpipilian piliin ang 8-bit.

Maghahanda ito ng file para sa susunod na hakbang sa ibaba, na kung saan ay ang conversion sa C file.

-Susunod buksan ang isang terminal at baguhin sa parehong direktoryo ng file.

-Laguhin ang mga sumusunod na command (sox) upang putulin ang buntot (ipagpalagay na mayroong isa)

-Upang patakbuhin ang pangwakas na utos upang aktwal na gawin ang conversion

(mapapansin na ang isang kopya ng orihinal na file ay talagang na-convert)

-Sunod, buksan ang arduino IDE at magdagdag ng isang bagong blangko na tab (ang pindutan para sa pagdaragdag ng isang bagong tab ay nasa dulong kanan ng Arduino IDE).

-Rename ang tab sa parehong pangalan bilang header file.

-Copy at i-paste ang mga nilalaman sa tab

Hakbang 5: Pagsubok sa Iyong Tunog

Ngayon na mayroon ka na ang sounddata.h file handa, at na-verify mo ang Arduino sketch, dapat mo na ngayong i-upload ito sa iyong maliit na tilad. Ginamit ko ang board ng Arduino nang direkta para sa lahat ng aking mga unang pagsusulit, ngunit pagkatapos ay ginamit ang configuration ng "Arduino sa Breadboard" para sa aking natitirang pagsubok. Na-attach ko ang diagram dito.

Kung ang lahat ay mabuti, i-on ang iyong orasan, at subukan ito upang matiyak na ito ay pagbibilang ng pulses mula sa orasan at pagkatapos ay naghahatid ng output. Tandaan: noong orihinal kong ginawa ito, itinakda ko ang audio playback counter para sa bawat 60 segundo nang sa gayon ay hindi ko kailangang maghintay ng isang buong oras upang makita kung ito ay nagtatrabaho, at pagkatapos ay binago ko ang counter sa 3600 segundo o 1 oras). Upang baguhin ang agwat ng meow, hanapin ang piraso ng code na malapit sa mga huling linya at hanapin ang variable ng clockCount. Baguhin ito sa anumang halaga na gusto mo.

Hakbang 6: Paghihinang Lahat para sa isang Higit na Permanent, Disenyo ng Compact

Ngayon para sa kasiyahan bahagi … paghihinang lahat ng mga mahalagang bahagi mula sa iyong breadboard sa isang mas compact protoboard. Hindi mo kakailanganin ang lahat tulad ng LED output o reset button (ipagpalagay na mayroon kang isa mula sa Arduino sa Breadboard circuit). Maraming mas mahusay na paraan upang gawin ito, ngunit kung mayroon kang limitadong supplies, ang protoboard ay marahil ang iyong pinakamahusay na mapagpipilian. Maraming mga tao ngayon ang gumagawa ng kanilang sariling PCB etching at pagproseso. Kung magagawa mo iyan, kung gayon ay sa pamamagitan ng lahat ng paraan gawin ito, sapagkat ito ay mas mahusay kaysa sa isang protoboard.

Kailangan mo ring ikonekta ang iyong AC adapter sa positibo at negatibong mga node ng protoboard kung saan ito nakakatugon sa mga pin boltahe regulator. Ginamit ko ang Vtech 7.5 bolta modelo. Ang mga ito ay tungkol sa 10 bucks sa Target, at 12 sa Toys R Us. O maaari mong gamitin ang anumang bagay na katulad mo na nakahiga sa paligid ng bahay. Ingat: Dapat mong subukan na panatilihin ang boltahe pagkakaiba sa pagitan ng regulator at adaptor sa isang minimum kahit na, dahil ito ay init up kung hindi man. Kung ang pagkakaiba ay malaki, pagkatapos ay dapat mong ilagay ang isang init lababo sa regulator upang makatulong na mapawi ang init. Ang boltahe pagkakaiba sa pagitan ng 7805 at ang Vtech AC adaptor ay 2.5 bolts lamang sa 300mA, ngunit dapat mo pa ring ilagay ang isang maliit na heatsink dito.

Tandaan: siguraduhin na ikaw ay masaya / nasiyahan sa sketch sa Atmega chip dahil sa sandaling ito ay soldered sa board hindi mo magagawang reprogram ito.

Tandaan: Ginamit ko rin ang isang dremel upang makagawa ng isang maliit na butas sa ilalim ng kaso ng orasan upang ang kable ng adaptor ng kapangyarihan ay maayos na magkasya. Ginagamit ko rin ito para sa iba pang iba't ibang mga bagay habang binabago ang orasan, tulad ng pag-aalis ng mga matalim na mga gilid at paglilinis lamang sa loob ng pangkalahatan.

Hakbang 7: Pagsasaayos ng Lahat at Pagkakabit Ito Sa loob ng Orasan

Sa sandaling mayroon ka ng lahat ng mga wire at sangkap na maayos na hinango ngayon ay oras na upang ayusin ang mga kable at magpasya sa tamang pagkakalagay ng board sa loob ng kama ng Kit Cat. Ang pangunahing pag-aalala dito ay ang paglalagay ng lahat sa isang lugar na hindi makagambala sa paggalaw ng buntot at mga mata. Hindi ko rin napagtanto kung gaano kahirap ang pag-angkop sa tagapagsalita, kaya kinailangan kong mag-drill ng ilang mga butas upang makatulong na i-mount ang speaker sa isang lugar na hahadlang sa armature motor tail.

Ang paghahanap ng lugar para sa board ay maaaring nakakalito at maaaring mangailangan ng ilang pagsubok at error. Nakaayos ako sa isang lugar sa kaliwa, malapit sa pabahay ng baterya. Pagkatapos ay gumamit ako ng isang mainit na pangkola na baril sa mga gilid ng board upang makatulong na panatilihin ito sa lugar. Maaari kang makahanap ng mga kurbatang paghawak o mga kurbatang zip na kapaki-pakinabang para sa pag-aayos at pagpapangkat ng mga wires nang maayos.

Anuman ang pamamaraan na magpasya kang gawin ito ay nasa sa iyo, dahil ang pamamahala upang magkasya ang lahat sa loob ng orasan ng casing ay nakasalalay sa iyong orasan at ang dami ng mga bagay na papasok dito.

Finalist sa

Paligsahan ng Sensor