İçindekiler:

Ahşap Disk Oynatıcı: 20 Adım (Resimli)
Ahşap Disk Oynatıcı: 20 Adım (Resimli)

Video: Ahşap Disk Oynatıcı: 20 Adım (Resimli)

Video: Ahşap Disk Oynatıcı: 20 Adım (Resimli)
Video: Ünal turan Azad yılmaz Karşıma çıkın dedi 2024, Aralık
Anonim
Image
Image

Yazan jbumsteadJon BumsteadYazarın daha fazlasını izleyin:

sicim hiperboloidi
sicim hiperboloidi
Dik Lazer Arp
Dik Lazer Arp
Dik Lazer Arp
Dik Lazer Arp
Masaüstü Gigapiksel Mikroskop
Masaüstü Gigapiksel Mikroskop
Masaüstü Gigapiksel Mikroskop
Masaüstü Gigapiksel Mikroskop

Hakkında: Işık, müzik ve elektronik alanındaki projeler. Hepsini sitemde bulabilirsiniz: www.jbumstead.com jbumstead Hakkında Daha Fazla » Fusion 360 Projeleri »

Büyük ölçekli bir disk oynatma makinesi oluşturarak bilgi depolama cihazlarının nasıl çalıştığını göstermek istedim. Yaptığım cihaz, CD çalarlar gibi ışık girişimine dayanmak yerine, bir lazer ışınını geçiren veya engelleyen delikli ve "deliksiz" (bu talimatta onlara atıfta bulunduğum gibi) ahşap diskleri çalar. Bu delikler ve boşluklar, şarkı sözleri veya alıntı gibi bir metin mesajını kodlayan ikili verilerdeki 1'lere ve 0'lara karşılık gelir. İkili bilgi diskten okunur, bir Arduino'da saklanır ve cihazın önündeki bir LED matrisinde metin mesajını görüntülemek için kodu çözülür. Veriler okunurken, ikili bilgileri görselleştirmek için LED matrisi doldurulur. Yüksek bir bit okunduğunda bir MIDI notası da çalınır. Üretilen müzik rastgele gelebilir, ancak aslında anlamlı bilgiler içeren bir dizi 1 ve 0'ı sembolize eder.

Oluşturduğum ahşap disk oynatıcı, diskteki deliklerin ne kadar büyük olduğu nedeniyle yalnızca yaklaşık 700 bit (<0.1kB) tutabilir. Bu nedenle saklanabilecek mesajlar kısadır. Referans olarak, bir CD, yaptığım ahşap disklerden yaklaşık 10 milyon kat daha fazla bilgi olan yaklaşık 700 MB bilgi tutabilir. Tüm proje, CD'lerde (zaten tarihli bir depolama aygıtı) bilgi depolama ölçeğini ve dijital bilgilerin insanlar için anlamlı bir şeye nasıl okunduğunu ve kodunun çözüldüğünü hayal etmeye yardımcı olur.

Bu talimatta, sistem tasarımı ve yapımını, mesajın ahşap bir disk üzerinde ikili bilgiye nasıl dönüştürüldüğünü ve yol boyunca birçok zorluğu ele alacağım.

Proje, aşağıdakiler de dahil olmak üzere birçok kaynaktan ilham almıştır:

8-bit Show and Tell'in kanalında, Commodore 64'te okunabilen bir kayıtta saklanan gizli bir mesaj hakkında harika bir video vardı

Gramovox ve Roy Harpaz'ınkiler gibi dikey plak çalarlar

1800'lerin ortalarında geliştirilen polifon adı verilen mekanik müzik çalma cihazları

Mountain View, CA'daki Bilgisayar Tarihi Müzesi

Techmoan'ın RCA tarafından geliştirilen CED Videodisc'teki videosu

Elektron mikroskobu ile Uygulamalı Bilim görüntüleri kayıtları, CD'ler ve DVD'ler

Optik döner kodlayıcılar

Gereçler

10X 10”x15”x1/8” kontrplak levha

Beyaz akrilik levha

1X 50RPM DC motor

1X Arduino Nano

1X H-köprü L9110

1X step motorlar Nema 17 Bipolar step motor (3.5V 1A)

1X 2mm kurşun vidalar

2X yastık blokları 21. İki kurşun vida somunu 22. İki yatak kayar burç ve 200 mm lineer mil:

1X DOT matrix ekran MAX 7219

1X 5V güç kaynağı

1X Mini USB kablosu

2X fotodiyot -

2X IR LED'leri

1X IR fotodiyot

2X 650nm lazer modülü

1X 5.5 x 2.5 mm Panel Montajlı DC Güç Jakı

1X güç anahtarı -

1X MIDI jakı -

3X LM358 op amp

2X NPN transistörler

1X TIP120 transistör

2X diyotlar

3X 10k trim tencere

Sistem şemasında gösterildiği gibi dirençler

Prototip kurulu

8mm çaplı mıknatıslar -

Metrik donanım kiti

1. Adım: Sisteme Genel Bakış

sistem görünümü
sistem görünümü
sistem görünümü
sistem görünümü
sistem görünümü
sistem görünümü
sistem görünümü
sistem görünümü

Cihazın amacı, ahşap bir diskte saklanan bir mesajın kodunu çözmektir. Bu adımda, tüm sürece hızlı bir genel bakış sunacağım.

1. Bir mesaj seçin. Diskte saklamak için en sevdiğim yazar ve müzisyenlerden bazılarının mesajlarını seçtim. Yukarıdaki örnek çizimde, "panik yapma!" klasiğine sahibim. Otostopçunun Galaksi Rehberi'nden.

2. İkili bir dönüşüm tablosu oluşturun. İkili bilgilere aşina değilseniz, süreç hakkında her şeyi öğrenmek için çok sayıda faydalı kitap, kurs ve video vardır. Temel fikir, bazı eylemlere, değerlere, harflere veya diğer varlıklara karşılık gelen benzersiz 1'ler ve 0'lar kombinasyonları bulmaktır. Disk oynatıcım için mesajların kodunu çözmeye odaklandım. Bu nedenle, bu adımda eklenen 5 bitlik ikili sayıları bir karaktere bağlayan bir tablo oluşturdum (örneğin 00100 "d" harfine karşılık gelir). Oluşturduğum tablo, 8 bitlik ASCII tablosunun kesilmiş halidir.

3. Mesajı ikili dosyaya dönüştürün. Oluşturduğum tabloyu kullanarak mesajdaki her karakter ikiliye dönüştürülür ve bir ikili dizi oluşturmak için kaydedilir.

4. İkili dosyayı bir disk üzerinde düzenleyin. Artık bir ikili mesajım olduğuna göre, bilgileri bir cihaz tarafından okunabilecek şekilde tahta bir diskte nasıl saklayacağımı düşünmem gerekiyordu. 1'leri ve 0'ları bir daire içinde düzenlenmiş delikler ve delikler olarak saklamaya karar verdim (tıpkı bir CD gibi). Tam bir dönüş bilgi ile doldurulduğunda, bir sonraki veri radyal olarak dışa doğru hareket eden başka bir satırda depolanacaktır. Her seferinde bir bit okumayı seçtim, bu yüzden veri için sadece bir dedektör gerekli. Disk döndükçe, delikler ve delik olmayanlar dedektörün üzerinden geçer.

Ancak dedektör verileri ne zaman okuyacağını nasıl biliyor? Diskteki delik dedektörün üzerindeyken, veri dedektörünün doğru anda okuduğundan nasıl emin olabilirim? Bu sorunu, cihaz üzerinde sabit kalan bir "saat" dedektörü ekleyerek çözdüm. Diskin en içteki halkası eşit olarak yerleştirilmiş deliklere sahiptir. Saat detektörü düşen veya yükselen bir kenarı kaydettiğinde, veri detektörü bir bitlik bilgiyi okur. 2-4 arasında listelenen işlemlerin tümü Matlab kullanılarak yapılmıştır ve Adım 18'de tartışılmıştır.

5. Disk oynatıcı ile ikili olarak okuyun. Saat ve veri dedektörlerinin her biri bir lazer ve fotodiyottan oluşur. Delik olmadığında, lazer diskten yansır ve fotodiyota çarpar ve bir 1 kaydeder. Fotodiyotun çıkışı yükseltilir, bir Schmitt tetikleyicisi ile ikili hale getirilir ve bir Arduino Nano ile dijital olarak okunur. Diskin bir sırasını tamamladıktan sonra, bir step motor (Nema 17 Bipolar step motor 3.5V 1A), veri dedektörünü diskteki bir sonraki sıraya çevirir. Veri detektörünü tutan rayın ilk konumu, rayın üst konumunda bir foto kesme kullanılarak belirlenir. Oynatıcı, her 1 okunduğunda bir not üreten bir MIDI çıkışından oluşur. Devrenin detayları sonraki adımlarda açıklanacaktır.

6. İkilinin kodunu çözün ve bir mesaj görüntüleyin. Tüm disk okunduktan sonra, Arduino ikiliyi mesaja çözer ve onu bir dize olarak kaydeder. Mesaj, Dot Matrix ekranında (MAX 7219) görüntülenir.

Adım 2: CAD Modeli, Lazer Kesim ve 3D Baskı

CAD Modeli, Lazer Kesim ve 3D Baskı
CAD Modeli, Lazer Kesim ve 3D Baskı

CNC Yarışması 2020'de İkincilik Ödülü

Önerilen: