Sommario:

Progetto finale di tecnologia indossabile - Casco DJ: 6 passaggi
Progetto finale di tecnologia indossabile - Casco DJ: 6 passaggi

Video: Progetto finale di tecnologia indossabile - Casco DJ: 6 passaggi

Video: Progetto finale di tecnologia indossabile - Casco DJ: 6 passaggi
Video: QUESTO GADGET PER IPHONE È UNA FIGATA 2024, Dicembre
Anonim
Progetto finale di tecnologia indossabile - DJ Helmet
Progetto finale di tecnologia indossabile - DJ Helmet

L'obiettivo di questo progetto è realizzare un casco DJ con LED reattivi alla musica per spettacolo e fattore wow. Utilizziamo una striscia LED indirizzabile di Amazon.com, oltre a un casco da motociclista, un Arduino uno e un cavo.

Forniture

I materiali includono:

  • Striscia LED indirizzabile
  • Casco per moto
  • Arduino Uno
  • Fili e saldatore

Passaggio 1: far reagire i LED al suono

Per il primo passaggio testeremo la striscia LED per reagire al suono, utilizziamo la scheda audio di Sparkfun e la colleghiamo ad Arduino utilizzando una breadboard e un filo. Testando con il software Arduino, otteniamo due letture che possiamo usare. L'ampiezza del suono proveniente dalla porta "Envelope" e la lettura binaria 1/0 dalla porta "gate". Usa queste variabili per mappare la striscia led indirizzabile, quindi "gate" è a uno, i LED visualizzano un certo colore, quando l'Inviluppo è al di sopra di un certo livello, visualizza un certo colore. Verrà fornito il codice completo.

Passaggio 2: tagliare e saldare i LED per modellare sul casco

Taglia e salda i LED per modellare sul casco
Taglia e salda i LED per modellare sul casco
Taglia e salda i LED per modellare sul casco
Taglia e salda i LED per modellare sul casco
Taglia e salda i LED per modellare sul casco
Taglia e salda i LED per modellare sul casco

Nel mio progetto ho deciso di aggiungere i LED al casco a forma di X con triangoli extra all'esterno, ho intenzione di far funzionare quel design meglio con il modo in cui suona la musica. Quindi questo passaggio consiste nel tagliare le strisce LED alle lunghezze desiderate e saldarle insieme sui segni di taglio per creare angoli. Ho dovuto farlo circa 10 volte ed è molto dispendioso in termini di tempo, soprattutto quando si tratta di fili piccoli. Questo è il progresso in questo passaggio

Passaggio 3: cablare e testare i LED sul casco

Cablare e testare i LED sul casco
Cablare e testare i LED sul casco
Cablare e testare i LED sul casco
Cablare e testare i LED sul casco

In questo passaggio ho cablato e testato i LED all'arduino, alla scheda audio e ai LED di taglio per assicurarmi che i tagli e le saldature funzionassero correttamente

Passaggio 4: elettronica gratuita da breadboard

Elettronica gratuita da breadboard
Elettronica gratuita da breadboard
Elettronica gratuita da breadboard
Elettronica gratuita da breadboard
Elettronica gratuita da breadboard
Elettronica gratuita da breadboard

In questo passaggio mi sono concentrato sull'eliminazione di tutta l'elettronica dalla breadboard. Ho saldato tutti i fili che dovevano essere saldati e ho esteso i fili del casco per essere lunghi in modo da poter indossare il casco collegato all'Arduino. La cosa più importante che non riuscivo a capire era l'alimentazione esterna, ho provato batterie in diverse configurazioni ma niente mi avrebbe dato il risultato di cui avevo bisogno, alcune facevano impazzire le luci e altre le facevano avere colori diversi. Sfortunatamente questo potrebbe essere dovuto alla mia conoscenza dei circuiti, ma ho scelto di mantenere l'alimentazione all'Arduino proveniente dalla scheda del pc. La scheda audio è alimentata da un pacco batteria e funziona bene

Passaggio 5: configurazione finale

Configurazione finale
Configurazione finale

per questo passaggio finale, ho letto i valori provenienti dalla scheda audio e modificato il codice in modo che corrisponda ai nuovi valori che hanno cambiato uno tutto è stato rimosso dalla breadboard. Ho incollato le strisce LED al casco dove prima erano state fissate con del nastro adesivo e infine ho riprovato.

Passaggio 6: codice (Arduino)

// NeoPixel Ring semplice schizzo (c) 2013 Shae Erisson

// Rilasciato sotto licenza GPLv3 per abbinare il resto del

// Libreria Adafruit NeoPixel

#includere

#ifdef _AVR_ #include // Richiesto per Adafruit Trinket a 16 MHz #endif

// Quale pin dell'Arduino è connesso ai NeoPixel?

#define PIN 3 // Su Trinket o Gemma, suggerisci di cambiarlo in 1

// Quanti NeoPixel sono collegati ad Arduino?

#define NUMPIXELS 166 // Dimensione dell'anello NeoPixel popolare

Adafruit_NeoPixel pixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 // Tempo (in millisecondi) di pausa tra i pixel

void setup() {

#se definito(_AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set(clock_div_1); #endif // FINE del codice specifico di Trinket.

pixel.begin(); // INIZIALIZZA oggetto striscia NeoPixel (OBBLIGATORIO)

Serial.begin(9600); }

ciclo vuoto() {

int sensorValue = analogRead(A1);

int sensorValue2 = digitalRead(7); Serial.println(sensorValue); //ritardo(5); //pixel.clear(); // Imposta tutti i colori dei pixel su 'off'

if (sensorValue2 == 1){

for(int i=0; i<28; i++) { pixels.setPixelColor(i, 15, 0, 50);

}

for(int i=48; i<81; i++) { pixels.setPixelColor(i, 15, 0, 50);

}

for(int i=102; i<129; i++) { pixels.setPixelColor(i, 15, 0, 50);

}

for(int i=148; i<166; i++) { pixels.setPixelColor(i, 15, 0, 50); } } /////////////////////////// else{ for(int i=0; i<28; i++) { pixels.setPixelColor(io, 0, 0, 0);

}

for(int i=48; i<81; i++) { pixels.setPixelColor(i, 0, 0, 0);

}

for(int i=102; i<129; i++) { pixels.setPixelColor(i, 0, 0, 0);

}

for(int i=148; i<166; i++) { pixels.setPixelColor(i, 0, 0, 0); } } /////////////////////////// if (sensorValue == 3 || sensorValue == 2){ for(int i=29; i<47; i++) { pixels.setPixelColor(i, 255, 0, 0);

}

for(int i=82; i<101; i++) { pixels.setPixelColor(i, 255, 0, 0);

}

for(int i=130; i<148; i++) { pixels.setPixelColor(i, 255, 0, 0);

} pixel.mostra(); } if (sensorValue > 3){ for(int i=29; i<47; i++) { pixels.setPixelColor(i, 0, 155, 155);

}

for(int i=82; i<101; i++) { pixels.setPixelColor(i, 0, 155, 155);

}

for(int i=130; i<148; i++) { pixels.setPixelColor(i, 0, 155, 155);

}

pixel.mostra(); } else{ for(int i=29; i<47; i++) { pixels.setPixelColor(i, 0, 0, 0);

}

for(int i=82; i<101; i++) { pixels.setPixelColor(i, 0, 0, 0);

}

for(int i=130; i<148; i++) { pixels.setPixelColor(i, 0, 0, 0);} pixel.mostra(); } }

Consigliato: