• Non ci sono risultati.

La macchina realizzata permette di effettuare stampe di immagini con un DPI differenziato nelle due dimensioni:

- In direzione verticale, il DPI non è modificabile dall’utente e oscilla tra 92 e 97.

- In direzione orizzontale il DPI può essere modificato dall’utente e impostato tra 10 e 200, tuttavia si raccomanda l’utilizzo di un DPI non superiore a 100 per ottenere immagini di buona qualità. Il volume stampato da ogni ugello risulta irregolare, in particolare, le gocce espulse dagli ugelli periferici sono mediamente più piccole del volume indicato nelle specifiche, mentre risultano molto più voluminose quelle centrali. Il volume delle gocce centrali si è dimostrato essere, mediamente, poco più del doppio del volume delle gocce stampate ai bordi.

Questo fenomeno rende inutilizzabile la funzionalità implementata che dovrebbe permette di stampare un volume controllato. È sicuramente una questione da sottoporre ad ulteriori studi, soprattutto per verificare se il fenomeno è limitato alla cartuccia utilizzata o è caratteristico della famiglia di dispositivi scelti. Tuttavia il volume indicato come medio nei dati di targa della cartuccia risulta verificato.

Le stampe effettuate con le soluzioni contenenti fattori di crescita hanno dato esiti positivi, poiché, nessuna delle soluzioni testate sembra aver dato problemi di stampabilità. Da un punto di vista della definizione della forma, le gocce mostrano un comportamento uniforme per concentrazioni superiori a 0,05mg/ml. Preliminarmente a questo lavoro, erano state fatte delle prove di stampabilità dei fattori di crescita ed era già stato notato che aumentando la concentrazione della soluzione la stampabilità sembrava aumentare.

Per quanto riguarda le applicazioni future di questo sistema di stampa, c’è da dire che l’implementazione della libreria Arduino utilizzata risulta particolarmente adatta all’utilizzo desiderato. La possibilità di controllare ciascuno degli ugelli singolarmente può essere facilmente sfruttato per stampare immagini in formato di bitmap, come del resto è stato già fatto nel programma sviluppato per il controllo di questa semplice macchina.

Presupponendo che lo spostamento della testina venga delegato ad un controllore diverso dall’Arduino interfacciato alla InkShield, la stampa di un’immagine bitmap potrebbe essere svolta mandando direttamente in stampa byte appositamente costruiti e comunicati all’Arduino tramite interfaccia seriale, in modo simile a quello utilizzato nell’implementazione della funzione void program_mode(){}. Un possibile modo per creare i byte da comunicare all’Arduino potrebbe essere quello descritto nelle prossime righe. Al momento della stampa verranno forniti degli stack di immagini microCT del tessuto da riscostruire. Utilizzando un programma di elaborazione grafica, si potrebbe quindi agire in questo modo:

1) Viene sovrapposta all’immagine una griglia che presenta quadretti di lato 255µm, in modo da sfruttare al massimo la risoluzione della cartuccia che, da specifiche, è di 96DPI. La griglia va posizionata stando attenti a mantenere le giuste proporzioni tra la risoluzione dell’immagine e la dimensione della griglia. In questo modo, l’immagine viene suddivisa in pixel quadrati di dimensione tale da poter essere stampati con fedeltà con il sistema a getto di inchiostro discusso in questa relazione.

2) Viene definito un criterio per associare ad ogni pixel un 1, se si ritiene che tale pixel debba essere stampato, oppure uno 0, se si ritiene che quel pixel debba restare vuoto.

Figura 32: in questo esempio, il pixel viene associato ad 1 se al suo interno la superficie è almeno al 50% di colore chiaro 3) L’immagine viene scorsa nella direzione di stampa (ad esempio da sinistra a destra),

considerando di volta in volta colonne di otto pixel. Con il criterio definito nel punto precedente, viene costruito un byte.

4) La macchina sposta la testina in modo tale che gli ugelli si trovino sopra la zona rappresentata dall’immagine, in corrispondenza del gruppo di otto pixel che in quel momento vengono elaborati. Il byte costruito in precedenza viene quindi inviato ad all’Arduino che controlla la testina e viene stampato.

5) La macchina sposta la testina in modo da posizionarla sulla zona rappresentata dal gruppo di otto pixel successivi e il processo si ripete, fino al completamento di tutta l’immagine.

Per l’immagine presa ad esempio, quello che si otterrà alla fine del processo di stampa sarà una matrice di punti simile a quella in Figura 33.

Figura 33: Matrice di punti associata all'immagine presa d'esempio seguendo l'algoritmo descritto

Questo è il modo più semplice per creare una codifica adatta allo scopo, tuttavia con questo metodo la risoluzione rimane abbastanza bassa e rimane costante lungo y.

Un modo possibile per aumentare la risoluzione potrebbe essere quello di sfruttare la possibilità di muovere gli ugelli anche lungo l’asse y. Ad esempio, dimezzando la dimensione della griglia e portandola ad avere quadretti di 127µm, si potrebbe stampare ad una passata utilizzando una codifica realizzata considerando soli i pixel dispari, per poi spostare la cartuccia di 127µm lungo y e stampare

con la codifica realizzata considerando invece i pixel pari. In questo modo si potrebbe avere una stampa con risoluzione doppia rispetto alla precedente.

Risoluzioni intermedie possono essere ottenute sfruttando la possibilità di attivare gli ugelli singolarmente in modo indipendente, cercando ogni volta di attivare quelli che si trovano ad una distanza multipla di quella legata al DPI scelto e effettuando passaggi intermedi sfruttando lo spostamento lungo y della cartuccia.

Procedendo secondo questi principi e tenendo conto anche della risoluzione disponibile per gli spostamenti è possibile realizzare codifiche e stampare con una risoluzione che può essere scelta a piacimento fino ali limiti fisici del sistema.

BioPrint

Manuale di istruzioni

Introduzione

Questo manuale è volto a esporre le caratteristiche e funzionalità del dispositivo, al fine di permettere un facile utilizzo e comprensione di tutte le voci dell’interfaccia grafica implementata.

Pulsanti e connettori

1. Schermo LCD 2. Tasto SELECT 3. Tasto LEFT 4. Tasto UP 5. Tasto DOWN 6. Tasto RIGHT 7. Tasto RESET 8. Presa USB 9. Interruttore ON/OFF 10. Connettore di alimentazione • Vista frontale

• Vista laterale sinistra

• Vista laterale destra

2 3 4 5 6 7

1

• Vista posteriore

Alimentazione

L’alimentazione deve essere fornita tramite un connettore DC da 5,5mm.

Ø Alimentazione ammissibile: 5,5-40V

Ø Alimentazione consigliata: 9-12V

Menù principale

Il menu principale è articolato in quattro voci, tra le quali è possibili muoversi attraverso i tasti UP, se ci si vuole muovere sulla voce superiore, o DOWN, se invece ci si vuole muovere sulla voce inferiore. Ciascuna voce può essere selezionata attraverso il tasto SELECT.

1. Predefined images: attraverso questo menù è possibile stampare alcune immagini predefinite, le cui caratteristiche, in termini di definizione, dipendono da alcune variabili modificabili attraverso il menù Options.

2. Pattern: selezionando questa voce è possibile stampare un pattern, di dimensione uguale alla corsa massima della cartuccia e con caratteristiche che dipendono da alcune variabili modificabili attraverso il menù Options. Questa voce provoca direttamente l’attivazione di un evento di stampa.

3. Program mode: selezionando questa voce il sistema entra in uno stato di ascolto, ovvero si predispone per riceve comandi attraverso l’interfaccia seriale USB.

4. Options: Attraverso questo sottomenù è possibile modificare alcune variabili che vanno ad agire sulla stampa delle immagini e del pattern.

Sottomenù Options

Attraverso questo sottomenù è possibile modificare alcune variabili che vanno ad agire sulla stampa delle immagini e del pattern. Tramite i tasti UP e DOWN si scorrono le voci del menu, mentre premendo il tasto SELECT si ritorna al menù principale, qualsiasi sia la voce attualmente visualizzata.

Nella prima riga dell’LCD viene sempre visualizzato un messaggio che indica la variabile selezionata, mentre nella seconda riga viene visualizzato il valore della variabile e dei label che indicano l’unità di misura e le operazioni che possono essere effettuate.

Ø Print Array

Qui è possibile modificare l’array di stampa utilizzato durante la stampa del Pattern. Sulla riga inferiore sono mostrati 12 quadretti, per default pieni, che rappresentano i 12 ugelli della testina di stampa. Quando un quadretto è pieno (cioè tutto bianco) l’ugello corrispondente è attivo e durante la stampa del pattern verrà attivato. Quando il quadretto è vuoto (cioè viene mostrata solo la cornice

del riquadro) l’ugello è disattivato e durante la stampa non si attiverà, lasciando una riga vuota nel senso longitudinale del pattern.

Premendo DOWN sotto i quadretti appare un cursore e premendo SELECT l’ugello selezionato può essere attivato o disattivato. Il cursore può essere spostato a desta e a sinistra mediante i tasti LEFT e RIGHT, questa è l’unica condizione in cui premendo il tasto SELECT non si ritorna al menu principale. Premendo ancora DOWN si passa all’opzione successiva, premendo UP si torna alla voce Print Array con la possibilità di tornare al menu principale.

Ø Dpi

Tramite questa voce è possibile impostare il DPI di stampa, per default impostato a 120DPI. L’effetto dei cambiamenti di questa variabile influenza sia la stampa del pattern che delle immagini. Premendo il tasto LEFT è possibile ridurre il DPI, mentre tramite il tasto RIGHT è possibile aumentarlo. Il DPI aumenta o diminuisce di 10 punti alla volta, da un minimo di 10 fino ad un massimo di 300, anche se si consiglia di non superare i 100DPI per avere stampe di qualità. Ø Velocity

Tramite questa voce viene impostata la velocità di stampa, in percentuale dal 10% al 100% di una velocità impostata sul software. L’effetto dei cambiamenti di questa variabile influenza sia la stampa del pattern che delle immagini.

Premendo il tasto LEFT la velocità si riduce del 10%, mentre tramite il tasto RIGHT la velocità aumenta del 10%.

Sottomenù Predefined Images

In questo sottomenù è possibile scegliere delle immagini predefinite da mandare in stampa. Tramite i tasti UP e DOWN è possibile navigare tra le immagini disponibili e selezionarle tramite il tasto SELECT, mentre la selezione della voce “Return” provoca il ritorno al menù principale. Le immagini disponibili sono:

Ø Smile

Viene stampato uno smile.

Ø Letter 'A'

Viene stampata la lettera A maiuscola.

Ø Print 'BOOST'

Viene stampata la parola Boost, in caratteri maiuscoli

Ø Print pl

Questa voce permette di stampare un certo volume di inchiostro o soluzione di stampa. Viene mostrato un messaggio che chiede quanti picolitri si intende stampare. Premendo RIGHT il volume viene aumentato, premendo LEFT diminuito. Il volume aumenta o diminuisce di 160pl alla volta, a partire da un minimo di 160pl. Premendo poi SELECT, il volume viene stampato.

Opzione Program Mode

Selezionando questa opzione viene mostrato un messaggio che indica l’attivazione della modella modalità di comando remoto e un comando back già evidenziato. Premendo il tasto SELECT si esce da questa modalità e si ritorna al menù principale.

interpretabili dalla macchina e l’ordine con cui questi devono essere comunicati.

La macchina accetta in ingresso delle coppie di valori, una di tipo float e una di tipo intero che devono essere comunicate in quest’ordine. La variabile di tipo float, corrisponde alla posizione che la cartuccia deve assumere rispetto al punto iniziale e può assumerne valori compresi tra 0.0 e 17.0. La variabile di tipo intero corrisponde invece alla codifica dell’array di stampa e consiste in un numero a 16bit in cui i 12 bit meno significativi comandano direttamente l’attivazione degli ugelli, mentre gli altri quattro bit devono essere uguali a zero. Se il bit è posto a 1, una volta raggiunta la posizione comunicata tramite la variabile di tipo float, questo stamperà una goccia, altrimenti non si attiverà.

Nel caso in cui i dati comunicati non siano corretti, sia per quanto riguarda il formato che il valore, su seriale viene stampato un messaggio di errore e il dispositivo non esegue nessun comando.

NOTA:

Ogni volta che viene richiesta la stampa, sia che si tratti di un’immagine o di un pattern, il dispositivo richiede una conferma di stampa. Sull’LCD viene mostrato un messaggio con due opzioni, YES o NO, e tramite i tasti LEFT e RIGHT è possibile spostarsi tra di esse. Di default, il cursore si trova su YES e premendo SELECT la stampa viene attivata, mentre se viene premuto NO si ritorna all’opzione precedente corrispondente. Questo avviene anche nel caso la stampa venga confermata, alla fine del processo di stampa che viene segnalato sull’LCD dal messaggio “Printing...”.

NOTA:

Nel caso in cui il dispositivo vada in blocco, è possibile effettuare un reset del sistema premendo il tasto RESET utilizzando una penna o uno strumento appuntito. La macchina si riavvia e le opzioni assumono i valori di default.

Documenti correlati