Inhaltsverzeichnis:
Video: Holz-Disc-Player - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Von jbumsteadJon BumsteadFolgen Sie mehr vom Autor:
Über: Projekte in Licht, Musik und Elektronik. Sie finden sie alle auf meiner Website: www.jbumstead.com Mehr über jbumstead » Fusion 360-Projekte »
Ich wollte demonstrieren, wie Informationsspeichergeräte funktionieren, indem ich eine große Disc-Abspielmaschine baute. Anstatt auf Lichtinterferenzen wie CD-Playern zu basieren, spielt das Gerät, das ich gebaut habe, Holzscheiben mit Löchern und "Nichtlöchern" (wie ich sie in dieser Anleitung bezeichne), die einen Laserstrahl entweder passieren oder blockieren. Diese Löcher und Nicht-Löcher entsprechen Einsen und Nullen in Binärdaten, die eine Textnachricht kodieren, wie Liedtexte oder ein Zitat. Die binären Informationen werden von der Disc gelesen, auf einem Arduino gespeichert und dekodiert, um die Textnachricht auf einer LED-Matrix auf der Vorderseite des Geräts anzuzeigen. Während die Daten gelesen werden, wird die LED-Matrix bestückt, um die binären Informationen zu visualisieren. Wenn ein High-Bit gelesen wird, wird auch eine MIDI-Note gespielt. Die produzierte Musik mag zufällig klingen, aber sie symbolisiert eine Reihe von Einsen und Nullen, die tatsächlich sinnvolle Informationen enthalten.
Der von mir erstellte Holz-Disc-Player kann nur etwa 700 Bit (<0,1 kB) speichern, da die Löcher in der Disc groß sind. Daher sind die Nachrichten, die gespeichert werden können, kurz. Als Referenz kann eine CD etwa 700 MB an Informationen enthalten, was etwa 10 Millionen Mal mehr Informationen ist als die von mir hergestellten Holzscheiben. Das gesamte Projekt hilft, sich das Ausmaß der Informationsspeicherung auf CDs (einem bereits veralteten Speichergerät) vorzustellen und wie die digitalen Informationen gelesen und in etwas für den Menschen Sinnvolles entschlüsselt werden.
In diesem anweisbaren werde ich über das Systemdesign und den Bau gehen, wie die Nachricht auf einer Holzscheibe in binäre Informationen umgewandelt wurde, und die vielen Herausforderungen auf dem Weg.
Das Projekt wurde von vielen Quellen inspiriert, darunter:
Der 8-Bit-Kanal von Show and Tell hatte ein großartiges Video über eine geheime Nachricht, die auf einer Platte gespeichert ist, die auf einem Commodore 64 gelesen werden konnte
Vertikale Plattenspieler, wie die von Gramovox und Roy Harpaz
Mechanische Musikabspielgeräte namens Polyphone, die Mitte des 19. Jahrhunderts entwickelt wurden
Das Computer History Museum in Mountain View, CA
Techmoans Video auf der von RCA. entwickelten CED Videodisc
Applied Science bebildert Schallplatten, CDs und DVDs mit Elektronenmikroskop
Optische Drehgeber
Lieferungen
10X 10"x15"x1/8" Sperrholzplatte
Weiße Acrylplatte
1X 50RPM Gleichstrommotor
1X Arduino Nano
1X H-Brücke L9110
1X Schrittmotoren Nema 17 Bipolarer Schrittmotor (3.5V 1A)
1X 2mm Leitspindeln
2X Stehlager 21. Zwei Gewindemuttern 22. Zwei Lagergleitbuchsen und 200mm Linearwellen:
1X DOT-Matrix-Display MAX 7219
1X 5V Netzteil
1X Mini-USB-Kabel
2X Fotodioden -
2X IR-LEDs
1X IR-Fotodiode
2X 650nm Lasermodul
1X 5,5 x 2,5 mm DC-Strombuchse für Schalttafelmontage
1X Netzschalter -
1X MIDI-Buchse -
3X LM358 Operationsverstärker
2X NPN-Transistoren
1X TIP120-Transistor
2X Dioden
3X 10k Trimmtöpfe
Widerstände wie im Systemschema gezeigt
Prototypenplatine
Magnete mit 8 mm Durchmesser -
Metrisches Hardware-Kit
Schritt 1: Systemübersicht
Der Zweck des Geräts besteht darin, eine auf einer Holzscheibe gespeicherte Nachricht zu entschlüsseln. In diesem Schritt gebe ich einen schnellen Überblick über den gesamten Prozess.
1. Wählen Sie eine Nachricht aus. Ich wählte Nachrichten von einigen meiner Lieblingsautoren und -musiker aus, um sie auf der Disc zu speichern. In der obigen Beispielzeichnung habe ich das klassische "Keine Panik!" aus Per Anhalter durch die Galaxis.
2. Erstellen Sie eine binäre Konvertierungstabelle. Wenn Sie mit binären Informationen nicht vertraut sind, gibt es viele nützliche Bücher, Kurse und Videos, um alles über den Prozess zu erfahren. Die Grundidee besteht darin, einzigartige Kombinationen von Einsen und Nullen zu entwickeln, die einer Aktion, einem Wert, einem Buchstaben oder einer anderen Entität entsprechen. Für meinen Disc-Player habe ich mich auf die Dekodierung von Nachrichten konzentriert. Daher habe ich eine Tabelle erstellt, die 5-Bit-Binärzahlen mit einem Zeichen verknüpft (zB 00100 entspricht dem Buchstaben "d"), die in diesem Schritt angehängt wird. Die von mir erstellte Tabelle ist eine abgeschnittene Version der 8-Bit-ASCII-Tabelle.
3. Konvertieren Sie die Nachricht in eine Binärdatei. Mit der von mir erstellten Tabelle wird jedes Zeichen in der Nachricht in binär konvertiert und gespeichert, um eine binäre Sequenz zu erstellen.
4. Ordnen Sie die Binärdatei auf einer Disc an. Nachdem ich nun eine binäre Nachricht hatte, musste ich mir überlegen, wie ich die Informationen auf einer Holzscheibe so speichern kann, dass sie von einem Gerät ausgelesen werden können. Ich beschloss, die Einsen und Nullen als Nicht-Löcher und in einem Kreis angeordnete Löcher zu speichern (genau wie eine CD). Sobald eine volle Umdrehung mit Informationen gefüllt war, würden die nächsten Daten in einer anderen Reihe gespeichert, die sich radial nach außen bewegt. Ich habe mich dafür entschieden, jeweils ein Bit zu lesen, daher ist nur ein Detektor für Daten erforderlich. Während sich die Scheibe dreht, passieren die Löcher und Nichtlöcher den Detektor.
Aber woher weiß der Detektor, wann er die Daten lesen muss? Wie konnte ich sicher sein, dass der Datendetektor im richtigen Moment las, wenn sich das Loch in der Scheibe über dem Detektor befand? Ich habe dieses Problem gelöst, indem ich einen "Uhr" -Detektor hinzugefügt habe, der auf dem Gerät stationär bleibt. Der innerste Ring der Scheibe hat gleichmäßig platzierte Löcher. Wenn der Taktdetektor eine fallende oder steigende Flanke registriert, liest der Datendetektor ein Informationsbit ein. Die von 2-4 aufgelisteten Prozesse wurden alle mit Matlab durchgeführt und werden in Schritt 18 besprochen.
5. Binärdatei mit dem Disc-Player einlesen. Die Takt- und Datendetektoren bestehen jeweils aus einem Laser und einer Photodiode. Wenn kein Loch vorhanden ist, reflektiert der Laser von der Scheibe und trifft auf die Fotodiode und registriert eine 1. Der Ausgang der Fotodiode wird verstärkt, mit einem Schmitt-Trigger binarisiert und mit einem Arduino Nano digital gelesen. Nach Fertigstellung einer Reihe der Scheibe übersetzt ein Schrittmotor (Nema 17 Bipolarer Schrittmotor 3,5V 1A) den Datendetektor nach unten in die nächste Reihe auf der Scheibe. Die Ausgangsposition der Schiene, die den Datendetektor hält, wird unter Verwendung eines Photointerrupts an der oberen Position der Schiene bestimmt. Der Player besteht aus einem MIDI-Ausgang, der jedes Mal, wenn eine 1 gelesen wird, eine Note erzeugt. Einzelheiten der Schaltung werden in späteren Schritten beschrieben.
6. Decodieren Sie die Binärdatei und zeigen Sie eine Meldung an. Nachdem die gesamte Disc gelesen wurde, dekodiert der Arduino die Binärdatei in die Nachricht und speichert sie als String. Die Meldung wird auf dem Dot-Matrix-Display (MAX 7219) angezeigt.
Schritt 2: CAD-Modell, Laserschneiden und 3D-Druck
Zweiter Preis beim CNC-Wettbewerb 2020