Cesare Brizio - Arduino Projects

Floppy Music via Arduino - molto più semplice di quanto sembra

Floppy Music via Arduino - much simpler than it seems

 

Sul Web, diversi tutorial spiegano come trasformare in un player midi la combinazione di una scheda Arduino e di uno o più vecchi floppy drive da 3.5".
Tra questi tutorial:

e tanti altri, facili da trovare ricercando su google le tre parole Arduino Floppy Music.
Il mio solo scopo qui è di chiarificare alcuni punti che all'inizio mi erano sfuggiti e il cui chiarimento mi ha richiesto un po' di tempo. Spero che i miei suggerimenti consentano a chi si impegnasse in un progetto simile di procedere in modo più fluido.
Il tutorial di riferimento è quello di "Instructables".
  • Il sistema richiede che siano contemporaneamente attivi la IDE di Arduino (usata per caricare sulla scheda il programma Moppy.ino di SammyIAm e per garantire la comunicazione tra l'applicazione NetBeans e la scheda) e la IDE di NetBeans (usata per eseguire il progetto MoppyDesk): i file Midi vengono selezionati e caricati con MoppyDesk, ed inviati a Arduino per l'esecuzione;
  • ogni floppy drive esegue un singolo canale midi, quindi se il file .mid ha più canali di quanti siano i floppy, alcuni canali non verranno suonati;
  • non è necessario utilizzare alimentatori da PC, che sono comodi solo per il fatto di avere diversi connettori di alimentazione per floppy. Con un qualsiasi alimentatore 5V e una piccola breadboard, si possono alimentare tutti i floppy necessari (nel mio esempio, ne mostro solo uno). Da notare il pinout dell'alimentatore floppy;
  • l'immagine sulla connessione Arduino-floppy drive che appare nel tutorial non è corretta e non corrisponde con il testo (che invece è corretto);
  • In ambiente Windows 7 64 bit, è necessario copiare le dll rxtx (rxtxParallel.dll e rxtxSerial.dll) nella cartella WINDOWS/system32.
Ecco un paio di immagini del lavoro finito. Se si usa un numero maggiore di drive, diventa necessaria una piccola breadboard per distribuire l'alimentazione e raccogliere i ground pin 17 e 19 dei vari floppy, i cui pin 18 e 20 occuperanno a coppie i pin arduino da 4 in poi, come illustrato per il primo floppy. Mi pare di capire che una scheda Arduino Uno possa ospitare fino a sei drive.

On the Web, several tutorials explain how to transform in a midi player the combination of an Arduino board and one or more floppy drives.
Those tutorials include:

and many others, easy to find by googleing for the three words Arduino Floppy Music.
My only aim here is to make clear some points that initially escaped me and required some time to be clarified. I hope that my hints will allow a smoother progress to all those that may engage in a similar project.
The reference tutorial is the one from "Instructables".
  • The system requires that both the Arduino IDE (used to load on the board the Moppy.ino program by SammyIAm and to provide communication between the NetBean application and the board) and the NetBeans IDE (used to execute the MoppyDesk project) are both active: the Midi files are selected and loaded with MoppyDesk, and sent to Arduino for the execution;
  • each floppy drive plays a single midi channel, so if the .mid file has more channels than the number of floppies, some channels won't be played;
  • there's no need for PC power supplies, whose only advantage is providing several floppy power connectors. With any 5V power supply and a small breadboard, one can power up all the needed floppies (in my example, I show just one). The floppy power supply pinout should be noted;
  • the picture of the Arduino-floppy drive connection appearing in the tutorial isn't correct and doesn't match with the text (which is correct);
  • In Windows 7 64 bit environment, one needs to copy the rxtx dll's (rxtxParallel.dll and rxtxSerial.dll) in the WINDOWS/system32 folder.
Here are a couple of pictures of the finished work. If one uses a bigger number of drives, a small breadboard becomes necessary to distribute the power and to collect the ground pins 17 and 19 from all the floppies, whose 18 and 20 pins will engage in couples the arduino pins from 4 onwards, as illustrated for the first software. It seems to me that an Arduino Uno board may accommodate up to six drives.

Click sulle foto per ingrandirle

Click on the pictures to enlarge