İçindekiler:

5-Pin Bağlantılı Midi Kayıt/Çalma/Overdub: 3 Adım
5-Pin Bağlantılı Midi Kayıt/Çalma/Overdub: 3 Adım

Video: 5-Pin Bağlantılı Midi Kayıt/Çalma/Overdub: 3 Adım

Video: 5-Pin Bağlantılı Midi Kayıt/Çalma/Overdub: 3 Adım
Video: MIDI without USB – classic MIDI connections explained 2024, Temmuz
Anonim
5-Pin Bağlantılı Midi Record/Play/Overdub
5-Pin Bağlantılı Midi Record/Play/Overdub

* 4 k Byte RAM ve 4 kByte eeprom ile 8 MHz'de çalışan bir ATMega-1284 yongası kullanır

* Eski DIN 5 pinli konnektörleri kullanır

* Kayıt ve oynatmanın yanı sıra overdub'a izin verir: daha önce kaydettiğiniz bir şeyle birlikte kayıt.

* Tüm menü

* Bir dosyayı eeprom'da adlandırma ve saklama yeteneği

* Düzenlenebilir tempolar ve zaman imzaları

* İlkel kuantizasyon

Kullanışlılık* Kavram kanıtı: Bu projeyi zorlayıcı bulabilirsiniz.

Bu eğitimin içeriği:

* Parça listesi

* Proje Raporu (Bu panele eklidir)

Proje hakkında bilmeniz gereken birçok bilgiyi içerir

* GitHub'daki C koduna bağlantı

github.com/sugarvillela/ATMega1284

* Projeyi oluşturmak ve kodu uyarlamak için adım adım talimatlar

Adım 1: Parça Listesi

Parça listesi
Parça listesi

Okulda indirimli aldığım bazı parçalar. Bazılarını bir mağazadan aldım ve çok fazla ödedim. Vaktiniz varsa, tüm bunları çevrimiçi yapın.

1 Breadboard, herhangi bir model, giriş fotoğrafındakiyle aynı boyutta, 20 $

1 Mikroişlemci, model ATMega1284, $5

Bu, harika özelliklere sahip çok yönlü bir çiptir. Veri sayfasını burada bulun:

ww1.microchip.com/downloads/en/devicedoc/atmel-42718-atmega1284_datasheet.pdf

1 5-Volt Güç Kaynağı

1 ATMEL-ICE

Bu, bilgisayarınız ve mikroişlemci arasındaki arabirimdir. Ayrıca bazı kod düzenleme yazılımlarına (bir IDE) ve C'yi ATMega çipinin mimarisiyle çapraz derleyebilen bir derleyiciye ihtiyacınız var. Atmel, bu gereksinimleri karşılayan bir ortam, Atmel Studio sağlar. Buradan indirin:

1 Opto bağlayıcı, model 6N138 veya eşdeğeri, 5 ABD doları

Bu giriş içindir; midi standardı, toprak döngülerini önlemek için cihazların birbirinden izole edilmesini gerektirir. Aynı pin çıkışı düzenlemesine sahip NEC eşdeğer çipini kullandım. Bilgi için yukarıdaki fotoğrafa bakın veya sadece '6n138 pinout' google'a bakın. Farklı pin atamalarına sahip bir model kullanıyorsanız, ilgili pinleri (dikkatle) bulun.

2 LCD Ekran, Model 1602A1, her biri 3 ABD doları

2*16 ekran kullandım, yani her biri 16 karakter genişliğinde 2 satıra sahipler. Kod özellikle bunlar için yazılmıştır, bu yüzden aynı olanları kullanmaya çalışın. Bağlantılar: 8 veri hattı ve 2 kontrol hattı. Veri hatlarını iki ekran arasında paylaşabilirsiniz, ancak toplam 4 kontrol hattı için her biri için 2 kontrol hattına ihtiyacınız var. Projem, LCD veri hatları için C veri yolunu ve kontrol hatları için D veri yolunun üst ucunu kullanıyor. Sizinkini farklı şekilde bağlarsanız, kodunuzdaki çıkış veriyollarını değiştirin.

1 Hoparlör

Metronom çıkışı için; herhangi bir konuşmacı yapacak. Onu 3-5 voltluk kare dalgalarla besleyeceksiniz, bu yüzden kulağa hoş gelmesine gerek yok. Harici bir amplifikatöre de bağlayabilirsiniz.

1 Kondansatör, hoparlöre kare dalga çıkışını yumuşatmak için

2 5-Pin DIN Konnektör, erkek veya dişi

Erkek kablolar kullandım ve onları tahtaya bağladım. Daha şık bir çözüm için dişi konnektörler kullanın ve erkek kabloları diğer cihazlara bağlayın. (Konnektöre hangi yönden baktığınıza bağlı olarak pin numaralarının geriye doğru olduğunu unutmayın!)

Dirençler, 180-330 Ohm, 1k-10kOhm

Opto-kuplörün girişi yeterince hızlı izlemesini sağlamak için direnç değerleriyle deneme yapmanız gerekebilir.

LED'ler

Tasarım, opto-izolatör girişi boyunca bir diyot gerektiriyor, ancak bir LED yapacak. Bip sesiyle zamanında yanıp sönmek için metronom için bir LED kullanın. İhtiyacınız olursa, çıktı hatalarını ayıklamak için daha fazla LED'e sahip olun.

Teller, çok sayıda tel

20-22 gauge, tek damarlı, uzun, kısa ve küçük.

Adım 2: C Kodu

Kodu almak için github'a gidin:

* Kodu okuduğunuzdan ve anladığınızdan emin olun çünkü farklı donanımlara uyacak şekilde değiştirmeniz gerekebilir.

* Giriş panelindeki proje raporu, yazılım modüllerinin ve nasıl etkileşime girdiklerinin ayrıntılı açıklamalarını içerir.

*Kopyala-yapıştır yok. Kodla etkileşime geçin; deney; yeniden yazmak. Muhtemelen iyileştirebilirsin.

Adım 3: İlk Kablolama (Yönlendirme için Proje Fotoğrafına bakın)

İlk Kablolama (Yönlendirme için Proje Fotoğrafına bakın)
İlk Kablolama (Yönlendirme için Proje Fotoğrafına bakın)
İlk Kablolama (Yönlendirme için Proje Fotoğrafına bakın)
İlk Kablolama (Yönlendirme için Proje Fotoğrafına bakın)

Başlamadan önce proje fotoğrafıyla ilgili notlar

Fotoğrafta opto-kuplör sağdaki son çip ve işlemci soldaki büyük çip.

Aralarında bir grup rezistörün bağlı olduğu iki çip daha göreceksiniz. Onları görmezden gelin lütfen. Bunlar, bu projede kullanılmayan vardiya kayıtlarıdır. Bir LED dizisi eklemek isterseniz, bunların ne işe yaradığını öğreneceksiniz.

Yuvarlak siyah şey hoparlördür (piezo buzzer).

Düğmeler sol üsttedir. Bu, çipin sağ alt tarafındaki A veriyolundan oldukça uzak.

Soldaki LCD ekran LCD 0'dır. Sağdaki LCD 1'dir.

Bu talimatlarda, tam olarak belirtilen parçayı kullandığınızı varsayacağım (parça listesinde bir model numarası verilmişse).

Güç kaynağını kablolayın

Breadboard'un kenarlarında ve bölümler arasında güç rayları vardır. Hepsini birbirine bağlamak ve güç kaynağına bağlamak için kısa kablolar kullanın. Artık tahtanın herhangi bir yerinden pozitif ve zemine erişebilirsiniz.

cips

Pinleri bükmemeye dikkat ederek (herhangi bir çip için iyi bir uyarıdır) ve tamamen yerine oturduğundan emin olarak ATMega Çipini takın.

Opto kuplörü işlemcinin yanına takın.

Güç kaynağı raylarını işlemci ve opto kuplör üzerindeki uygun pinlere bağlayın.

LCD'ler

LCD bağlama konusunda yardım için verilen LCDhookup.pdf dosyasını (aşağıda) okuyun.

Her ekranın iki güç bağlantısı ve üç toprak bağlantısı vardır.

Pin 3, yanlış ayarlanırsa ekran içeriğini görünmez yapan bir parlaklık kontrolüdür. Elinizde bir potansiyometre varsa, kontrol voltajını ayarlamak için bunu kullanın. Voltajı yaklaşık 1/2 VCC elde etmek için sabit dirençleri de deneyebilirsiniz.

LCD 0 üzerindeki 4 ve 6 numaralı pinler, işlemcideki D4 ve D5'e bağlanır. Bunlar ekranı etkinleştirmek ve sıfırlamak için kullanılır.

LCD 1'deki 4 ve 6 numaralı pimler, işlemcideki D6 ve D7'ye bağlanır.

Her iki LCD'deki 7-17 pinleri işlemcideki C0-C7'ye bağlanır. Bu, paylaşılan bir veri yoludur. Her ekran, pim 4 ve 6'da bir kontrol sinyali gelene kadar verileri yok sayar.

Okuyun: LCD Bilgisi ve LCD ekranların nasıl çalıştığını anlamanıza yardımcı olacak daha fazla bilgi.

Düğmeler

Dört düğmeyi işlemci üzerindeki A2-A4'e bağlayın. (A1'i A/D dönüştürücü girişi için açık bıraktım ama kullanmadım.)

Herhangi bir tür mantık yongasında, bağlantısız bir giriş yüksekte yüzer, yani işlemci bu girişte 1 görür. Bunu kontrol etmek için pinleri bir direnç üzerinden toprağa bağlamanız gerekir. Düğmeleri, basılmadığında toprakta (direnç üzerinden) ve basıldığında yüksek olacak şekilde bağladım. Bu amaç için herhangi bir direnç 330 ila 1k kullanın.

Alternatif olarak ve belki de güç açısından daha verimli bir şekilde, düğmeleri basılmadığında yüksek ve basıldığında düşük olacak şekilde bağlayabilirsiniz. PINA yerine ~PINA'yı aramak için kodu (buttonBus.c) değiştirmeniz gerekir.

Önerilen: