Infinity Mirror-Vu Meter

Il progetto svolto unisce l’effetto generato da un infinity mirror (attraverso il quale è possibile ottenere un’immagine ripetuta continuamente tramite degli specchi) a quello di un vu meter.
Il primo passaggio del progetto è stato la ricerca di informazioni (codici per arduino, materiale necessario, eventuali progetti simili, ecc…) per poi successivamente passare a una lavorazione dell’hardware.
Nel progetto finale sono presenti:

-Shield RGB che permette di gestire i led (red -green – blue)
-Spectrum shield necessaria per poter analizzare e suddividere la frequenza audio dei suoni/canzoni utilizzati come input..
La realizzazione dei filtri passa alto/basso/banda è stata un primo tentativo, ma nonostante le formule applicate e ricontrollate non risultavano performanti a dovere, optando dunque per una shield apposita, i filtri sono stati controllati attraverso PCSU200 un oscilloscopio per pc, con la quale è stato possibile compiere dei test.
Dopo aver dissaldato i cavi per la gestione dei led dal “Led tunnel lamp”, prodotto da cui sono stati utilizzati led e infinity mirror.
Dissaldando i vari fili del prodotto e saldandoli alla nostra scheda è stato possibile accedere alla gestione dei led, facendo in modo che essi funzionassero a ritmo di musica.

Il codice è il seguente:

//Specifica i pin Reset, Strobe
int spectrumReset=7;
int spectrumStrobe=4;

//Specifico il canale di ingresso
//pin A0 per canale destro
//pin A1 per canale sinistro
int spectrumAnalog = 1; //canale sinistro

//creo un vettore per contenere i valori analogici
//delle 7 bande
int Spectrum[7];

void setup()
{
//pin reset e strobe in output
pinMode(spectrumReset, OUTPUT);
pinMode(spectrumStrobe, OUTPUT);

//inizializzo lo spectrum shield
//Strobe
digitalWrite(spectrumStrobe,HIGH);
delay(1);
digitalWrite(spectrumStrobe,LOW);
delay(1);

pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);

}

void loop()
{
//esegui la lettura ogni 10mS
readSpectrum();
/*analogWrite(3, Spectrum[1]);
analogWrite(5, Spectrum[2]);
analogWrite(6, Spectrum[0]);*/
//delay(10);

}

void readSpectrum()
{
//Questa funzione legge il valore analogico per ogni banda
//e ne rappresenta il valore tramite dei led

byte Band;
//questo ciclo for viene eseguito 7 volte
for(Band = 0; Band < 7; Band++)
{
//eseguo due letture per poi dividerle per due tramite
//spostamento di bit. Il valore ottenuto viene memorizzato
//nel vettore
Spectrum[Band] = (analogRead(spectrumAnalog) + analogRead(spectrumAnalog) ) >>1;

//invio un impulso al pin strobe per passare al filtro successivo
digitalWrite(spectrumStrobe,HIGH);
digitalWrite(spectrumStrobe,LOW);
}

//una volta effettuata la memorizzazione dei dati
//nel vettore, creo un altro ciclo for
//per rappresentare gli stessi tramite led

for (byte Ciclo = 1; Ciclo < 5; Ciclo++)
{

if(Ciclo==2) //per fare in modo da saltare il pin 4, e passare al pin 5
Ciclo=Ciclo+1;
//recupero il valore memorizzato nel vettore
//traslo il valore intero in un byte
byte x = map(Spectrum[Ciclo], 0, 1023, 0, 255);
int R,G,B;
R=map(Spectrum[6],0,1023,0,254);
G=map(Spectrum[3],0,1023,0,254);
B=map(Spectrum[1],0,1023,0,254);
//se il valore supera una soglia accendi il led
//altrimenti spegnilo
if( x > 120 )
{
if(Ciclo+2==5)
{
analogWrite(Ciclo+2,G);
delay(10); //delay necessario per far funzionare i led a dovere
}
if(Ciclo+2==3)
{
analogWrite(Ciclo+2,R);
delay(10);  //delay necessario per far funzionare i led a dovere
}
if(Ciclo+2==6)
{
analogWrite(Ciclo+2,B);
delay(10); //delay necessario per far funzionare i led a dovere
}

}
else
digitalWrite(Ciclo + 2, LOW);
}
}

 

Infinity mirror - vu meter

Infinity mirror – vu meter

Infinity mirror - vu meter // shield

Infinity mirror – vu meter // shield RGB e spectrum con arduino

Infinity mirror - vu meter

Infinity mirror – vu meter

Infinity mirror - vu meter

Infinity mirror – vu meter // spectrum shield

Infinity mirror - vu meter

Infinity mirror – vu meter // shield RGB

Filtri: -passa alto -passa banda -passa basso

Filtri:
-passa alto
-passa banda
-passa basso

-Stefano Carraro

Quarto Giorno Di Stage

Seguendo le indicazioni di Alessandro abbiamo svolto i seguenti compiti:
Abbiamo preso in esame un pacco contenente componenti difettosi, testandoli e sostituendoli nel caso non funzionassero o in caso contrario segnalando al cliente il funzionamento dell’oggetto.
Successivamente abbiamo assemblato 100 kit per stampanti 3d, con dentro il materiale necessario.
Abbiamo portato avanti il test sulla centrale metereologica, ma non sono ancora stati individuati i problemi di quest’ultima
Nel pomeriggio abbiamo riparato una stampante 3d inviata da un cliente, correggendo la posizione di alcuni pezzi essa è tornata a funzionare senza mostrare alcun problema di stampa.
In fine abbiamo Inserito dei libretti di istruzioni all’interno delle rispettive scatole successivamente riposte in magazzino.

Terzo Giorno Di Stage

Siamo stati seguiti da Alessandro, che ci ha spiegato come compilare i moduli e le email per i clienti inerenti ai prodotti non funzionanti.
Abbiamo iniziato a esaminare scatola per scatola, in alcuni casi riscontrando i problemi segnalati dall’utente, in altri invece il prodotto funzionava perfettamente.
Tra questi è stata presa in esame una centrale meteorologica, di cui il problema non è ancora stato individuato e verranno effetuati altri test nei giorni seguenti.
E per ultimo abbiamo registrato i prodotti guasti in un apposito programma risistemandoli e dividendoli come stabilito, inserendoli nei corretti scaffali.

Giorni precedenti allo stage

Ci presentiamo,

Siamo Samuele e Stefano , veniamo dall’istituto I.S.I.S Cipriano Facchinetti e frequentiamo il terzo anno di studi con indirizzo informatica.

Nei due giorni precedenti allo stage siamo stati invitati a partecipare a un corso base di elettronica e arduino. Ci sono stati forniti i kit necessari per seguire i corsi, essi comprendevano:

– Un multimetro digitale                                                                                                             – Una breadboard                                                                                                                     – Resistenze di vario valore                                                                                                     – Led Rosso, verde, RGB                                                                                                        – Cavi per breadboard                                                                                                             – Arduino UNO R3 -Potenziometri                                                                                           – Servo Motore                                                                                                                         – Mosfet                                                                                                                                    – Buzzer

Grazie a questi due corsi abbiamo potuto assimilare tutte quelle nozioni di base che ci serviranno per affrontare al meglio lo stage. Alla fine di essi ci sono stati rilasciati due attestati di partecipazione.

ultimo giorno dello stage estivo

Oggi è il mio ultimo giorno di stage… mi sto dedicando alla revisione del firmware del robot “ardusumo“, da noi costruito durante il precedente periodo di stage, per adattarlo ad alcune modifiche fatte all’Hardware.

[ad]

Intanto ne approfitto per ringraziare tutti della fantastica esperienza che mi hanno consentito di fare dai miei professori a tutti i membri della Futura Elettronica. Ora ho un po di vacanze ma spero di poter fare un esperienza come questa anche il prossimo anno… alla prossima 😀

[ad]

Venerdì 13/07

Nella giornata di oggi ho fatto principalmente 2 cose:

Studiare la possibilità di inserire un terzo estrusore nella scheda RAMPS rivelatasi positiva per il fatto che, facendo le opportune modifiche (se necessarie) al firmware per far combaciare i pin, ci sono molti pin analogici e digitali liberi che consentono, appunto, di montare un terzo Estrusore.

Pin della scheda RAMPS

[ad]

La seconda cosa a cui mi sono dedicato è stato, nel pomeriggio, aiutare con lo smontaggio e rimontaggio di alcune parti che sono state modificate nella stampante 3D che, ora, dovrebbe rivelarsi più stabile.

[ad]

Per oggi è tutto… alla prossima!

Miglior Firmware per Stampante 3D

Oggi mi sono dedicato alla raccolta di informazioni su diversi Firmware per stampanti 3D che montano una scheda “Sanguinololu“. Alla fine ho raccolto tutte le informazioni necessarie ed il File è ora liberamente scaricabile a QUESTO link.

[ad]

La tabella è anche riportata qui sotto:

Miglior Firmware per Stampante 3D con scheda “Sanguinololu”
Sanguinololu                                                          Ultimo Relase
|
|
|_Sprinter                                                              Febbraio 2012
|              |
|              |_Marlin                                                   Marzo 2012
|
|_TeaCup                                                              Maggio 2012
|
|_Sjfw                                                                    Agosto 2011
|
|_Repetier-Firmware                                             Novembre 2011

Features

Sprinter:
-Possibilità di leggere carte SD
-Estrusore a Step
-Controllo sulla velocità dell’Estrusore Controllo sulla velocità di movimento Accelerazione -Costante oppure esponenziale basi di costruzione riscaldabili

Marlin:
-Mantiene la velocità più alta possibile Alto rateo di Step dell’estrusore Protezione sull’aumento eccessivo di temperatura supporto di finecorsa
-Possibilità di leggere carte SD
-Supporto per lettore carte SD
-Supporto per schermo LCD
-Sistema di menù LCD per stampe senza computer da SD Impostazioni salvate in  EEPROM
-Campionamento della temperatura
-Punto di temperatura massima dinamico                                                         -Segnalazione all’host della fine del lavoro Librerie SD aggiornate                                          -Controllo della temperatura

TeaCup:
-Performance migliori date da 3 fattori: Scritto in C invece che in C++
1_Usa solo integrali matematici
2_minimizza i lungi interrupts matematici Estrusore a Step
3_Controllo sulla velocità dell’Estrusore Controllo sulla velocità di movimento -Accelerazione in stile RepRap
-termocoppia
-basi di costruzione riscaldabili supporta un numero illimitato di estrusori

Sjfw:
-Alta velocità di trasmissione del gCode senza ritardo                                                           -Supporta panello di controllo LCD/Keypaad, può stampare senza Host Accelerazione
-Supporta carte SD
-Configurazione completa sul runtime

Repetier-Firmware:
-Supporta accelerazione tipo RAMP Pianificazione tracciato per stampe ad alta velocità     -Sistema di prevenzione per colate veloci Traiettoria levigata per le linee Controllo della pressione dell’ugello per una migliore qualità con il RAMP Velocità di 16000Hz o più
-Supportà più estrusori
-Trova automaticamente il protocollo di comando consentendogli di lavorare con qualunque Host
-Monitoraggio continuo della temperatura                                                                                -I parametri importanti sono conservati nell’EEPROM e possono essere modificati senza ricompilare il Firmware                                                                                                            -Il controllo degli step è mantenuto da una routine di interrupt, lasciando il tempo di riempire la cache per il movimento successivo                                                                      -Controllo PID per la temperatura dell’estrusore Interruzioni all’invio dei Buffer                     -Le stampe richiedono un basso consumo di RAM Supporto per SD
-Funziona con Skeinforge 41
-Ha la possibilità di eseguire il gCode senza estrudere permettendo di eseguire test sui malfunzionamenti non dovuti all’estrusione.

[ad]

Eccoci di Nuovo qui…

Di nuovo in pista qui alla Futura Elettronica ma, questa volta, sono senza compagni di scuola.

Arrivato già da lunedì, in questi tre giorni mi sono dedicato principalmente allo studio di un paio di Firmware per le stampanti 3D (ce ne sono molti altri visualizzabili in QUESTO elenco):

[ad]

Ho inoltre costruito (con l’aiuto di Boris) un driver MOFSET per abilitare l’utilizzo delle ventole di raffreddamento direttamente dalla scheda Sanguinololuche controlla la stampante 3D tramite software (in azienda si usa Repetier-Host) anche se, al momento, non funziona correttamente…

Il mio compito al momento è quello di stilare una lista dei Firmware disponibili e, per ciascuno, indicarne vantaggi e svantaggi e, a quanto si vede dalla lista, me ne mancano ancora un po ma ce la farò!

[ad]