Sommario:

Halloween Scary Eyes Prop: 8 passaggi
Halloween Scary Eyes Prop: 8 passaggi

Video: Halloween Scary Eyes Prop: 8 passaggi

Video: Halloween Scary Eyes Prop: 8 passaggi
Video: Horror Props with Scary Halloween Decorations and Costume for Haunts 2024, Luglio
Anonim
Occhio spaventoso di Halloween Prop
Occhio spaventoso di Halloween Prop
Occhio spaventoso di Halloween Prop
Occhio spaventoso di Halloween Prop
Occhio spaventoso di Halloween Prop
Occhio spaventoso di Halloween Prop
Occhio spaventoso di Halloween Prop
Occhio spaventoso di Halloween Prop

Nel corso degli anni, nella realizzazione di vari progetti, c'è stato un

un'intera collezione di moduli diversi che erano in giro inutilizzati e volevo usarne almeno alcuni per qualcosa che fosse divertente e creativo allo stesso tempo.

Passando attraverso il "Sito instructables.com" per le idee, mi sono imbattuto in alcuni progetti che pensavo potessero essere mischiati insieme per creare qualcosa per questo "Halloween".

Devo dare credito a Steve Quinn, Unexpected Maker per aver utilizzato le loro idee.

Forniture

ARTICOLI E MODULI UTILIZZATI

Moduli utilizzati

1 Scheda Atmega8 autonoma

Scheda controller basata su 2 PIR per uscita a 5 Volt

3 Scheda amplificatore LM386

4 Modulo lettore MP3 generico

5 moduli LED MAX7219 8x8

6 Modulo PIR (generico)

7 Altoparlante 4” 4 Ohm

Altri materiali

un. Scatola di cartone vuota

B. Bottiglie d'acqua vuote monouso

C. LED che cambia colore 5V

D. Fili Assortiti

e. Pistola a colla

F. Saldatore

G. Strumenti e taglierine vari

h. Trasformatore step-down 12V 1A

Importante

1 Arduion IDE

2 Scheda di programmazione per chip AVR

3 Software di programmazione (masterizzazione)

Passaggio 1: i diversi moduli

I diversi moduli
I diversi moduli
I diversi moduli
I diversi moduli
I diversi moduli
I diversi moduli

Per prima cosa, esamineremo la creazione dei diversi moduli, We

potevo certamente realizzare un solo PCB per tutta l'elettronica e far funzionare bene il progetto ma, per me, l'idea era di utilizzare i diversi elementi che avevo già realizzato in precedenza per diversi progetti e ora che la necessità era finita, ho volevo solo riutilizzare quegli elementi.

La scheda ATmega8

Sto usando il chip ATmega8 senza alcun cristallo esterno. In realtà, queste schede sono state realizzate per eseguire alcuni moduli LED P10 16x32 e ne avevo alcuni rimasti da questo progetto. L'immagine della scheda e del layout del PCB è la seguente (vedi immagini). Ci sono innumerevoli articoli su come creare la tua scheda Arduino su "instructables". Potresti semplicemente usare qualsiasi vecchia scheda Arduino che potresti avere in giro.

Scheda di controllo PIR

Questa scheda PIR è stata creata per accendere e spegnere alcune piccole decorazioni per festival basate su LED e ora era solo in giro e ho deciso di usarla. Il layout del circuito è mostrato nelle immagini

LA Scheda dell'amplificatore LM 386

Questo è il modulo amplificatore che amplifica l'uscita audio dal modulo lettore MP3. il layout e il circuito sono abbastanza semplici e le immagini dicono tutto. il layout del circuito e l'immagine della scheda completata sono autoesplicativi.

Il modulo lettore MP3

Ho usato il modulo lettore MP3 mostrato nell'immagine. È prontamente disponibile su Amazon ecc., È economico e facile da usare. La parte migliore di questo particolare modulo è che non richiede alcun comando aggiuntivo o connessione per iniziare a giocare. Nel momento in cui viene fornita l'alimentazione appropriata alla scheda, questa inizia a fare il suo lavoro.

Moduli LED MAX7219 8x8

Questi moduli display a LED 8x8 sono prontamente disponibili su Amazon, ecc. Vengono fornite le immagini di quelli che ho usato.

Modulo PIR

Ho usato il modulo sensore PIR prontamente disponibile. È disponibile su Amazon ecc., È economico e facile da usare. Le immagini sono fornite per riferimento.

Fase 2: L'Assemblea Parte 1

L'Assemblea Parte 1
L'Assemblea Parte 1

Il concetto era quello di combinare tutti questi moduli e creare un oggetto di Halloween che si attivasse ogni volta che qualcuno attraversava l'oggetto. Per questo, ho collegato l'alimentatore a 12 volt alla scheda di controllo PIR, che a sua volta ha ridotto la tensione a 5 V CC con l'aiuto dell'IC 7805 e questa tensione di 5 V CC è stata trasmessa al sensore PIR e successivamente agli altri moduli, la scheda ATmega8, il modulo amplificatore e il modulo lettore MP3 ogni volta che qualcuno si è avvicinato al sensore PIR. Il diagramma di flusso dice tutto.

Come possiamo vedere, il sensore PIR attiva la scheda ATmega8, il modulo amplificatore e il modulo lettore MP3, l'ATmega8 controlla la matrice di LED "Eyes", il lettore MP3 riproduce gli effetti sonori e il modulo amplificatore invia il segnale all'altoparlante.

Il codice Arduino è un decollo diretto dall'istruzione di Steve Quinn, tranne per il fatto che l'ora è stata modificata nel codice. Il codice utilizzato è riportato di seguito. Si allega anche il file INO.

Il codice

// D10 = Pin CS O/P digitale

// D11 = Pin orologio O/P digitale

// D12 = Pin dati O/P digitale

//

#includere

#includere

const int numDevices = 2; // numero di MAX7219 utilizzati

const int dataPin = 12;

const int clkPin = 11;

const int csPin = 10;

LedControl lc = LedControl(dataPin, clkPin, csPin, numDevices);

// Rilascia questo codice nell'ambiente di sviluppo Arduino

#define LeftEye1 0

#define Occhio Destro1 1

#define LeftEye2 2

#define Occhio Destro2 3

#define LeftEye3 4

#define Occhio Destro3 5

#define LeftEye4 6

#define RightEye4 7

#define LeftEye5 8

#define RightEye5 9

#define LeftEye6 10

#define RightEye6 11

#define LeftEye7 12

#define RightEye7 13

#define LeftEye8 14

#define RightEye8 15

#define LeftEye9 16

#define RightEye9 17

#define LeftEye10 18

#define RightEye10 19

#define LeftEye11 20

#define RightEye11 21

#define LeftEye12 22

#define RightEye12 23

#define LeftEye13 24

#define RightEye13 25

#define LeftEye14 26

#define RightEye14 27

#define LeftEye15 28

#define RightEye15 29

#define LeftEye16 30

#define RightEye16 31

#define LeftEye17 32

#define RightEye17 33

#define LeftEye18 34

#define RightEye18 35

#define LeftEye19 36

#define RightEye19 37

#define LeftEye20 38

#define RightEye20 39

typedef struttura {

const unsigned char array1[8];

}

binaryArrayType;

binaryArrayType binaryArray[40] =

{

{ //OcchioSinistro1, 0

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, { // Occhio Destro1, 1

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, { //OcchioSinistro2, 2

B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000

}, { // Occhio Destro2, 3

B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000

}, { //OcchioSinistro3, 4

B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000

}, { // Occhio Destro3, 5

B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000

}, { // Occhio sinistro4, 6

B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000

}, { // Occhio destro4, 7

B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000

}, { //OcchioSinistro5, 8

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B1000001, B01111100

}, { //Occhiodestro5, 9

B01111100, B1000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, { // Occhio sinistro6, 10

B01111110, B10000001, B10000001, B10011001, B10011001, B1000001, B10000100, B01111000

}, { // Occhio destro6, 11

B01111000, B10000100, B1000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, { //OcchioSinistro7, 12

B01111110, B11000001, B10000001, B10011001, B10011010, B10000100, B10001000, B01110000

}, { // Occhio destro7, 13

B01110000, B10001000, B10000100, B10011010, B10011001, B10000001, B11000001, B01111110

}, { //OcchioSinistro8, 14

B00111110, B01000001, B10000001, B10011001, B10011010, B10000100, B01001000, B00110000

}, { // Occhio destro8, 15

B00110000, B01001000, B10000100, B10011010, B10011001, B10000001, B01000001, B00111110

}, { //OcchioSinistro9, 16

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, { //Occhiodestro9, 17

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, { // Occhio sinistro10, 18

B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110

}, { // Occhio destro10, 19

B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110

}, { //Occhio sinistro11, 20

B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110

}, { // Occhio destro11, 21

B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110

}, { // Occhio Sinistro12, 22

B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110

}, { // Occhio destro12, 23

B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110

}, { // Occhio sinistro13, 24

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110

}, { // Occhio destro13, 25

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110

}, { // Occhio sinistro14, 26

B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000

}, { // Occhio destro14, 27

B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000

}, { // Occhio sinistro15, 28

B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000

}, { // Occhio destro15, 29

B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000

}, { // Occhio sinistro16, 30

B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000

}, { // Occhio destro16, 31

B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000

}, { // Occhio sinistro17, 32

B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00000000

}, { // Occhio destro17, 33

B00000000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000

}, { // Occhio sinistro18, 34

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110

}, { // Occhio destro18, 35

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110

}, { // Occhio sinistro19, 36

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110

}, { // Occhio destro19, 37

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110

}, { // Occhio sinistro20, 38

B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110

}, { // Occhio destro20, 39

B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110

}

};

typedef struttura {

int frameCount; // puntatore indice in binaryArray che significa frame di animazione

int frameDelay; // Ritardo approssimativo in MilliSeconds per mantenere la visualizzazione di questo fotogramma animato

int frameLuminanza; // 0 … 15, L'intensità della matrice led per un dato frame

} frameType;

frameType movie =

{

// Battito di ciglia

{OcchioSinistro1, 1000, 1}, {OcchioSinistro2, 5, 1}, {OcchioSinistro3, 10, 1}, {OcchioSinistro4, 10, 1}, {OcchioSinistro17, 100, 1}, {OcchioSinistro4, 10, 1}, {OcchioSinistro3, 10, 1}, {OcchioSinistro2, 5, 1}, // Di nuovo tutto largo

{Occhio Sinistro1, 1500, 2}, // Cipiglio

{OcchioSinistro5, 5, 3}, {OcchioSinistro6, 5, 4}, {OcchioSinistro7, 5, 5}, {OcchioSinistro8, 1000, 11}, {OcchioSinistro7, 5, 5}, {OcchioSinistro6, 5, 4}, {OcchioSinistro5, 5, 3}

};

void delayMillis(int millisecondi)

{

for (int i = 0; i < millisecondi; i++)

ritardoMicrosecondi(1000);

}

void setup() {

for (int x = 0; x <numDevices; x++) {

lc.shutdown(x, falso); //Il MAX72XX è in modalità di risparmio energetico all'avvio

lc.setIntensity(x, 1); // Imposta la luminosità al valore predefinito

lc.clearDisplay(x); // e cancella il display

}

}

ciclo vuoto() {

lc.setIntensity(0, 3);

lc.setIntensity(1, 3);

mentre (vero) {

for (int a = 0; a < (sizeof(film) / sizeof(frameType)); a++)

{

for (int i = 0; i < 8; i++)

{

lc.setRow(0, i, binaryArray[movie[a].frameCount].array1);

lc.setRow(1, i, binaryArray[movie[a].frameCount + 1].array1);

lc.setIntensity(0, movie[a].frameLuminance);

lc.setIntensity(1, movie[a].frameLuminance);

}

delayMillis(movie[a].frameDelay);

}

}

}

Passaggio 3: assemblaggio parte 2

Assemblea parte 2
Assemblea parte 2

Una volta installato e funzionante l'IDE Arduino, è necessario copiare il codice e compilare/verificare il codice. Quando si compila il codice, il file HEX viene creato nella cartella TEMP del computer. Prima di chiudere l'IDE Arduino, puoi copiare il file HEX dalla cartella temp e questo file è ciò che dobbiamo masterizzare nel chip ATmega8 per farlo funzionare.

Durante la compilazione del codice, ho scelto la scheda come “Arduino NG o Older” e il processore come “ATmega8” e dopo la compilazione ho copiato il file HEX dalla Cartella Temp del computer, prima di chiudere l'IDE di Arduino.

Questo file HEX è stato masterizzato sul chip ATmega8 con un masterizzatore AVR esterno. Ho usato il software "Extreme Burner_AVR" e una scheda AVR Burner per lo scopo. In allegato l'immagine della scheda. Puoi utilizzare qualsiasi software di programmazione AVR con cui sei a tuo agio.

Il motivo per l'utilizzo di un programmatore esterno era che non volevo masterizzare il bootloader sui chip Atmega8 e senza il bootloader, non avrebbero funzionato sulla normale scheda Arduino o con l'IDE Arduion. È abbastanza facile estrarre i file HEX una volta compilato il codice con l'IDE di Arduino ed è quello che ho fatto.

NOTA

È MOLTO IMPORTANTE scegliere le impostazioni corrette del bit del fusibile quando si utilizza un programmatore esterno.

In questo caso, poiché non stiamo utilizzando un cristallo esterno e ci affidiamo all'orologio interno del chip ATmega8, è importante configurare i bit del fusibile di conseguenza. Ho scelto le seguenti impostazioni dei fusibili.

Lfuse- E4

Fusibile - D9

COSA SIGNIFICA

Significa che non stiamo usando cristalli o risonatori esterni

L'orologio è impostato su un orologio interno a 8 mHz

Una volta programmato il chip ATmega8, è arrivato il momento di assemblare il progetto e testarlo.

Passaggio 4: collegare gli occhi

Collegamento degli occhi
Collegamento degli occhi
Collegamento degli occhi
Collegamento degli occhi

La matrice LED MAX7219 8x8 è stata collegata come di seguito.

ATmega8 Board TO MAX7219 Matrix

Pin IO D10 A PIN CS

IO Pin D11 PER CLK PIN

Pin IO D12 A PIN DIN

VCC A VCC

GND A GND

Fare riferimento all'immagine

Passaggio 5: collegamento del sensore e del modulo PIR

Collegamento del sensore PIR e del modulo
Collegamento del sensore PIR e del modulo
Collegamento del sensore PIR e del modulo
Collegamento del sensore PIR e del modulo
Collegamento del sensore PIR e del modulo
Collegamento del sensore PIR e del modulo
Collegamento del sensore PIR e del modulo
Collegamento del sensore PIR e del modulo

Successivamente il sensore PIR è stato collegato al controller PIR

Scheda, i collegamenti sono i seguenti

Scheda controller PIR per sensore PIR

Da VCC a VCC

Da CTRL a CTRL

GND a GND

Fare riferimento al diagramma

Questa è la parte che fa accadere tutto. Il sensore PIR rileva il movimento di qualsiasi creatura a sangue caldo e accende l'alimentazione a tutti i diversi circuiti/moduli. il tempo sul sensore PIR è stato regolato secondo il requisito e in questo caso è di circa 40 - 45 secondi. Invia 5 volt DC a tutti i circuiti ad esso collegati per un periodo di circa 40 -45 secondi.

Passaggio 6: il lettore MP3 e l'amplificatore

Il lettore MP3 e l'amplificatore
Il lettore MP3 e l'amplificatore
Il lettore MP3 e l'amplificatore
Il lettore MP3 e l'amplificatore
Il lettore MP3 e l'amplificatore
Il lettore MP3 e l'amplificatore

AVANTI il modulo lettore MP3 e il modulo amplificatore.

Il lettore MP3 che ho utilizzato non ha bisogno di premere alcun pulsante per accendersi, nel momento in cui gli viene fornita la giusta tensione, inizia automaticamente la riproduzione. Mi serviva solo una traccia, quindi ho trovato la scheda SD con la memoria più bassa che potevo (4 GB perché è quasi impossibile ottenere una scheda con capacità inferiore in questi giorni). I suoni li ho scaricati da internet, infatti c'erano una serie di effetti sonori che sono stati scaricati e sono stati tutti compilati per fare una singola traccia MP3 usando il software di sound editor. Ho usato "Wave Editor" e alla fine ho caricato questa unica traccia sulla scheda SD. La scheda SD è stata montata nel modulo lettore MP3 e l'uscita è stata collegata al modulo amplificatore per ottenere il suono dall'altoparlante.

Fare riferimento all'immagine

Il chip amplificatore LM386 richiede pochissimi componenti esterni e offre un suono abbastanza buono da piccoli altoparlanti. Il circuito è abbastanza facile da assemblare di una perfboard e mi ci sono voluti circa 15-20 minuti per assemblare questo. L'immagine è abbastanza esplicativa.

Fase 7: L'Assemblea Finale

Image
Image
IL CONTENITORE
IL CONTENITORE

Prima di inserire tutto nell'armadio, ho voluto testare tutto e disporre i moduli secondo necessità e realizzare i collegamenti finali. Dopo ero soddisfatto del funzionamento delle parti. Li ho fissati all'interno della custodia in cartone realizzata appositamente.

Allego un video dopo l'assemblaggio finale dell'elica.

Fase 8: LA RECINZIONE

IL CONTENITORE
IL CONTENITORE
IL CONTENITORE
IL CONTENITORE
IL CONTENITORE
IL CONTENITORE

Il recinto

La custodia è stata ricavata da una vecchia scatola di cartone, dipinta di rosso. Il posto per gli occhi e il sensore PIR è stato tagliato usando una lama affilata. Una stampa del teschio è stata incollata sulla scatola e sugli occhi, ecc.ritagliato di conseguenza e il contorno è stato ridisegnato con un pennarello indelebile nero. Ho ricavato i capelli da bottiglie d'acqua scartate, li ho tagliati a strisce sottili e li ho incollati con la colla a caldo sulla testa e sui lati. Ho fissato 2 LED cambia colore sui lati e questi sono stati collegati all'uscita dalla scheda del controller PIR.

Sono stati realizzati dei piccoli fori per l'altoparlante e tutti gli elementi sono stati fissati con l'aiuto di colla a caldo all'interno della scatola. Il cavo di alimentazione è stato estratto dal retro della scatola e questo è tutto.

Spero che ti diverta a realizzare questo oggetto di Halloween per i bambini !!

Presto allegherò la clip audio utilizzata in questo progetto.

Buon Halloween a tutti!!

Consigliato: