Talaan ng mga Nilalaman:

Retro Sound Chip Sa Isang Arduino - ang SAA1099: 16 Mga Hakbang (na may Mga Larawan)
Retro Sound Chip Sa Isang Arduino - ang SAA1099: 16 Mga Hakbang (na may Mga Larawan)

Video: Retro Sound Chip Sa Isang Arduino - ang SAA1099: 16 Mga Hakbang (na may Mga Larawan)

Video: Retro Sound Chip Sa Isang Arduino - ang SAA1099: 16 Mga Hakbang (na may Mga Larawan)
Video: как превратить ЭЛТ телевизор в осциллограф 2024, Nobyembre
Anonim
Image
Image
Mga kable - SAA1099
Mga kable - SAA1099

Sa itinuturo na ito, ipapakita ko sa iyo kung paano gumamit ng isang Arduino Uno na may isang chip ng tunog ng antigo na tunog, upang i-play ang mga file na midi sa parisukat na kulot na kabutihan!

Kung nais mo lamang ng isang mabilis na pangkalahatang ideya ng kung ano ang ginagawa ng proyektong ito, panoorin ang video sa itaas. Kung hindi man, magpatuloy!

Hakbang 1: Video

Image
Image

Kung mas gusto mo ang lahat ng iyong mga tagubilin sa malinaw, maigsi na mga video, nasasaklaw ka namin!

Para sa natitirang sa amin, maaari kang magpatuloy sa, para sa isang mas detalyado, at nakasulat na mga tagubilin.

Hakbang 2: Mga Bahagi at Materyales

Para dito, kakailanganin mo ang mga bagay na ito:

(Ang mga link ay para sa mga item sa eBay)

  • Isang Arduino (Uno, Nano, Leonardo, dapat silang lahat magtrabaho)
  • Hindi bababa sa isang medium size na breadboard
  • Ang chip ng SAA1099 Stereo Sound Generator
  • Breadboard jumper wires (Bilang kahalili, gusto ko ang paggamit ng dupont na babae sa mga babaeng jumper, na may 20mm na mga header pin na ipinasok sa alinman sa dulo- Karamihan sa mas matatag)
  • 8Mhz TTL Oscillator (link ng AliExpress na ibinigay ng zweigelt)
  • Stereo (o mono) Audio Jack
  • 2 x 1K resistors (Lot ng 100)
  • 1 x 10K risistor (Lot ng 50)
  • 2 x 100pF Mga Capacitor
  • (Opsyonal) Ang ilang mga LEDs, hindi bababa sa 1 (Anumang kulay, narito ang 100 magkakaibang mga kulay para sa isang dolyar!)

Gamit ang mga ibinigay na link, ang kabuuang gastos ay $ 23.25, kabilang ang pagpapadala. Siyempre, karamihan sa mga ito ay nagmula sa kalahati sa buong mundo, kaya ang pagpapadala ay karaniwang tumatagal ng isang buwan. Kung nais mo ng mas mabilis na pagpapadala, malamang na magbayad ka ng kaunti pa.

Hakbang 3: Mga Kable - SAA1099

Mga kable - SAA1099
Mga kable - SAA1099
Mga kable - SAA1099
Mga kable - SAA1099

Kung bagay ang mga eskematiko, narito ka! Ang natitira sa atin ay maaaring dumaan sa hakbang-hakbang, o panoorin ang video.

  • Ilagay ang SAA1099 sa dulo ng breadboard, na ang bingaw sa maliit na tilad ay nakaharap sa dulo.
  • Ngayon, kapangyarihan. Ang VDD (pin 18) sa SAA1099 ay papunta sa kapangyarihan, pagkatapos ay i-pin ang VSS (pin 9) sa lupa.
  • Susunod, maglagay ng isang wire sa pagitan ng CS (pin 2) at ground, upang mapanatili itong mabababa

Inirerekumenda ko rin na tingnan ang datasheet, na na-attach ko.

Hakbang 4: Mga Kable - TTL Oscillator

Mga Kable - TTL Oscillator
Mga Kable - TTL Oscillator
Mga Kable - TTL Oscillator
Mga Kable - TTL Oscillator
  • Ilalagay namin ang TTL Oscillator sa breadboard sa tabi ng breadboard, upang ang pin na output ng orasan ay pinakamalapit sa input ng orasan sa SAA1099 (Pin 8)
  • Maaari kang magpatuloy at ikonekta ang lakas at lupa sa TTL oscillator. (Naghintay ako hanggang sa paglaon sa aking video, kaya wala akong larawan). Ipinapakita ng larawan sa itaas kung aling mga pin ang alin.

Hakbang 5: Mga Kable - Iref at Chip Interface

Mga Kable - Iref at Chip Interface
Mga Kable - Iref at Chip Interface
Mga Kable - Iref at Chip Interface
Mga Kable - Iref at Chip Interface
  • Ikonekta ang risistor ng 10K sa pagitan ng Iref (pin 6) at 5V.
  • Ikonekta ang digital pin 8 sa WR (pin 1) sa SAA1099.
  • Ikonekta ang digital pin 9 sa A0 (pin 3) sa SAA1099.

Hakbang 6: Mga Kable - Mga Component ng Sound

Mga Kable - Mga Bahagi ng Tunog
Mga Kable - Mga Bahagi ng Tunog
Mga Kable - Mga Bahagi ng Tunog
Mga Kable - Mga Bahagi ng Tunog
Mga Kable - Mga Bahagi ng Tunog
Mga Kable - Mga Bahagi ng Tunog
  • Ikonekta ang isang 100pF capacitor sa pagitan ng OUTR (pin 4) at GND
  • Ikonekta ang isang 1K risistor sa pagitan ng OUTR (pin 4) at 5V
  • Gagawin namin ang parehong bagay para sa OUTL (pin 5)
  • Ikonekta ang isang 100pF capacitor sa pagitan ng OUTL (pin 5) at GND
  • Ikonekta ang isang 1K risistor sa pagitan ng OUTL (pin 5) at 5V

Tandaan! Siguraduhin na wala sa mga wires mula sa resistors / capacitors ang hawakan, kung hindi man ay hindi gagana ang mga bagay, at maaaring (pansamantala) na posibleng pumutok sa iyong mukha.

Hakbang 7: Mga Kable - Audio Jack

Mga Kable - Audio Jack
Mga Kable - Audio Jack
Mga Kable - Audio Jack
Mga Kable - Audio Jack
Mga Kable - Audio Jack
Mga Kable - Audio Jack
  • Ikonekta ang isang maliit na wire ng lumulukso sa pagitan ng 5V at isang walang laman na hilera sa breadboard.
  • Ilagay ang iyong audio jack, upang ang jumper mula sa 5V ay kumokonekta sa "Sleeve" na pin sa Audio Jack
  • Ikonekta ang L at R (O Audio pin, kung mayroon kang isang Mono jack) sa OUTL (pin 5) at OUTR (pin 4) na mga pin sa SAA1099, ayon sa pagkakabanggit.

Tandaan! Sa Mono audio jacks, talagang hindi mahalaga kung ano ang nangyayari, basta ang isang pin ay kumokonekta sa 5V, at isa sa OUTL o OUTR. Mabuti lang ang tunog nito. Maliban kung hindi, kung saang kaso baka gusto mong suriin muli ang iyong mga kable.

Hakbang 8: Mga Kable - Lakas sa Breadboard

Mga Kable - Lakas sa Breadboard
Mga Kable - Lakas sa Breadboard
Mga Kable - Lakas sa Breadboard
Mga Kable - Lakas sa Breadboard
  • Ikonekta ang magkabilang panig ng mga Breadboard power bus sa bawat isa, gamit ang mga wire ng jumper.
  • Ikonekta ang isang bahagi sa mga 5V at GND na pin sa Arduino, tinitiyak na hindi mo pa nahalo ang mga wire kahit saan. Kung ginawa mo ito, maaaring makatakas ang magic usok.

Hakbang 9: Mga Kable - Mga Linya ng Data

Mga Kable - Mga Linya ng Data
Mga Kable - Mga Linya ng Data

Ikonekta ang D0 sa pamamagitan ng D7 sa Arduino sa D0 (pin 10) sa pamamagitan ng D7 (pin 17) sa SAA1099, sa pagkakasunud-sunod

Nalaman ko na ang DuPont female-female jumper wires, na may 15-20MM header pin sa magkabilang dulo, gumana nang mas mahusay kaysa sa male-male dupont wires. Dagdag mo maaari mo ring gamitin ang mga ito bilang babae-babae, o lalaki-babae. Parehong madaling matatagpuan sa eBay sa maraming dami, para sa kaunting pagbabago. Isang magandang regalo sa Pasko para sa naghahangad na Arduino junkie!

Hakbang 10: Mga Opsyonal na (mga) LED

Opsyonal na (mga) LED
Opsyonal na (mga) LED
Opsyonal na (mga) LED
Opsyonal na (mga) LED

Hindi ako lalampas sa hakbang-hakbang kung paano maitatayo ang lahat dito, ngunit maraming magagandang lugar upang magdagdag ng mga LED. Una sa lahat, nakakonekta ako sa isang 3mm na pulang LED sa pagitan ng WR (pin 1) at GND, upang maipakita sa tuwing nagpapadala ang Arduino ng isang utos sa SAA1099.

Nakakonekta ko rin ang mga LED sa mga linya ng data bago, na nagbibigay-daan sa iyo upang makita ang aktwal na binary data sa bawat linya. Ginamit ko ang setup na ito sa aking video na "Arduino at SAA1099 - Fireflies", pati na rin ang 6 pang mga LED at ilang dagdag na code upang magaan ang bawat LED para sa bawat channel na aktibo.

Ang mas maraming LEDs, mas cool ang hitsura nito!

Hakbang 11: Code

Code!
Code!
Code!
Code!

Ngayon na binuo mo ang circuit, pumunta sa dobleng mga koneksyon sa pag-check! Hindi mo nais na sumabog ang iyong mamahaling arduino at Soundchip! (Kung gagawin mo, mabuti. Hindi ko iyon negosyo)

Ipagpalagay na ikaw ay may pag-iisip at nasuri ang lahat, maaari naming simulang i-program ito.

  • Ang silid-aklatan ay nasa
  • Gugustuhin mo ang SAATunes.zip file, kaya sige at i-download iyon.
  • Ngayon, buksan ang Arduino IDE.
  • Sa ilalim ng "Sketch", "Isama ang Library", i-click ang "Magdagdag ng.zip library"
  • Mag-navigate sa kung saan mo man na-download ang SAATunes library. (Wala akong pakialam kung ang iyong desktop, pag-download, o (isingit na nakakahiya) na folder- Hanapin lang ito)
  • Piliin ito, at i-click ang "Buksan"
  • Dapat sabihin sa iyo na naidagdag na ito sa iyong mga aklatan.

Hakbang 12: Subukan Ito

Subukan Mo Ito!
Subukan Mo Ito!
Subukan Mo Ito!
Subukan Mo Ito!
  • Buksan ang halimbawang programa ng SAATunes, sa ilalim ng "File", "Mga Halimbawa", "SAATunes", "SAATunes-Uno".
  • I-plug ang iyong Arduino sa Computer, at sa isang speaker ng ilang uri.
  • I-upload ang programa sa Arduino.

Dapat mong pakinggan ang isang Chord, pagkatapos ang Pagngangalit ni Beethoven sa isang nawalang Penny. Kung ang Classical ay hindi bagay sa iyo, huwag kang matakot, sapagkat sa madaling panahon ay matututunan natin kung paano gamitin ang mga file na MIDI na gusto namin.

Kung wala kang maririnig, suriin ang ilang mga bagay: Una, nakabukas ba ang iyong tagapagsalita? I-up ito lahat Pagkatapos, ang arduino ay talagang nasa? Tama bang na-upload ang programa? Suriin ang lahat ng mga kable gamit ang scematic at datasheet, pagkatapos ay subukang muli.

Hakbang 13: Paggamit ng Iyong Sariling MIDI Files - Conversion Program

Paggamit ng Iyong Sariling MIDI Files - Programa ng Conversion
Paggamit ng Iyong Sariling MIDI Files - Programa ng Conversion

Handa na bang subukan ang ibang bagay maliban kay Beethoven? Mahusay, narito ka.

Upang mai-convert ang mga file na MIDI sa C ++ Bytestreams, kakailanganin namin ng isang programa ni Len Shustek. Siya ang tagalikha ng library na ibinase ko ang aking code, at ang aking library ay gumagamit ng parehong format ng bytestream na katulad niya.

  • Mahahanap mo ang programa sa
  • Ang program na gusto mo ay "miditones.exe". Sige at i-download iyon.

Hakbang 14: Pag-convert ng MIDI Files

Nagko-convert ng MIDI Files
Nagko-convert ng MIDI Files
Nagko-convert ng MIDI Files
Nagko-convert ng MIDI Files
Nagko-convert ng MIDI Files
Nagko-convert ng MIDI Files

Babala! Narito mayroong mga dragon ng TripAdvisor! Maaaring mas madali mong mapanood ang video, kung saan maaari mong makita ang eksaktong sinasabi ko. Kung mangahas kayo na pumasok, pagkatapos ay magpatuloy!

Upang magamit ang MIDI to Bytestream conversion program, kakailanganin mong buksan ang isang window ng prompt ng utos. Paumanhin sa mga gumagamit ng Mac at Linux, maaaring kailangan mong maghanap ng isang solusyon.

  • Buksan ang start menu, at i-type ang "CMD", pagkatapos ay pindutin ang enter.
  • Malalaman namin ang isang maliit na mahika ng MS-DOS ngayon. Gamit ang utos na "CD", mag-navigate sa kung saan mo man na-download ang file na "miditones.exe". Para sa karamihan ng mga kaso, ang mga utos ay "pag-download ng cd".
  • Patakbuhin ang "miditones.exe" na programa sa pamamagitan ng pag-type ng "miditones". Dapat itong ipakita sa iyo ang isang listahan ng tulong na nagpapakita ng pinakakaraniwang mga utos.

Ngayon, kailangan namin ng isang MIDI file upang mag-convert. Humanap ng isa sa kung saan sa mga interwebs, mas mabuti nang walang pagtambulin o anumang mga espesyal na epekto bukod sa mga insturment / bilis. (Kung hindi mo alam kung ano ang mga iyon, huwag mag-alala, magiging maayos ka)

  • I-download ang iyong MIDI file sa parehong lugar mayroon kang program na "miditones".
  • Ngayon, gamit ang window ng command prompt, i-type ang "miditones -d -v [filename]" (Palitan ang [filename] ng kung ano man ang pangalan ng iyong MIDI file).
  • ang mga miditones ay bubuo ng isang. C file na may C ++ bytestream sa parehong folder, na may parehong pangalan tulad ng MIDI file.

Hakbang 15: Paggamit ng Iyong Na-convert na MIDI File

Gamit ang Iyong Na-convert na MIDI File
Gamit ang Iyong Na-convert na MIDI File
Gamit ang Iyong Na-convert na MIDI File
Gamit ang Iyong Na-convert na MIDI File
Gamit ang Iyong Na-convert na MIDI File
Gamit ang Iyong Na-convert na MIDI File

Ngayon na nai-convert mo ang iyong MIDI file, pakainin natin ito sa kaunting mga byte sa arduino!

  • Ipagpalagay na mayroon ka ng halimbawa ng SAATunes-Uno na bukas, magpatuloy tayo at "i-save bilang" iba pa, upang mai-edit natin ito.
  • Kapag na-save mo ito, i-click ang maliit na icon na "pababang arrow" sa kanang sulok sa itaas.
  • I-click ang "bagong tab", at pangalanan ito ng "[pangalan].h" (Palitan ang [pangalan] ng pangalan ng iyong kanta na MIDI, o anumang nais mo)
  • Ngayon, buksan ang. C file na nilikha ng mga miditones nang mas maaga. Maaari mong gamitin ang notepad upang buksan ito.
  • Gumamit ng CNTRL / A upang mapili ang lahat, at pagkatapos ay kopyahin ito.
  • I-paste ito sa iyong bagong tab na "[pangalan].h" sa arduino editor.

Mabuti ang lahat dito, kaya bumalik tayo sa programa.

  • Alamin kung saan sinasabi ang "#include" RagePenny.h "", at kopyahin / idikit ito sa isang bagong linya sa ibaba.
  • Baguhin ang "RagePenny.h" sa anumang pinangalanan mo ng iyong bagong file.
  • Ngayon, puna ang "#include" RagePenny.h "", sa pamamagitan ng pagdaragdag ng dalawang mga forward slash (//) sa harap nito.
  • I-upload ang programa!

Kung naging maayos ang lahat, dapat itong naglalaro ng iyong sariling MIDI file. Kung hindi, muling suriin upang matiyak na ang mga pangalan ng bagong tab at ang pangalang binago mo sa "#include" RagePenny.h "" ay pareho. Suriin ang iba pang mga hakbang, at tiyaking nagawa mo ang lahat nang tama. Ang ilang mga file na MIDI ay hindi gumagana lamang, ngunit bihira ang mga iyon.

Hakbang 16: Fin

Fin!
Fin!

Inaasahan kong ang lahat ay naging maayos sa iyo, at nakikipag-jam sa mga file na MIDI sa isang sinaunang piraso ng teknolohiya na binigyan ng bagong buhay!

Gayunpaman, kung hindi ka, huwag sumuko! Magpadala ng isang puna sa aking paraan, at magiging masaya akong tumulong. Siyempre, huwag mag-atubiling bigyan ako ng mga mungkahi sa mga komento.

Maligayang chiptunes!

Inirerekumendang: