Pemain Cakera Kayu: 20 Langkah (dengan Gambar)
Pemain Cakera Kayu: 20 Langkah (dengan Gambar)
Anonim
Image
Image

Oleh jbumsteadJon BumsteadMengikuti Lagi oleh pengarang:

String Hyperboloid
String Hyperboloid
Kecapi Laser Tegak
Kecapi Laser Tegak
Kecapi Laser Tegak
Kecapi Laser Tegak
Mikroskop Desktop Gigapixel
Mikroskop Desktop Gigapixel
Mikroskop Desktop Gigapixel
Mikroskop Desktop Gigapixel

Tentang: Projek dalam cahaya, muzik, dan elektronik. Cari semuanya di laman web saya: www.jbumstead.com Lebih Lanjut Mengenai jbumstead »Projek Fusion 360»

Saya ingin menunjukkan bagaimana peranti menyimpan maklumat berfungsi dengan membina mesin permainan cakera berskala besar. Alih-alih berdasarkan gangguan cahaya seperti pemain CD, peranti yang saya bina memainkan cakera kayu dengan lubang dan "bukan lubang" (seperti yang saya rujuk dalam instruksi ini) yang melepasi atau menyekat sinar laser. Lubang-lubang dan lubang-lubang ini sesuai dengan 1 dan 0 dalam data binari yang memberi kod pesanan teks, seperti lirik lagu atau petikan. Maklumat binari dibaca dari cakera, disimpan pada Arduino, dan disahkod untuk memaparkan mesej teks pada matriks LED di bahagian depan peranti. Semasa data sedang dibaca, matriks LED diisi untuk memvisualisasikan maklumat binari. Apabila bit tinggi dibaca, nota MIDI juga dimainkan. Muzik yang dihasilkan mungkin terdengar rawak, tetapi melambangkan siri 1 dan 0 yang benar-benar menyimpan maklumat yang bermakna.

Pemain cakera kayu yang saya buat hanya dapat menampung sekitar 700 bit (<0.1kB) kerana seberapa besar lubang di dalam cakera. Oleh itu, mesej yang boleh disimpan pendek. Sebagai rujukan, CD boleh menyimpan sekitar 700MB maklumat, yang merupakan kira-kira 10 juta kali lebih banyak maklumat daripada cakera kayu yang saya buat. Keseluruhan projek ini membantu membayangkan skala penyimpanan maklumat pada CD (peranti penyimpanan yang sudah bertarikh) dan bagaimana maklumat digital dibaca dan dikodkan menjadi sesuatu yang bermakna bagi manusia.

Dalam arahan ini, saya akan membahas reka bentuk dan pembinaan sistem, bagaimana mesej itu ditukar menjadi maklumat binari pada cakera kayu, dan banyak cabaran sepanjang perjalanan.

Projek ini diilhamkan oleh banyak sumber, termasuk:

Saluran 8-bit Show and Tell mempunyai video hebat mengenai mesej rahsia yang tersimpan di rakaman yang boleh dibaca di Commodore 64

Pemain rakaman menegak, seperti yang dimiliki oleh Gramovox dan Roy Harpaz

Peranti bermain muzik mekanikal yang disebut polifon, dikembangkan pada pertengahan tahun 1800-an

Muzium Sejarah Komputer di Mountain View, CA

Video Techmoan di CED Videodisc yang dikembangkan oleh RCA

Rekod gambar, CD, dan DVD Sains Gunaan dengan mikroskop elektron

Pengekod putar optik

Bekalan

Lembaran papan lapis 10X 10 "x15" x1 / 8"

Lembaran akrilik putih

Motor DC 1X 50RPM

1X Arduino Nano

1X H-bridge L9110

Motor stepper 1X Nema 17 Motor step bipolar (3.5V 1A)

Skru plumbum 1X 2mm

Blok bantal 2X 21. Dua mur skru plumbum 22. Bushing slaid dua galas dan poros linear 200mm:

Paparan matriks 1X DOT MAX 7219

Bekalan kuasa 1X 5V

Kabel USB Mini 1X

2X photodiodes -

LED IR 2X

Fotodiod 1X IR

Modul laser 2X 650nm

1X 5.5 x 2.5 mm Pemasangan Panel Jack Power DC

Suis kuasa 1X -

Jack 1X MIDI -

3X LM358 op amp

Transistor 2X NPN

Transistor 1X TIP120

2X diod

Periuk potong 3X 10k

Perintang seperti ditunjukkan pada skema sistem

Papan prototaip

Magnet diameter 8mm -

Kit perkakasan metrik

Langkah 1: Gambaran Keseluruhan Sistem

Gambaran keseluruhan sistem
Gambaran keseluruhan sistem
Gambaran keseluruhan sistem
Gambaran keseluruhan sistem
Gambaran keseluruhan sistem
Gambaran keseluruhan sistem
Gambaran keseluruhan sistem
Gambaran keseluruhan sistem

Tujuan peranti ini adalah untuk menyahkod mesej yang disimpan di cakera kayu. Dalam langkah ini, saya akan memberikan gambaran keseluruhan keseluruhan proses.

1. Pilih mesej. Saya memilih mesej dari beberapa penulis dan pemuzik kegemaran saya untuk disimpan di cakera. Dalam contoh gambar di atas, saya mempunyai klasik "jangan panik!" dari Panduan Hitchhiker ke Galaxy.

2. Buat jadual penukaran binari. Sekiranya anda tidak biasa dengan maklumat binari, terdapat banyak buku, kursus, dan video yang berguna untuk mengetahui semua prosesnya. Idea asasnya adalah untuk menghasilkan kombinasi unik 1 dan 0 yang sesuai dengan beberapa tindakan, nilai, huruf, atau entiti lain. Untuk pemain cakera saya, saya memberi tumpuan kepada penyahkodan mesej. Oleh itu, saya membuat jadual yang menghubungkan nombor binari 5-bit dengan watak (mis. 00100 sepadan dengan huruf "d"), yang dilampirkan dalam langkah ini. Jadual yang saya buat adalah versi terpotong dari jadual ASCII 8-bit.

3. Tukarkan mesej ke binari. Dengan menggunakan jadual yang saya buat, setiap watak dalam mesej ditukar menjadi binari dan disimpan untuk membuat satu urutan binari.

4. Susun binari pada cakera. Sekarang kerana saya mempunyai mesej binari, saya perlu mempertimbangkan cara menyimpan maklumat pada cakera kayu dengan cara yang dapat dibaca oleh peranti. Saya memutuskan untuk menyimpan 1 dan 0 sebagai bukan lubang dan lubang yang disusun dalam bulatan (sama seperti CD). Setelah revolusi penuh dipenuhi dengan maklumat, data seterusnya akan disimpan dalam barisan lain yang bergerak secara radikal ke luar. Saya memilih untuk membaca sedikit demi sedikit, jadi hanya diperlukan satu alat pengesan data. Semasa cakera berputar, lubang dan bukan lubang melewati pengesan.

Tetapi bagaimana pengesan tahu kapan membaca data? Bagaimana saya dapat memastikan pengesan data membaca pada saat yang tepat ketika lubang pada cakera berada di atas pengesan? Saya menyelesaikan masalah ini dengan menambahkan pengesan "jam" yang tetap tidak bergerak pada peranti. Cincin paling dalam pada cakera mempunyai lubang yang sama rata. Apabila pengesan jam mencatatkan tepi jatuh atau naik, pengesan data membaca dalam sedikit maklumat. Proses yang disenaraikan dari 2-4 semuanya dilakukan menggunakan Matlab dan dibincangkan dalam Langkah 18.

5. Baca dalam perduaan dengan pemain cakera. Jam dan pengesan data masing-masing terdiri daripada laser dan fotodioda. Apabila tidak ada lubang, laser memantulkan cakera dan memukul fotodioda dan mendaftarkan 1. Keluaran fotodioda diperkuat, binariari dengan pencetus Schmitt, dan dibaca secara digital dengan Arduino Nano. Setelah menyelesaikan satu baris cakera, motor stepper (Nema 17 Bipolar step motor 3.5V 1A) menerjemahkan pengesan data ke baris seterusnya pada cakera. Kedudukan awal rel menahan pengesan data ditentukan menggunakan interupsi foto di posisi atas rel. Pemain terdiri daripada output MIDI, yang menghasilkan nota setiap kali 1 dibaca. Perincian litar akan dijelaskan dalam langkah-langkah kemudian.

6. Nyahkod perduaan dan paparkan mesej. Setelah keseluruhan cakera dibaca, Arduino menyahkod binari ke dalam mesej dan menyimpannya sebagai rentetan. Mesej dipaparkan ke paparan Dot Matrix (MAX 7219).

Langkah 2: Model CAD, Pemotongan Laser, dan Percetakan 3D

Model CAD, Pemotongan Laser, dan Percetakan 3D
Model CAD, Pemotongan Laser, dan Percetakan 3D

Hadiah Kedua dalam Peraduan CNC 2020

Disyorkan: