Სარჩევი:

რეტრო ხმის ჩიპი არდუინოსთან ერთად - SAA1099: 16 საფეხური (სურათებით)
რეტრო ხმის ჩიპი არდუინოსთან ერთად - SAA1099: 16 საფეხური (სურათებით)

ვიდეო: რეტრო ხმის ჩიპი არდუინოსთან ერთად - SAA1099: 16 საფეხური (სურათებით)

ვიდეო: რეტრო ხმის ჩიპი არდუინოსთან ერთად - SAA1099: 16 საფეხური (სურათებით)
ვიდეო: არდუინო 1 დონე , 27- გაკვეთილი, დავით ფერაძე 2024, ნოემბერი
Anonim
Image
Image
გაყვანილობა - SAA1099
გაყვანილობა - SAA1099

ამ სასწავლო ინსტრუქციაში მე გაჩვენებთ, თუ როგორ გამოიყენოთ Arduino Uno რთველის ხმის სინთეზის ჩიპით, რომ ითამაშოთ midi ფაილები კვადრატულ ტალღოვან სიკეთეში!

თუ უბრალოდ გსურთ მოკლე მიმოხილვა იმისა, თუ რას აკეთებს ეს პროექტი, უყურეთ ზემოთ მოცემულ ვიდეოს. წინააღმდეგ შემთხვევაში, გააგრძელე!

ნაბიჯი 1: ვიდეო

Image
Image

თუ თქვენ გირჩევნიათ ყველა თქვენი მითითება მკაფიო, ლაკონურ ვიდეოებში, ჩვენ გაგაცნობთ!

დანარჩენებისთვის, შეგიძლიათ გააგრძელოთ ცოტა მეტი დეტალი და წერილობითი ინსტრუქცია.

ნაბიჯი 2: ნაწილები და მასალები

ამისათვის თქვენ დაგჭირდებათ ეს ნივთები:

(ბმულები მოცემულია eBay– ის ნივთებისთვის)

  • არდუინო (უნო, ნანო, ლეონარდო, ყველამ უნდა იმუშაოს)
  • მინიმუმ საშუალო ზომის დაფა
  • SAA1099 სტერეო ხმის გენერატორის ჩიპი
  • პურის დაფის ჯუმბერის მავთულები (გარდა ამისა, მე მომწონს დუპონტი მდედრობითი სქესის მხტუნავების გამოყენება, 20 მმ სათაურის ქინძისთავებით ჩასმული ორივე ბოლოში- ბევრად უფრო ძლიერი)
  • 8Mhz TTL Oscillator (AliExpress ბმული, როგორც მოწოდებულია zweigelt– ით)
  • სტერეო (ან მონო) აუდიო ჯეკი
  • 2 x 1K რეზისტორები (ბევრი 100)
  • 1 x 10K რეზისტორი (ბევრი 50)
  • 2 x 100pF კონდენსატორები
  • (სურვილისამებრ) ზოგიერთი LED, მინიმუმ 1 (ნებისმიერი ფერი, აქ არის 100 ასორტი ფერი დოლარში!)

მოცემული ბმულების გამოყენებით, მთლიანი ღირებულებაა 23,25 აშშ დოლარი, გადაზიდვის ჩათვლით. რა თქმა უნდა, მისი უმეტესობა მოდის მსოფლიოს ნახევარიდან, ამიტომ გადაზიდვას ჩვეულებრივ დაახლოებით ერთი თვე სჭირდება. თუ გსურთ უფრო სწრაფი გადაზიდვა, თქვენ ალბათ უნდა გადაიხადოთ ცოტა მეტი.

ნაბიჯი 3: გაყვანილობა - SAA1099

გაყვანილობა - SAA1099
გაყვანილობა - SAA1099
გაყვანილობა - SAA1099
გაყვანილობა - SAA1099

თუ სქემატიკაა შენი საქმე, აი შენ წადი! ჩვენგან დანარჩენებს შეუძლიათ ან ეტაპობრივად გაიარონ, ან უყურონ ვიდეოს.

  • მოათავსეთ SAA1099 პურის დაფის ბოლოს, ხოლო ჩიპი ჩიპზე ბოლომდე.
  • ახლა, ძალა. VDD (პინი 18) SAA1099– ზე გადადის ძალაზე, შემდეგ მიამაგრეთ VSS (პინ 9) მიწასთან.
  • შემდეგი, მოათავსეთ მავთული CS (პინ 2) და მიწას შორის, რომ ის დაბალი იყოს

მე ასევე გირჩევთ გადახედოთ მონაცემთა ფურცელს, რომელიც მე დავამატე.

ნაბიჯი 4: გაყვანილობა - TTL Oscillator

გაყვანილობა - TTL Oscillator
გაყვანილობა - TTL Oscillator
გაყვანილობა - TTL Oscillator
გაყვანილობა - TTL Oscillator
  • ჩვენ დავაყენებთ TTL Oscillator- ს პურის დაფაზე პურის გვერდით, ისე რომ საათის გამომავალი პინი იყოს ყველაზე ახლოს SAA1099 საათის შეყვანასთან (პინ 8)
  • შეგიძლიათ გააგრძელოთ და დაუკავშიროთ ძალა და მიწა TTL ოსცილატორს. (მე ველოდებოდი მოგვიანებით ჩემს ვიდეოში, ასე რომ სურათი არ მაქვს). ზემოთ ნაჩვენებია რომელი ქინძისთავებია.

ნაბიჯი 5: გაყვანილობა - Iref და ჩიპის ინტერფეისი

გაყვანილობა - Iref და ჩიპის ინტერფეისი
გაყვანილობა - Iref და ჩიპის ინტერფეისი
გაყვანილობა - Iref და ჩიპის ინტერფეისი
გაყვანილობა - Iref და ჩიპის ინტერფეისი
  • შეაერთეთ 10K რეზისტორი Iref (pin 6) და 5V შორის.
  • შეაერთეთ ციფრული პინი 8 WR (პინი 1) SAA1099– ზე.
  • შეაერთეთ ციფრული პინი 9 A0 (პინ 3) SAA1099– ზე.

ნაბიჯი 6: გაყვანილობა - ხმის კომპონენტები

გაყვანილობა - ხმის კომპონენტები
გაყვანილობა - ხმის კომპონენტები
გაყვანილობა - ხმის კომპონენტები
გაყვანილობა - ხმის კომპონენტები
გაყვანილობა - ხმის კომპონენტები
გაყვანილობა - ხმის კომპონენტები
  • შეაერთეთ 100pF კონდენსატორი OUTR (pin 4) და GND შორის
  • შეაერთეთ 1K რეზისტორი OUTR (pin 4) და 5V შორის
  • ჩვენ იგივეს გავაკეთებთ OUTL- ისთვის (პინ 5)
  • შეაერთეთ 100pF კონდენსატორი OUTL (pin 5) და GND შორის
  • შეაერთეთ 1K რეზისტორი OUTL (pin 5) და 5V შორის

Შენიშვნა! დარწმუნდით, რომ რეზისტორების/კონდენსატორების არც ერთი მავთული არ ეხება, წინააღმდეგ შემთხვევაში საგნები არ იმუშავებს და შესაძლოა (სავარაუდოა) პოტენციურად ააფეთქოს თქვენი სახე.

ნაბიჯი 7: გაყვანილობა - აუდიო ჯეკი

გაყვანილობა - აუდიო ჯეკი
გაყვანილობა - აუდიო ჯეკი
გაყვანილობა - აუდიო ჯეკი
გაყვანილობა - აუდიო ჯეკი
გაყვანილობა - აუდიო ჯეკი
გაყვანილობა - აუდიო ჯეკი
  • შეაერთეთ პატარა ჯუმბერის მავთული 5V- ს და ცარიელ რიგს შორის პურის დაფაზე.
  • მოათავსეთ თქვენი აუდიო ბუდე ისე, რომ 5V -იანი მხტუნავი დაუკავშირდეს აუდიო ჯეკის "ყდის" პინს.
  • შეაერთეთ L და R (ან აუდიო პინი, თუ თქვენ გაქვთ მონო ბუდე) OUTL (პინ 5) და OUTR (პინ 4) ქინძისთავებში, შესაბამისად SAA1099.

Შენიშვნა! მონო აუდიო ჯეკებზე, ნამდვილად არ აქვს მნიშვნელობა რა ხდება, სანამ ერთი პინი უკავშირდება 5 ვ -ს, ხოლო ერთი OUTL ან OUTR. კარგად ჟღერს. თუ ეს ასე არ არის, ამ შემთხვევაში შეიძლება დაგჭირდეთ თქვენი გაყვანილობის კიდევ ერთხელ შემოწმება.

ნაბიჯი 8: გაყვანილობა - ძალა პურის დაფაზე

გაყვანილობა - ძალა პურის დაფაზე
გაყვანილობა - ძალა პურის დაფაზე
გაყვანილობა - ძალა პურის დაფაზე
გაყვანილობა - ძალა პურის დაფაზე
  • შეაერთეთ ორივე მხარეს Breadboard დენის ავტობუსი ერთმანეთთან, ჯუმბერის მავთულის გამოყენებით.
  • დაუკავშირეთ ერთი მხარე Arduino– ს 5V და GND ქინძისთავებს, დარწმუნდით, რომ თქვენ არსად არ აურიეთ მავთულები. თუ ასე მოიქეცი, ჯადოსნური კვამლი შეიძლება გაქცეს.

ნაბიჯი 9: გაყვანილობა - მონაცემთა ხაზები

გაყვანილობა - მონაცემთა ხაზები
გაყვანილობა - მონაცემთა ხაზები

შეაერთეთ D0– დან D7– მდე Arduino– ზე D0 (პინი 10) დან D7– მდე (პინ 17) SAA1099– ზე, თანმიმდევრობით

მე აღმოვაჩინე, რომ დუპონტის ქალი-ქალი მხტუნავის მავთულები, 15-20 მმ სათაურის ორივე ბოლოში, ბევრად უკეთესად მუშაობს, ვიდრე მამაკაცი-მამაკაცი დუპონტის მავთულები. გარდა ამისა, თქვენ ასევე შეგიძლიათ გამოიყენოთ ისინი როგორც ქალი-ქალი, ან მამაკაცი ქალი. ორივე ადვილად მოიძებნება eBay– ზე დიდი რაოდენობით, მცირე ცვლილებებისთვის. კარგი საშობაო საჩუქარი მისწრაფებული არდუინოს მოყვარულისთვის!

ნაბიჯი 10: სურვილისამებრ LED (ები)

სურვილისამებრ LED (ები)
სურვილისამებრ LED (ები)
სურვილისამებრ LED (ები)
სურვილისამებრ LED (ები)

მე არ გავაანალიზებ ეტაპობრივად, თუ როგორ უნდა ავაშენოთ ყველაფერი აქ, მაგრამ არის რამდენიმე კარგი ადგილი LED- ების დასამატებლად. უპირველეს ყოვლისა, მე დავუკავშირე 3 მმ წითელი LED WR (პინი 1) და GND შორის, რათა ვაჩვენო ყოველ ჯერზე, როდესაც Arduino აგზავნის ბრძანებას SAA1099- ს.

მე ასევე დავუკავშირე LED- ები მონაცემთა ხაზებს ადრე, რაც საშუალებას გაძლევთ ნახოთ ფაქტობრივი ორობითი მონაცემები თითოეულ ხაზზე. მე გამოვიყენე ეს კონფიგურაცია ჩემს "Arduino and SAA1099 - Fireflies" ვიდეოში, ასევე კიდევ 6 LED- ი და დამატებითი კოდი თითოეული LED არხისთვის თითოეული LED- ის გასანათებლად.

რაც უფრო მეტი LED- ია, მით უფრო მაგარი გამოიყურება!

ნაბიჯი 11: კოდი

კოდი!
კოდი!
კოდი!
კოდი!

ახლა, როდესაც თქვენ შექმენით წრე, გადადით ორმაგი შემოწმებით კავშირებზე! თქვენ არ გინდათ ააფეთქოთ თქვენი ძვირადღირებული არდუინო და საუნდჩიპი! (თუ ასეა, კარგი. ეს არ არის ჩემი საქმე)

დავუშვათ, რომ თქვენ გონიერი ხართ და ყველაფერი შეამოწმეთ, ჩვენ შეგვიძლია დავიწყოთ მისი პროგრამირება.

  • ბიბლიოთეკა არის
  • თქვენ გნებავთ SAATunes.zip ფაილი, ასე რომ განაგრძეთ და გადმოწერეთ.
  • ახლა გახსენით Arduino IDE.
  • "ესკიზის", "ბიბლიოთეკის ჩართვა" განყოფილებაში დააჭირეთ "დაამატეთ.zip ბიბლიოთეკა"
  • გადადით იქ, სადაც ჩამოტვირთეთ SAATunes ბიბლიოთეკა. (არ მაინტერესებს, ეს იყო თქვენი სამუშაო მაგიდა, გადმოტვირთვები, ან (ჩასვით რაიმე უხერხული) საქაღალდე- უბრალოდ იპოვეთ)
  • შეარჩიეთ იგი და დააჭირეთ "გახსნას"
  • ეს უნდა გითხრათ, რომ ის დაემატა თქვენს ბიბლიოთეკებს.

ნაბიჯი 12: გამოსცადეთ

გამოსცადე!
გამოსცადე!
გამოსცადე!
გამოსცადე!
  • გახსენით SAATunes პროგრამის მაგალითი, "ფაილი", "მაგალითები", "SAATunes", "SAATunes-Uno".
  • შეაერთეთ თქვენი არდუინო კომპიუტერში და რაიმე სახის სპიკერში.
  • ატვირთეთ პროგრამა არდუინოში.

თქვენ უნდა მოისმინოთ აკორდი, შემდეგ ბეთჰოვენის გაბრაზება დაკარგული პენის გამო. თუ კლასიკური არ არის თქვენი საქმე, ნუ გეშინია, რადგან ჩვენ მალე ვისწავლით თუ როგორ გამოვიყენოთ MIDI ფაილები ჩვენი არჩევანით.

თუ არაფერი გსმენიათ, გადაამოწმეთ რამდენიმე რამ: პირველი, ჩართულია თქვენი სპიკერი? გადააბრუნეთ ყველაფერი ზემოთ. მაშინ, ნამდვილად არის არდუინო? პროგრამა სწორად არის ატვირთული? შეამოწმეთ ყველა გაყვანილობა სქემატური და მონაცემთა ცხრილით, შემდეგ ისევ სცადეთ.

ნაბიჯი 13: საკუთარი MIDI ფაილების გამოყენება - კონვერტაციის პროგრამა

საკუთარი MIDI ფაილების გამოყენება - კონვერტაციის პროგრამა
საკუთარი MIDI ფაილების გამოყენება - კონვერტაციის პროგრამა

მზად ხართ სცადოთ რაიმე სხვა ბეთჰოვენის გარდა? ძალიან კარგი, აი შენ წადი.

MIDI ფაილების C ++ Bytestreams გადასაყვანად, ჩვენ დაგვჭირდება ლენ შუსტეკის პროგრამა. ის არის ბიბლიოთეკის შემქმნელი, მე დავამყარე ჩემი კოდი და ჩემი ბიბლიოთეკა იყენებს მის მიერ შემუშავებულ იმავე bytestream ფორმატს.

  • თქვენ შეგიძლიათ იპოვოთ პროგრამა
  • თქვენთვის სასურველი პროგრამა არის "miditones.exe". წადი და გადმოწერე.

ნაბიჯი 14: MIDI ფაილების კონვერტაცია

MIDI ფაილების კონვერტაცია
MIDI ფაილების კონვერტაცია
MIDI ფაილების კონვერტაცია
MIDI ფაილების კონვერტაცია
MIDI ფაილების კონვერტაცია
MIDI ფაილების კონვერტაცია

გაფრთხილება! აქ იქნება ასკი დრაკონები! ალბათ გაგიადვილდებათ ვიდეოს ყურება, სადაც ზუსტად ხედავთ რაზეც მე ვსაუბრობ. თუ გაბედავ შესვლას, განაგრძე!

MIDI– დან Bytestream– ის კონვერტაციის პროგრამის გამოსაყენებლად, თქვენ უნდა გახსნათ ბრძანების ხაზის ფანჯარა. უკაცრავად Mac და Linux მომხმარებლებს, შეიძლება დაგჭირდეთ გამოსავლის პოვნა.

  • გახსენით დაწყების მენიუ და ჩაწერეთ "CMD", შემდეგ დააჭირეთ Enter.
  • ჩვენ ახლა ვისწავლით მცირე MS-DOS მაგიას. "CD" ბრძანების გამოყენებით გადადით იქ, სადაც ჩამოტვირთეთ "miditones.exe" ფაილი. უმეტეს შემთხვევაში, ბრძანებები იქნება "cd ჩამოტვირთვები".
  • გაუშვით პროგრამა "miditones.exe" "miditones" აკრეფით. ეს უნდა გაჩვენოთ დახმარების სია, რომელიც აჩვენებს ყველაზე გავრცელებულ ბრძანებებს.

ახლა, ჩვენ გვჭირდება MIDI ფაილი გადასაყვანად. იპოვეთ სადმე ინტერნეტში, სასურველია პერკუსიის გარეშე ან რაიმე სპეციალური ეფექტის გარეშე, გარდა მექანიზმებისა/სიჩქარისა. (თუ არ იცით რა არის ეს, არ ინერვიულოთ, კარგად იქნებით)

  • ჩამოტვირთეთ MIDI ფაილი იმავე ადგილას, სადაც გაქვთ პროგრამა "miditones".
  • ახლა, ბრძანების ფანჯრის გამოყენებით, ჩაწერეთ "miditones -d -v [filename]" (შეცვალეთ [ფაილის სახელი] როგორიც არ უნდა იყოს თქვენი MIDI ფაილის სახელი).
  • miditones გამოიმუშავებს. C ფაილს C ++ bytestream იმავე საქაღალდეში, იგივე სახელით, როგორც MIDI ფაილი.

ნაბიჯი 15: თქვენი მოდიფიცირებული MIDI ფაილის გამოყენება

თქვენი მოაქცია MIDI ფაილი
თქვენი მოაქცია MIDI ფაილი
თქვენი მოაქცია MIDI ფაილი
თქვენი მოაქცია MIDI ფაილი
თქვენი მოაქცია MIDI ფაილი
თქვენი მოაქცია MIDI ფაილი

ახლა, როდესაც თქვენ გადააკეთეთ თქვენი MIDI ფაილი, მოდით შევწვათ იგი მცირე ბაიტებად არდუინოში!

  • დავუშვათ, რომ თქვენ უკვე გაქვთ SAATunes-Uno მაგალითი ღია, მოდით წავიდეთ წინ და "შევინახოთ როგორც" სხვა რამ, ასე რომ ჩვენ შეგვიძლია მისი რედაქტირება.
  • მას შემდეგ რაც შეინახავთ, დააწკაპუნეთ პატარა "ქვევით ისრის" ხატულაზე ზედა მარჯვენა კუთხეში.
  • დააწკაპუნეთ "ახალ ჩანართზე" და დაასახელეთ "[სახელი].h" (შეცვალეთ [სახელი] თქვენი MIDI სიმღერის სახელით, ან რაც გინდათ)
  • ახლა გახსენით. C ფაილი, რომელიც ადრე შეიქმნა შუალედურმა ტონებმა. თქვენ შეგიძლიათ გამოიყენოთ notepad მის გასახსნელად.
  • გამოიყენეთ CNTRL/A ყველაფრის შესარჩევად და შემდეგ დააკოპირეთ.
  • ჩასვით იგი თქვენს ახალ "[name].h" ჩანართში arduino რედაქტორში.

აქ ყველაფერი კარგადაა, ასე რომ დავუბრუნდეთ პროგრამას.

  • იპოვეთ სადაც წერია "#include" RagePenny.h "" და დააკოპირეთ/ჩასვით ქვემოთ ახალ სტრიქონზე.
  • შეცვალეთ "RagePenny.h" რაც არ უნდა დაარქვათ თქვენს ახალ ფაილს.
  • ახლა დაწერეთ კომენტარი "#მოიცავს" RagePenny.h "", მის წინ ორი წინ გადაწევით (//) დამატებით.
  • ატვირთეთ პროგრამა!

თუ ყველაფერი კარგად დასრულდა, ის უნდა თამაშობდეს თქვენს MIDI ფაილს. თუ არა, ხელახლა შეამოწმეთ, რომ დარწმუნდეთ, რომ ახალი ჩანართის სახელები და სახელი, რომელიც თქვენ შეცვალეთ "#include" RagePenny.h "" ერთნაირია. შეამოწმეთ სხვა ნაბიჯები და დარწმუნდით, რომ ყველაფერი სწორად გააკეთეთ. ზოგიერთი MIDI ფაილი უბრალოდ არ მუშაობს, მაგრამ ეს იშვიათია.

ნაბიჯი 16: დაასრულე

ფინ!
ფინ!

ვიმედოვნებთ, რომ თქვენთან ყველაფერი კარგად წარიმართა და თქვენ მიდიხართ MIDI ფაილებზე უძველესი ტექნოლოგიის გამოყენებით, რომელიც ახალ სიცოცხლეს იძლევა!

თუმცა, თუ არ ხარ, არ დანებდე! გამომიგზავნეთ კომენტარი და მე სიამოვნებით დაგეხმარებით. რა თქმა უნდა, მოგერიდებათ მომცეთ წინადადებები კომენტარებში.

გილოცავთ ჩიპტუნებს!

გირჩევთ: