Cov txheej txheem:

Retro Suab Chip Nrog Arduino - SAA1099: 16 Cov Kauj Ruam (nrog Duab)
Retro Suab Chip Nrog Arduino - SAA1099: 16 Cov Kauj Ruam (nrog Duab)

Video: Retro Suab Chip Nrog Arduino - SAA1099: 16 Cov Kauj Ruam (nrog Duab)

Video: Retro Suab Chip Nrog Arduino - SAA1099: 16 Cov Kauj Ruam (nrog Duab)
Video: Nanako (a.k.a. tcdw)* - Star Force Intro - Main Theme (YM2413/OPLL Cover) 2024, Kaum ib hlis
Anonim
Image
Image
Xov tooj - SAA1099
Xov tooj - SAA1099

Hauv cov lus qhia no, Kuv yuav qhia koj yuav siv Arduino Uno li cas nrog lub suab sib xyaw suab paj nruag, ua si cov ntaub ntawv midi hauv cov duab plaub fab zoo!

Yog tias koj tsuas xav tau kev tshuaj xyuas sai ntawm qhov haujlwm no ua li cas, saib cov vis dis aus saum toj no. Txwv tsis pub, txuas ntxiv mus!

Kauj ruam 1: Yees duab

Image
Image

Yog tias koj xav tau tag nrho koj cov lus qhia hauv cov yeeb yaj kiab meej, luv, peb tau pab koj!

Rau peb cov uas seem, koj tuaj yeem txuas ntxiv mus, kom paub ntau ntxiv, thiab sau cov lus qhia.

Kauj Ruam 2: Cov Khoom thiab Cov Khoom

Rau qhov no, koj yuav xav tau cov no:

(Cov kev sib txuas yog rau cov khoom eBay)

  • Ib Arduino (Uno, Nano, Leonardo, lawv txhua tus yuav tsum ua haujlwm)
  • Tsawg kawg yog daim ntawv loj me me
  • SAA1099 lub tso suab suab Generator nti
  • Breadboard jumper xov hlau (Xwb, kuv nyiam siv dupont poj niam rau poj niam dhia, nrog 20mm header pins tso rau hauv ob qho kawg- Muaj zog dua)
  • 8Mhz TTL Oscillator (AliExpress txuas raws li muab los ntawm zweigelt)
  • Lub tso suab (lossis mono) Suab Jack
  • 2 x 1K resistors (Ntau ntawm 100)
  • 1 x 10K resistor (Ntau ntawm 50)
  • 2 x 100pF Capacitors
  • (Tsis teb los tau) Qee qhov LEDs, tsawg kawg 1 (Txhua xim, ntawm no yog 100 xim sib txawv rau ib duas las!)

Siv cov kev txuas uas tau muab, tus nqi tag nrho yog $ 23.25, suav nrog kev xa khoom. Tau kawg, feem ntau ntawm nws los ntawm ib nrab ntawm lub ntiaj teb, yog li kev xa khoom feem ntau siv sijhawm li ib hlis. Yog tias koj xav tau kev xa khoom sai dua, koj yuav zaum tau them me ntsis ntxiv.

Kauj Ruam 3: Txuas - SAA1099

Xov tooj - SAA1099
Xov tooj - SAA1099
Xov tooj - SAA1099
Xov tooj - SAA1099

Yog tias schematics yog koj li, ntawm no koj mus! Tus so ntawm peb tuaj yeem hla dhau ib qib zuj zus, lossis saib cov vis dis aus.

  • Muab SAA1099 tso rau ntawm qhov kawg ntawm lub khob cij, nrog lub thais ntawm lub nti tig mus rau qhov kawg.
  • Tam sim no, lub zog. VDD (tus pin 18) ntawm SAA1099 mus rau lub zog, tom qab ntawd tus pin VSS (tus pin 9) rau hauv av.
  • Tom ntej no, muab xaim ntawm CS (tus pin 2) thiab hauv av, kom nws rub qis

Kuv kuj tseem yuav pom zoo kom saib cov ntawv teev npe, uas kuv tau txuas nrog.

Kauj Ruam 4: Txuas - TTL Oscillator

Cov xov hlau - TTL oscillator
Cov xov hlau - TTL oscillator
Cov xov hlau - TTL oscillator
Cov xov hlau - TTL oscillator
  • Peb yuav muab TTL Oscillator tso rau ntawm lub khob cij nyob ib sab ntawm lub khob cij, kom lub moos tso tus pin nyob ze rau lub moos nkag ntawm SAA1099 (Tus Pin 8)
  • Koj tuaj yeem mus tom ntej thiab txuas lub zog thiab hauv av rau TTL oscillator. (Kuv tos txog tom qab hauv kuv cov vis dis aus, yog li kuv tsis muaj daim duab). Daim duab saum toj no qhia tias tus pin yog leej twg.

Kauj Ruam 5: Txuas - Iref thiab Chip Interface

Kev Sib Txuas - Iref thiab Chip Interface
Kev Sib Txuas - Iref thiab Chip Interface
Kev Sib Txuas - Iref thiab Chip Interface
Kev Sib Txuas - Iref thiab Chip Interface
  • Txuas tus 10K resistor ntawm Iref (tus pin 6) thiab 5V.
  • Txuas tus lej digital 8 rau WR (tus pin 1) ntawm SAA1099.
  • Txuas tus lej digital 9 rau A0 (tus pin 3) ntawm SAA1099.

Kauj Ruam 6: Xov Tooj - Cov Khoom Siv Suab

Cov xov hlau - Cov khoom siv suab
Cov xov hlau - Cov khoom siv suab
Cov xov hlau - Cov khoom siv suab
Cov xov hlau - Cov khoom siv suab
Cov xov hlau - Cov khoom siv suab
Cov xov hlau - Cov khoom siv suab
  • Txuas lub 100pF capacitor ntawm OUTR (tus pin 4) thiab GND
  • Txuas 1K resistor ntawm OUTR (tus pin 4) thiab 5V
  • Peb yuav ua tib yam rau OUTL (tus pin 5)
  • Txuas lub 100pF capacitor nruab nrab ntawm OUTL (tus pin 5) thiab GND
  • Txuas 1K resistor ntawm OUTL (tus pin 5) thiab 5V

Nco tseg! Nco ntsoov tias tsis muaj cov xov hlau los ntawm cov resistors/capacitors tau kov, txwv tsis pub cov khoom yuav tsis ua haujlwm, thiab tuaj yeem (xav tau) muaj peev xwm ua rau koj lub ntsej muag.

Kauj Ruam 7: Txuas - Audio Jack

Txuas - Audio Jack
Txuas - Audio Jack
Txuas - Audio Jack
Txuas - Audio Jack
Txuas - Audio Jack
Txuas - Audio Jack
  • Txuas lub xaim jumper me me ntawm 5V thiab kab uas tsis muaj kab ntawm lub khob cij.
  • Muab koj lub suab tso, kom lub jumper los ntawm 5V txuas rau "Tsho" tus pin ntawm Audio Jack
  • Txuas L thiab R (lossis Suab tus pin, yog tias koj muaj Mono nkaus) rau OUTL (tus pin 5) thiab OUTR (tus pin 4) tus pin ntawm SAA1099, feem.

Nco tseg! Ntawm Mono audio jacks, nws tsis muaj teeb meem dab tsi mus, tsuav yog ib tus pin txuas rau 5V, thiab ib qho rau OUTL lossis OUTR. Nws yuav suab zoo xwb. Tshwj tsis yog tias nws tsis ua, qhov xwm txheej twg koj yuav xav tshuaj xyuas koj cov xov ntxiv.

Kauj Ruam 8: Kev thaiv - Lub zog rau Breadboard

Kev thaiv - Lub zog rau Breadboard
Kev thaiv - Lub zog rau Breadboard
Kev thaiv - Lub zog rau Breadboard
Kev thaiv - Lub zog rau Breadboard
  • Txuas ob sab ntawm Breadboard lub tsheb npav fais fab rau ib leeg, siv cov xov hluav taws xob.
  • Txuas ib sab mus rau 5V thiab GND pins ntawm Arduino, ua kom ntseeg tau tias koj tsis tau sib xyaw cov xov hlau nyob txhua qhov chaw. Yog tias koj tau ua, cov pa luam yeeb khawv koob yuav dim.

Kauj Ruam 9: Txuas - Kab Cov Ntaub Ntawv

Cov xov hlau - Cov kab ntawv
Cov xov hlau - Cov kab ntawv

Txuas D0 txog D7 ntawm Arduino mus rau D0 (tus pin 10) mus txog D7 (tus pin 17) ntawm SAA1099, nyob rau hauv kev txiav txim

Kuv pom tias DuPont poj niam-poj niam jumper xov hlau, nrog 15-20MM header pins hauv ob qho kawg, ua haujlwm tau zoo dua li txiv neej-txiv neej dupont xov hlau. Ntxiv rau koj tseem tuaj yeem siv lawv ua poj niam-poj niam, lossis txiv neej-poj niam. Ob leeg tau pom yooj yim ntawm eBay hauv qhov ntau, rau qhov hloov pauv me me. Khoom plig Christmas zoo rau qhov xav tau Arduino junkie!

Kauj Ruam 10: Yeem LED (s)

Yeem LED (s)
Yeem LED (s)
Yeem LED (s)
Yeem LED (s)

Kuv yuav tsis hla dhau ib kauj ruam yuav tsim txhua yam ntawm no, tab sis muaj ntau qhov chaw zoo ntxiv LEDs. Ua ntej tshaj plaws, Kuv txuas 3mm liab LED ntawm WR (tus pin 1) thiab GND, los qhia txhua lub sijhawm nws Arduino xa lus txib rau SAA1099.

Kuv kuj tseem txuas LEDs rau cov kab ntawv ua ntej, uas tso cai rau koj pom cov ntaub ntawv binary tiag tiag ntawm txhua kab. Kuv siv qhov teeb tsa no hauv kuv li "Arduino thiab SAA1099 - Fireflies" video, nrog rau 6 LEDs ntxiv thiab qee qhov ntxiv ntxiv kom pom txhua LED rau txhua lub channel uas tau ua haujlwm.

Qhov ntau LEDs, txias dua nws zoo li!

Kauj ruam 11: Code

Code!
Code!
Code!
Code!

Tam sim no koj tau tsim lub Circuit Court, mus txuas ob zaug kev sib txuas! Koj tsis xav kom tawg koj cov arduino kim thiab Soundchip! (Yog tias koj ua, zoo. Qhov ntawd tsis yog kuv li lag luam)

Piv txwv tias koj nyob nraum zoo thiab tau txheeb xyuas txhua yam, peb tuaj yeem pib ua haujlwm nws.

  • Lub tsev qiv ntawv nyob ntawm
  • Koj yuav xav tau cov ntaub ntawv SAATunes.zip, yog li mus tom ntej thiab rub tawm qhov ntawd.
  • Tam sim no, qhib Arduino IDE.
  • Hauv qab "Sketch", "Xws li Lub Tsev Qiv Ntawv", nyem "Ntxiv.zip lub tsev qiv ntawv"
  • Nkag mus rau txhua qhov chaw koj rub tawm lub tsev qiv ntawv SAATunes. (Kuv tsis quav ntsej yog tias nws yog koj lub desktop, rub tawm, lossis (ntxig ib yam dab tsi txaj muag) nplaub tshev- Tsuas yog pom nws)
  • Xaiv nws, thiab nyem "Qhib"
  • Nws yuav tsum qhia koj tias nws tau ntxiv rau koj lub tsev qiv ntawv.

Kauj Ruam 12: Xeem Nws

Kuaj Nws!
Kuaj Nws!
Kuaj Nws!
Kuaj Nws!
  • Qhib qhov piv txwv SAATunes program, hauv qab "File", "Examples", "SAATunes", "SAATunes-Uno".
  • Txuas koj Arduino rau hauv Khoos phis tawj, thiab ua tus hais lus ntawm qee yam.
  • Rub qhov program mus rau Arduino.

Koj yuav tsum hnov Chord, tom qab ntawd Beethoven npau taws dhau qhov poob Penny. Yog tias Classical tsis yog koj li, tsis txhob ntshai, vim peb yuav kawm paub siv MIDI cov ntaub ntawv ntawm peb tus kheej li cas nrog nws.

Yog tias koj tsis hnov dab tsi, kos ob peb yam: Ua ntej, koj tus neeg hais lus nyob? Tig nws txhua txoj kev. Tom qab ntawd, puas yog arduino tiag tiag? Puas yog qhov program rub tawm kom raug? Txheeb xyuas txhua txoj hlua nrog cov duab thiab cov ntawv teev npe, tom qab ntawd sim dua.

Kauj Ruam 13: Siv Koj Tus Kheej Cov Ntaub Ntawv MIDI - Kev Hloov Pauv

Siv Koj Tus Kheej MIDI Cov Ntaub Ntawv - Txoj Haujlwm Hloov Kho
Siv Koj Tus Kheej MIDI Cov Ntaub Ntawv - Txoj Haujlwm Hloov Kho

Npaj txhij sim lwm yam dua li Beethoven? Zoo heev, ntawm no koj mus.

Txhawm rau hloov cov ntaub ntawv MIDI rau C ++ Bytestreams, peb yuav xav tau qhov program los ntawm Len Shustek. Nws yog tus tsim lub tsev qiv ntawv Kuv ua raws kuv tus lej tawm, thiab kuv lub tsev qiv ntawv siv tib lub bytestream hom ntawv nws ua.

  • Koj tuaj yeem nrhiav txoj haujlwm ntawm
  • Qhov program koj xav tau yog "miditones.exe". Mus tom ntej thiab rub tawm qhov ntawd.

Kauj Ruam 14: Hloov Cov Ntaub Ntawv MIDI

Hloov MIDI Cov Ntaub Ntawv
Hloov MIDI Cov Ntaub Ntawv
Hloov MIDI Cov Ntaub Ntawv
Hloov MIDI Cov Ntaub Ntawv
Hloov MIDI Cov Ntaub Ntawv
Hloov MIDI Cov Ntaub Ntawv

Ceeb toom! Ntawm no muaj ascii zaj! Koj yuav pom nws yooj yim dua los saib cov vis dis aus, qhov twg koj tuaj yeem pom qhov kuv tham txog. Yog tias koj twv kom nkag mus, tom qab ntawd txuas ntxiv mus!

Txhawm rau siv MIDI rau Bytestream hloov pauv txoj haujlwm, koj yuav tsum qhib lub qhov rai kom hais kom sai. Thov txim Mac thiab Linux cov neeg siv, koj yuav tsum tau nrhiav kev daws teeb meem.

  • Qhib cov ntawv qhia zaub mov pib, thiab ntaus "CMD", tom qab ntawd nyem nkag mus.
  • Peb yuav kawm me ntsis MS-DOS khawv koob tam sim no. Siv "CD" hais kom ua, mus rau txhua qhov chaw koj rub tawm "miditones.exe" cov ntaub ntawv rau. Rau feem ntau, cov lus txib yuav yog "rub tawm cd".
  • Khiav qhov "miditones.exe" program los ntawm kev ntaus "miditones". Nws yuav tsum qhia koj cov npe pabcuam uas qhia cov lus txib feem ntau.

Tam sim no, peb xav tau daim ntawv MIDI los hloov pauv. Nrhiav ib qho ntawm qhov chaw sib cuam tshuam, nyiam dua yam tsis muaj kev cuam tshuam lossis ib qho tshwj xeeb cuam tshuam nrog rau qhov tshwm sim/tshaj tawm. (Yog tias koj tsis paub tias yog dab tsi, tsis txhob txhawj, koj yuav zoo)

  • Rub tawm koj cov ntawv MIDI rau tib qhov chaw koj muaj "miditones" program.
  • Tam sim no, siv qhov hais kom ua qhov rai, ntaus "miditones -d -v [filename]" (Hloov [lub npe] nrog rau lub npe ntawm koj li ntaub ntawv MIDI).
  • miditones yuav tsim cov ntaub ntawv. C nrog C ++ bytestream hauv tib lub nplaub tshev, nrog tib lub npe li MIDI cov ntaub ntawv.

Kauj Ruam 15: Siv Koj Cov Ntaub Ntawv Hloov MIDI

Siv Koj Cov Ntaub Ntawv Hloov MIDI
Siv Koj Cov Ntaub Ntawv Hloov MIDI
Siv Koj Cov Ntaub Ntawv Hloov MIDI
Siv Koj Cov Ntaub Ntawv Hloov MIDI
Siv Koj Cov Ntaub Ntawv Hloov MIDI
Siv Koj Cov Ntaub Ntawv Hloov MIDI

Tam sim no koj tau hloov koj li ntaub ntawv MIDI, cia peb pub nws me me bytes rau arduino!

  • Piv txwv tias koj twb muaj SAATunes-Uno piv txwv qhib, cia peb mus tom ntej thiab "txuag raws li" lwm yam, yog li peb tuaj yeem hloov kho nws.
  • Thaum koj tau cawm nws, nyem qhov me "nqis xub" lub cim nyob rau sab xis saum toj.
  • Nyem "tab tshiab", thiab npe nws "[lub npe].h" (Hloov [lub npe] nrog lub npe ntawm koj zaj nkauj MIDI, lossis txhua yam koj xav tau)
  • Tam sim no, qhib. C cov ntaub ntawv uas miditones tsim ua ntej. Koj tuaj yeem siv notepad qhib nws.
  • Siv CNTRL/A los xaiv txhua yam, thiab tom qab ntawd luam nws.
  • Muab tshuaj txhuam nws tso rau hauv koj qhov tshiab "[name].h" tab hauv arduino editor.

Txhua yam zoo nyob ntawm no, yog li cia peb rov qab mus rau qhov haujlwm.

  • Nrhiav qhov twg nws hais tias "#include" RagePenny.h "", thiab luam/muab nws tso rau kab tshiab hauv qab no.
  • Hloov "RagePenny.h" rau txhua yam uas koj tau teev koj cov ntaub ntawv tshiab.
  • Tam sim no, tawm tswv yim tawm "#include" RagePenny.h "", los ntawm kev ntxiv ob daim ntawv tom ntej (//) ua ntej nws.
  • Rub tawm qhov program!

Yog tias txhua yam mus tau zoo, nws yuav tsum tau ua koj li ntaub ntawv MIDI. Yog tias tsis yog, rov tshuaj xyuas kom paub tseeb tias lub npe ntawm lub tab tshiab thiab lub npe koj hloov hauv "#include" RagePenny.h "" zoo ib yam. Txheeb xyuas lwm cov kauj ruam, thiab xyuas kom koj tau ua txhua yam raug. Qee cov ntaub ntawv MIDI tsuas yog tsis ua haujlwm, tab sis cov ntawd tsis tshua muaj.

Kauj ruam 16: Fin

Fin!
Fin!

Vam tias txhua yam tau zoo nrog koj, thiab koj tab tom tawm mus rau MIDI cov ntaub ntawv ntawm cov txheej txheem txheej txheem qub muab lub neej tshiab!

Txawm li cas los xij, yog tias koj tsis yog, tsis txhob tso tseg! Xa lus tawm kuv txoj kev, thiab kuv yuav zoo siab los pab. Yog lawm, xav tias dawb los muab tswv yim rau kuv hauv cov lus.

Zoo siab chiptunes!

Pom zoo: