Direttamente dalla rubrica “se il lavoro non porta via abbastanza tempo, sprechiamo quel poco libero che ci rimane costruendo cazzate”.
Sicuramente avrete già visto da qualche parte uno di quei filmati dove ci sono dei simpatici floppy drives che riproducono musica (ad esempio qui, quo, qua, e ), se vi siete mai chiesti come funzionino quei marchingegni in questa guida vedremo passo passo come fare per realizzarne uno in poco tempo.
Nonostante non raggiunga livelli di inutilità di una Useless Machine, questo Moppy (Musical Floppy) vanta di una semplicità di realizzazione sicuramente maggiore: non dovremo smadonnare con parti meccaniche, il circuito è semplicissimo e la parte software ancora di più; insomma con una buona mano un paio d’ore (a stare larghi) dovrebbero essere sufficienti per completare l’opera.
Premetto che questa guida non è altro che un riadattamento della guida originale di Sammy1am, nonchè autore del codice di programmazione che andrà caricato sull’Arduino.
A lui tutto il merito.

Occorrente:
Controller Arduino Uno
Floppy drives (fino a 8)
Qualche metro di cavo Ethernet
Alimentatore 5v

Utensili:
Forbici e saldatore a stagno.

Per una breve panoramica sul controller Arduino vedere l’approfondimento.

Mostra Approfondimento ▼

Riguardo l’acquisto della scheda Arduino potete optare per un’imitazione economica made in china, io ho preferito investire qualche moneta in più e accattarmi l’originale made in Italy dalla solita baia, potete approfittare dello sconto sulle spese di spedizione dallo stesso negozio per incautarvi per un paio d’euro anche una Breadboard che tornerà molto pratica per la realizzazione dei collegamenti. Per i Floppy drives vi consiglio di farvi un giretto in città (o ancora meglio in discarica) e vedere se trovate qualche vecchio computer abbandonato al suo destino, a proposito ringrazio il mio amico @Fubio per l’ingente fornitura di drives, purtroppo ignoro quale sia il nick sulla Lega. Per quanto riguarda l’alimentatore io ne ho trovato uno in giro per casa mapensatèchecculo proprio da 5volt: non ho fatto altro che tagliarne il connettore e voilà, volendo è possibile utilizzare l’apposita uscita 5v di un alimentatore per pc che potrete facilmente trovare qui.

Il circuito

Come già detto in precedenza lo schema è veramente semplice: sono necessari solamente 3 collegamenti per far funzionare ogni floppy drive, i doppini intrecciati contenuti dentro ai cavi Ethernet sono l’ideale.
Per le connessioni potete utilizzare gli appositi cavi dati dei drives, ma se non ne avete da sprecare vi suggerisco di saldare i fili direttamente sui pin: spellate 1cm circa all’estremità del cavo, eseguite un piccolo cappio con il filamento di rame e sistematelo attorno al pin interessato, fatto ciò tenete il saldatore a contatto con il pin ed il filamento per qualche secondo, premeteci sopra lo stagno ed avrete la saldatura.
Nulla vi vieta di allargare o addirittura tagliare i pin vicini che potrebbero ostacolare l’operazione. Questi cavi hanno la peculiarità di essere resistentissimi finché sono inguainati e di rompersi molto facilmente dopo essere stati spellati, quindi può capitare che si rompano subito dopo il punto di saldatura. E fa incazzare non poco.

Iniziamo con l’alimentare i drives: colleghiamo l’ultimo pin sulla destra alla tensione positiva dell’alimentatore (cavo con tratteggio bianco se utilizzate un alimentatore da muro) ed il pin affianco con la messa a terra (rispettivamente cavo rosso e nero se utilizzate una PSU); gli altri 2 pin sono per l’alimentazione a 12v e non ci interessano.
Colleghiamo fra di loro i pin 11 e 12 (drive select), per farlo sarà sufficiente utilizzare uno dei classici jumper che si trovano su qualsiasi hard disk (se non ne avete potete tranquillamente avvicinarli utilizzando il più comune dei cacciaviti e farci cadere sopra il vostro bel gocciolone di stagno).
Una volta uniti questi 2 pin alimentando il drive dovrebbe accendersi la classica luce verde sul frontalino, se ciò non dovesse succedere o avete sbagliato qualcosa o lo stronzetto è fottuto.

A questo punto colleghiamo il pin 20 (step) con l’uscita digitale 2 sull’Arduino ed il pin 18 (direction) con l’uscita 3; gli altri drive andranno collegati allo stesso modo sui pin successivi, quindi avremo tutti step pin sulle uscite pari e direction pin su quelle dispari.
Siccome il codice Moppy supporta fino ad 8 floppy drives quelli successivi all’uscita 13 potranno essere collegati sulle uscite analogiche (che in questo caso fungeranno da uscite digitali) quindi avremo A0=14, A1=15 ecc…
Per le connessioni sull’arduino è sufficiente spellare l’altra parte del cavo ed inserirla nei connettori (capitan ovvio).
I pin 17 e 19 che si trovano esattamente sotto ai 18 e 20 dovranno essere collegati con l’uscita GND sull’Arduino: potete semplicemente unirli fra loro come già spiegato per i pin 11 e 12 e da lì far partire un unico cavo. Siccome i connettori sull’Arduino lasciano spazio solamente per un cavo ciascuno non potrete connettere tutti i drives direttamente sull’uscita GND e qui entra in gioco la Breadboard di cui vi parlavo: portate li tutti i cavi creando un nodo e facendone uscire solo uno per la connessione all’Arduino, potete anche utilizzarla per diramare l’alimentazione verso tutti i drives; d’altro canto potete anche annodare tutti i cavi assieme e dargli due giri di nastro isolante, ma usare quella cazzo di breadboard donerà quel tocco di professionalità in più.

Nel caso aveste dei drives non “full pin” ovvero dove mancano dei pin nella fila dei dispari, basta eseguire il collegamento al pin più vicino sottostante i pin interessati, questo funge infatti da GND comune per quelli superiori.
Ripetete l’operazione con tutti i drives che vorrete utilizzare ed avrete finito con la parte “Hardware”

Software

Iniziate con lo scaricare i seguenti files:

Java
NetBeans
Software Arduino
TimerOne library
Moppy
RXTXcomm

FAQ : Devo riempire il computer di merda ?
Un pochino si, ma è merda buona e comunque necessaria.

Iniziate con l’installare Java, NetBeans, ed il software di Arduino. Per l’installazione dei driver Arduino alla prima connessione fare riferimento a questa pagina.
Dopo aver installato Java dovrete fixare i file per la comunicazione seriale, spacchettate RXTXcomm e preparatevi al classico scopiazzamento da sbricchettoni:

– copiate il file rxtxserial.dll dentro alla cartella C:\Program Files\Java\jre7\bin (o comunque il percorso dove avete installato Java)
– copiate il file rxtxcomm.jar dentro alla cartella C:\Program Files\Java\jre7\lib\ext

Questa operazione tra l’altro a detta dell’autore è l’unica che potrebbe dare dei problemi, per me è andato tutto liscio come l’olio (Windows 7 64bit) se doveste riscontrare problemi al successivo lancio del progetto su NetBeans google is your friend.
Ora dovrete caricare la libreria ed uploadare il codice Moppy sull’Arduino, per prima cosa scompattatela, rinominate la cartella in “TimerOne” (eliminando –v9) e schiaffatela dentro la cartella “libraries” nella cartella d’installazione dell’Arduino, fatto ciò collegate il vostro amichetto al PC con un cavo USB e lanciate il programma, ora andate su file > open e richiamate il file Moppy.pde dall’omonima cartella dentro al .zip di Sammy1am e cliccate su upload nella schermata che comparirà.

Infine lanciate NetBeans (ci siamo quasi) andate su file > open project e cercate il file MoppyDesk sempre nella cartella di Sammy1am, ma questa volta dentro alla sottocartella Java. Cliccate sulla freccia verde “run project” in alto (sempre con l’Arduino connesso al PC), incrociate le dita e se avete installato il driver RXTXcomm correttamente si aprirà la schermata di comunicazione al nostro controller: a questo punto non vi resta che andare su “load file” per caricare i vostri Midi e godervi il vostro concertino!

Mostra Approfondimento ▼

Info sui Midi

Tutti i freeware che si trovano in rete per la gestione dei midi sono abbastanza limitati, vi consiglio di scaricarvi un bel FL Studio che è abbastanza leggero e relativamente facile da usare, a volte fa un po’ girare i coglioni ma alla fine fa il suo sporco lavoro.
I file Midi devono avere un canale per ogni floppy drive utilizzato: il canale 1 uscirà sul pin 2, il canale 2 sul pin 4 ecc…
Ogni drive può suonare una sola nota per volta.
Il software è in grado di ricreare solo note dalla C1 alla B4 (Do e Si della notazione inglese) i drive non rispondono bene al di fuori di questo range, soprattutto sulle note più alte. Per adattare i Midi aprite il canale interessato, fate Ctrl+A per selezionare tutte le note poi Ctrl+freccia sù o Ctrl+freccia giù per alzarle o abbassarle di una ottava.
Generalmente le note più corte suonano meglio, poiché durante le note lunghe la testina deve più volte invertire il senso di marcia, rovinando l’armonia.
Quando interrompete un midi in riproduzione da NetBeans è necessario rieseguire “load file” per farlo ripartire, oppure fare disconnect > connect > start.

La canzone scelta per il video non poteva che essere “Dave’s Theme” di Maniac Mansion del NES, rockeggia troppo!

Fonti:

https://github.com/SammyIAm/Moppy
Sammy1am video guide

DIY Moppy – Musica con i Floppy Drives ultima modifica: 2012-03-20T18:24:28+00:00 da lega nerd
Accenture Cristina

Non rimanere indietro, iscriviti ora

Ricevi in tempo reale le notizie del digitale

Iscrizione alla Newsletter

controlla la tua inbox per confermare l'iscrizione

Privacy Policy

Grazie! Ora fai parte di Digitalic!

Entra nella commmunity di Digitalic, seguici!