8 Avatar di maerkoh
13
Tempo di Lettura in Minuti

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! :res:

Fonti:

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

Condividi questo Articolo:
Send to Kindle
Aree Tematiche Articolo:
Cazzate Creatività Idee Opensource Select Tecnologie
Tag Articolo:
floppy drives
Moppy
Musical Floppy
Loggati

32 Commenti

  1. Avatar di Prophet95 20/3/2012 20:11

    :fav: fantastico!

  2. Avatar di thocaos thocaos 20/3/2012 20:29

    Era da un po che cercavo una guida come questa visto che mi ci voglio cimentare! :fav: :nt:

  3. Avatar di Sn4ke Sn4ke 20/3/2012 20:35

    Mitico !!! :fav: :fav: :fav:

  4. Avatar di OurMotto OurMotto 20/3/2012 21:13

    Come idea è geniale.Domani proverò con il mio Arduino Uno.
    Però Arduino è stato inventato a Scarmagno e non a Ivrea :res:

  5. Avatar di mepanom mepanom 20/3/2012 21:33

    :nt: :fav: :select: :sticazzi: :mammamiachefigo: :res:

  6. Avatar di Mte90 Mte90 20/3/2012 21:54

    +1 assolutamente :fav: :res: +1

  7. Avatar di Defkon1 Defkon1 20/3/2012 22:01

    NT, favvo, select, e ci faccio un pensierino per un progetto estivo.

  8. avatar calamastruno 20/3/2012 22:29

    Ecco, questa sarà la mia rovina…

  9. Avatar di networm | A65 networm | A65 20/3/2012 23:29

    io ho preferito investire qualche moneta in più e accattarmi l’originale made in Italy dalla solita baia

    Non vorrei fare il solito guastafeste ma un Arduino UNO a 26 euro è già sospetto, ancora ti regalano un alimentatore… ho come il sospetto che quell’Arduino UNO originale arrivi dalla stessa fabbrica dell’alimentatore omaggio :(

    • Avatar di maerkoh maerkoh 21/3/2012 00:10

      Guarda che gli Arduino Uno (NON ethernet) si trovano a partire da 20€ sul sito ufficiale ;) Naturalmente non metto in dubbio la qualità dell’alimentatore…

  10. Avatar di Niked Niked 21/3/2012 00:05

    complimenti, un articolo coi fiocchi!
    ci devo assolutamente provare! :D

  11. avatar jink 21/6/2012 12:10

    il video [ufoporno]

  12. avatar Gienchi 28/11/2012 00:19

    Uff, io non riesco! Ho provato sia su Mac che su Windows, ma il problema persiste: aprendo la cartella MoppyDesk in NetBeans c’è un file che non funziona come dovuto, cioè MoppyUI.java che mi rende impossibile tutta l’operazione…consigli??

    • Avatar di maerkoh maerkoh 2/12/2012 18:16

      Mmmh se hai installato java e i driver rxtx nel modo giusto non dovresti avere problemi… Avendo formattato il PC tempo fa non ho più niente installato, prova comunque a scrivermi l’errore che ti da il programma che vedo se riesco ad aiutarti ;)

  13. avatar Gienchi 2/12/2012 19:12

    Users/Gienchi/Desktop/Moppy-master/Java/MoppyDesk/src/moppydesk/MoppyUI.java:7: package org.jdesktop.application does not exist
    import org.jdesktop.application.SingleFrameApplication;
    /Users/Gienchi/Desktop/Moppy-master/Java/MoppyDesk/src/moppydesk/MoppyUI.java:13: cannot find symbol
    symbol: class SingleFrameApplication
    public class MoppyUI extends SingleFrameApplication{
    /Users/Gienchi/Desktop/Moppy-master/Java/MoppyDesk/src/moppydesk/MoppyUI.java:20: cannot find symbol
    symbol : method show(moppydesk.MoppyMainWindow)
    location: class moppydesk.MoppyUI
    show(mainWindow);
    /Users/Gienchi/Desktop/Moppy-master/Java/MoppyDesk/src/moppydesk/MoppyUI.java:17: method does not override or implement a method from a supertype
    @Override
    /Users/Gienchi/Desktop/Moppy-master/Java/MoppyDesk/src/moppydesk/MoppyUI.java:27: cannot find symbol
    symbol : method launch(java.lang.Class,java.lang.String[])
    location: class moppydesk.MoppyUI
    launch(MoppyUI.class, args);
    Note: /Users/Gienchi/Desktop/Moppy-master/Java/MoppyDesk/src/moppydesk/MoppyMainWindow.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    5 errors
    /Users/Gienchi/Desktop/Moppy-master/Java/MoppyDesk/nbproject/build-impl.xml:915: The following error occurred while executing this line:
    /Users/Gienchi/Desktop/Moppy-master/Java/MoppyDesk/nbproject/build-impl.xml:307: Compile failed; see the compiler error output for details.
    BUILD FAILED (total time: 0 seconds)

    Mi da quest’errore :/

  14. avatar Gienchi 2/12/2012 19:13

    (sul mac, ma la stessa cosa su windows)

  15. avatar www.djdylan.it 2/1/2013 23:14

    Ciao! io sto usando Arduino Leonardo e ho collegato 8 lettori floppy, ma purtroppo quei due sulle uscite analogiche non funzionano! come mai??
    Premetto che ho scambiato i lettori floppy per verificarne il correto funzionamento e ho usato basi a 8 strumenti, sono sicurissimo che sia tutto come da guida.

  16. avatar piero 15/4/2013 14:18

    Ciao scusate il disturbo x il mio esame di maturità avrei scelto questo progetto ma non riesco a capire quando vado sul link java cosa devo scaricare dei tre file che mi si presentano e un pò la parte software in generale (scusate ancora magari è una cosa banale ma su questi aspetti non capisco tantissimo) …
    grazie x l’aiuto in anticipo aspettando presto vostre notizie

    • Avatar di maerkoh maerkoh 16/4/2013 15:21

      Il sito è un pò cambiato da quando avevo pubblicato questa guida, cmq penso che puoi scaricare direttamente dal link a destra, così hai già incluso NetBeans e prendi 2 piccioni con un click ;) Per il resto te segui la guida alla lettera, se poi ti blocchi in qualche punto fammi sapere e vedrò se riesco a darti una mano.

  17. avatar piero 16/4/2013 15:27

    grazie grazie di cuore :)

  18. avatar piero 18/4/2013 00:28

    Ciao senti c’è un altra parte del testo che non capisco cioè che importanza ha fl studio e come mandare la canzone dal pc ad arduino e successivamente ai floppy…

    • Avatar di maerkoh maerkoh 30/4/2013 10:10

      FL Studio (o qualsiasi altro MIDI editor) serve semplicemente a modificare i file MIDI per adattarne le frequenze a quelle riproducibili dai Floppy. Per quanto riguarda la riproduzione lo fai aprendo l’apposito progetto su NetBeans e caricando i file MIDI.

Lascia una risposta

Devi essere loggato per inviare un commento.

LN Panic Mode - Premi "P" per tornare a Lega Nerd