Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Par jbumsteadJon BumsteadSuivez plus par l'auteur:
À propos: Projets en lumière, musique et électronique. Retrouvez-les tous sur mon site: www.jbumstead.com En savoir plus sur jbumstead » Fusion 360 Projects »
Je voulais montrer comment fonctionnent les dispositifs de stockage d'informations en construisant une machine de lecture de disques à grande échelle. Au lieu d'être basé sur des interférences lumineuses comme les lecteurs de CD, l'appareil que j'ai construit lit des disques en bois avec des trous et des "non-trous" (comme je les appelle dans cette instructable) qui passent ou bloquent un faisceau laser. Ces trous et non-trous correspondent à des 1 et des 0 dans les données binaires qui codent un message texte, comme des paroles de chanson ou une citation. Les informations binaires sont lues sur le disque, stockées sur un Arduino et décodées pour afficher le message texte sur une matrice LED à l'avant de l'appareil. Au fur et à mesure que les données sont lues, la matrice LED est remplie pour visualiser les informations binaires. Lorsqu'un bit haut est lu, une note MIDI est également jouée. La musique produite peut sembler aléatoire, mais elle symbolise une série de 1 et de 0 qui contiennent en fait des informations significatives.
Le lecteur de disque en bois que j'ai créé ne peut contenir qu'environ 700 bits (<0,1 Ko) en raison de la taille des trous dans le disque. Par conséquent, les messages qui peuvent être stockés sont courts. Pour référence, un CD peut contenir environ 700 Mo d'informations, soit environ 10 millions de fois plus d'informations que les disques en bois que j'ai créés. L'ensemble du projet aide à imaginer l'ampleur du stockage d'informations sur des CD (un périphérique de stockage déjà daté) et la manière dont les informations numériques sont lues et décodées en quelque chose de significatif pour les humains.
Dans ce instructable, je vais passer en revue la conception et la construction du système, comment le message a été converti en informations binaires sur un disque en bois et les nombreux défis en cours de route.
Le projet a été inspiré par de nombreuses sources, notamment:
La chaîne Show and Tell 8 bits avait une vidéo géniale sur un message secret stocké sur un enregistrement qui pouvait être lu sur un Commodore 64
Des tourne-disques verticaux, comme ceux de Gramovox et Roy Harpaz
Dispositifs mécaniques de lecture de musique appelés polyphons, développés au milieu des années 1800
Le musée d'histoire de l'informatique à Mountain View, CA
Vidéo de Techmoan sur le Videodisc CED développé par RCA
Enregistrements d'images de sciences appliquées, CD et DVD avec microscope électronique
Codeurs rotatifs optiques
Fournitures
Feuille de contreplaqué 10X 10"x15"x1/8"
Feuille acrylique blanche
1 moteur à courant continu 50 tr/min
1X Arduino Nano
1X pont en H L9110
1X moteurs pas à pas Nema 17 Moteur pas à pas bipolaire (3.5V 1A)
1 vis de plomb de 2 mm
2x paliers à semelle 21. Deux écrous de vis-mère 22. Deux douilles de glissière de roulement et arbres linéaires de 200 mm:
1X affichage matriciel DOT MAX 7219
Alimentation 1X 5V
1X mini-câble USB
Photodiodes 2X -
2 LED infrarouges
1X photodiode IR
Module laser 2X 650nm
1 prise d'alimentation CC à montage sur panneau 5,5 x 2,5 mm
Interrupteur d'alimentation 1X -
1 prise MIDI -
3X ampli op LM358
2x transistors NPN
1X transistor TIP120
2X diodes
3 pots de garniture de 10k
Résistances comme indiqué sur le schéma du système
Carte prototype
Aimants de 8 mm de diamètre -
Kit de matériel métrique
Étape 1: Présentation du système
Le but de l'appareil est de décoder un message stocké sur un disque en bois. Dans cette étape, je vais donner un aperçu rapide de l'ensemble du processus.
1. Choisissez un message. J'ai choisi des messages de certains de mes écrivains et musiciens préférés pour les stocker sur le disque. Dans l'exemple de dessin ci-dessus, j'ai le classique « pas de panique ! » du Guide de l'auto-stoppeur de la galaxie.
2. Créez une table de conversion binaire. Si vous n'êtes pas familier avec les informations binaires, il existe de nombreux livres, cours et vidéos utiles pour tout savoir sur le processus. L'idée de base est de trouver des combinaisons uniques de 1 et de 0 qui correspondent à une action, une valeur, une lettre ou une autre entité. Pour mon lecteur de disque, je me suis concentré sur le décodage des messages. Par conséquent, j'ai créé une table qui reliait des nombres binaires de 5 bits à un caractère (par exemple 00100 correspond à la lettre "d"), qui est jointe à cette étape. La table que j'ai créée est une version tronquée de la table ASCII 8 bits.
3. Convertissez le message en binaire. À l'aide de la table que j'ai créée, chaque caractère du message est converti en binaire et enregistré pour créer une séquence binaire.
4. Disposez le binaire sur un disque. Maintenant que j'avais un message binaire, je devais réfléchir à la manière de stocker les informations sur un disque en bois de manière à ce qu'elles puissent être lues par un appareil. J'ai décidé de stocker les 1 et les 0 sous forme de non-trous et de trous disposés en cercle (tout comme un CD). Une fois qu'un tour complet était rempli d'informations, les données suivantes seraient stockées dans une autre rangée se déplaçant radialement vers l'extérieur. J'ai choisi de lire un bit à la fois, donc un seul détecteur de données est nécessaire. Au fur et à mesure que le disque tourne, les trous et les non-trous passent sur le détecteur.
Mais comment le détecteur sait-il quand lire les données ? Comment puis-je être sûr que le détecteur de données lisait au bon moment lorsque le trou dans le disque était au-dessus du détecteur ? J'ai résolu ce problème en ajoutant un détecteur "horloge" qui reste fixe sur l'appareil. La bague la plus intérieure du disque a des trous uniformément placés. Lorsque le détecteur d'horloge enregistre un front descendant ou montant, le détecteur de données lit un bit d'information. Les processus énumérés de 2 à 4 ont tous été effectués à l'aide de Matlab et sont décrits à l'étape 18.
5. Lisez en binaire avec le lecteur de disque. L'horloge et les détecteurs de données se composent chacun d'un laser et d'une photodiode. Lorsqu'il n'y a pas de trou, le laser se réfléchit sur le disque et frappe la photodiode et enregistre un 1. La sortie de la photodiode est amplifiée, binarisée avec un déclencheur de Schmitt et lue numériquement avec un Arduino Nano. Après avoir terminé une rangée du disque, un moteur pas à pas (moteur pas à pas bipolaire Nema 17 3,5 V 1 A) traduit le détecteur de données vers la rangée suivante sur le disque. La position initiale du rail contenant le détecteur de données est déterminée à l'aide d'une photo-interruption à la position supérieure du rail. Le lecteur se compose d'une sortie MIDI, qui produit une note à chaque fois qu'un 1 est lu. Les détails du circuit seront décrits dans les étapes ultérieures.
6. Décodez le binaire et affichez un message. Une fois l'intégralité du disque lu, l'Arduino décode le binaire dans le message et l'enregistre sous forme de chaîne. Le message s'affiche sur l'écran matriciel (MAX 7219).
Étape 2: modèle CAO, découpe laser et impression 3D
Deuxième Prix du Concours CNC 2020