venerdì 18 febbraio 2011

Progetto enclosure

Sto progettando l'enclosure per arduinome con sketchup e sono quasi alla fine, questo è il risultato

Progetto enclosure

Progetto enclosure colorata

L' enclosure sarà fatta interamente in legno, escluso uno dei due faceplate che sarà di plexyglass nero, per staccare un po e per diminuire l'altezza dei bottoni. Per il faceplate ho preso spunto da quello di machine collective, aumentando di 10mm il lato del quadrato. I lati invece si incastrano a "dentelli" l'uno con l'altro e la curva sul fondo l'ho fatta per fare una minima retroilluminazione. Il mio obiettivo è quello di nascondere tutte le viti, a differenza della maggior parte dei progetti che si trovano in rete, e credo di aver trovato una soluzione.
Infine, per tagliare il tutto una volta completato il progetto, farò riferimento a Vectorealism.com, che si occupa di taglio laser.

Non è stato difficile progettare il box per arduinome, tuttavia ho ancora qualche dubbio: esclusi tutti i dettagli estetici, a mio avviso sono due le variabili che interferiscono con l'esperieza di utilizzo del clone di monome.


  • La prima è l'altezza dei bottoni. Questa dipende, a livello strutturale, dal faceplate visto che viene avvitata assieme alla PCB ad esso. La mia idea è quella di ridurre al minimo questa variabile, per diminuire il gioco dei bottoni alla pressione e la diffusione di luce sulla cornice. Pertanto la somma dei due faceplate è 11mm (5 legno  e 6 plexy), l'altezza del bottone è 13,7 e la differenza è quindi 2,7mm. A questo punto mi è venuto il dubbio: non è che con la pressione del tasto, quest' altezza sia inferiore alla cornice? Dalle mie sofisticate misurazioni (ah ah!) sembra di no, perchè il tasto si abbassa intorno ai due millimetri, come si vede nelle foto in fondo (due sarebbero state sufficienti, ma ho pure il pallino per la fotografia!).

  • La seconda è l'altezza della cornice. Inizialmente la mia idea era quella di separare la parte logica dalle pcb con tasti e led per ottenere uno scatolotto contenente la prima e un faceplate pressoché piatto per suonare arduinome più comodamente. Poi dissuaso dal trasporto, inevitabilmente più difficoltoso, sono ritornato al punto di partenza, rimanendo comunque dell' idea di farla più bassa possibile (monome è alto 38mm!). L' altezza totale compresi i faceplate è di 51mm, lo spazio effettivo che riempirò con la parte logica è 28mm e spero basti. Lo farei ancora più basso, ma non vorrei doverlo rifare per problemi di spazio.

La la luce bianca soffusa che uscirà dalle fessure in basso del box, l'ho pensata per diminuire lo stress visivo derivante da un utilizzo prolungato di arduinome al buio (dopo ore di luci lampeggianti nel buio totale ti rincoglionisci un po) e... anche la componente estetica vuole la sua parte!
Detto questo, in questi giorni (finiti gli esami) finirò il progetto dell' enclosure e la parte grafica che sarà serigrafata su un lato del box. Intanto comincio a pensare al nome che darò a questa mia prima creazione!


Metodo infallibile per misurare l' abbassamento di un tasto alla pressione :)

IMG_3226

IMG_3232

IMG_3243

mercoledì 9 febbraio 2011

Un bug che non riesco a risolvere...

Arduinome funziona a meraviglia, a parte il fatto che non ha ancora una cornice appropriata e  un fastidioso bug che non riesco a risolvere. Dopo il video spiegherò meglio i dettagli:



A volte, quando premo un bottone, questo rimane acceso e il software lo interpreta come se lo stessi ancora premendo e fino a quando non lo premo nuovamente, questa situazione non si sblocca.
Premetto che qualsiasi utilizzo io ne stia facendo, il blocco non tarda ad arrivare. Nel caso stia utilizzando il programma On/Off di serialpyio (vedi post precedenti) non mi da nessun fastidio, ma se si blocca mentre sto registrando un pezzo, diventa più fastidioso.
Non riesco a capire in quali cause risieda questo problema, l'unica cosa che credo di poter escludere (spero!) è la componente hardware, in quanto i tasti funzionano bene e soprattutto si verifica in maniera casuale, in qualsiasi posizione della matrice.

L'unico accorgimento che ha diminuito il bug (o almeno così mi è sembrato) è stato l'aumento del baudrate, di default 57600, a 115200. In questo modo arduinome sarà più reattivo e quindi andrà a diminuire anche la latenza. In ogni caso è conveniente aumentare il baudrate e per farlo sono necessari solo questi brevi passaggi:

Aumentare il baudrate di arduinome
Per farlo andremo a modificare sia il firmware (3.2 l'attuale) di arduinome, che il programma al quale si interfaccia, ovvero serialpyio.

Firmware
  1. Aprire il firmware 3.2 attraverso la software di arduino
  2. Posizionarsi sulla riga 488 e cambiare il numero contenuto tra parentesi dopo Serial.begin, da 57600 a 115200.
  3. Verify e Upload
Serial-pyIO
  1. Posizionarsi nella cartella principale di serialpyio e poi src\spyio
  2. Per sicurezza creiamo una copia di backup del file router.py, che andremo ad editare
  3. Aprire router.py. In mancanza di python, per comodità consiglio l'utilizzo di Notepad++, che numera le righe, altrimenti qualsiasi editor di testo andrà benissimo.  
  4. Posizionarsi sulla riga 1194 e modificare il numero finale di questa stringa da 57600 a 115200
                   spyio.gui.dialog.devicedialog.AddSerialDeviceDialog(self, False, 57600)
             

Dopo queste due modifiche, quando interfacceremo il nostro arduinome a serial-pyIO avrà un baurate più elevato.

Baudrate