Taula de continguts:

Prop de Halloween Scary Eyes: 8 passos
Prop de Halloween Scary Eyes: 8 passos

Vídeo: Prop de Halloween Scary Eyes: 8 passos

Vídeo: Prop de Halloween Scary Eyes: 8 passos
Vídeo: Makaylah Lanvin vs Honey LaBeija (NYC, 2019) 2024, Desembre
Anonim
Prop de ulls de por de Halloween
Prop de ulls de por de Halloween
Prop de ulls de por de Halloween
Prop de ulls de por de Halloween
Prop de ulls de por de Halloween
Prop de ulls de por de Halloween
Prop de ulls de por de Halloween
Prop de ulls de por de Halloween

Al llarg dels anys, en fer diversos projectes, hi va haver un

tota una col·lecció de diferents mòduls que només estaven sense utilitzar i volia utilitzar almenys alguns d’ells per a alguna cosa que fos divertit i creatiu al mateix temps.

En recórrer el "lloc instructables.com" per a les idees, vaig accedir a alguns projectes que pensava que es podrien barrejar per fer alguna cosa per aquest "Halloween".

He de donar crèdit a Steve Quinn, Inesperat Creador per haver utilitzat les seves idees.

Subministraments

ARTICLES I MULDULS UTILITZATS

Mòduls utilitzats

1 Junta independent d'Atmega8

2 taules de control basades en PIR per a sortida de 5 volts

3 Taules amplificadores LM386

4 mòduls de reproductor de MP3 genèric

5 MAX7219 mòduls LED 8x8

Mòdul 6 PIR (genèric)

7 Altaveu de 4”4 Ohm

Altres materials

a. Caixa de cartró buida

b. Ampolles d’aigua d’un sol ús buides

c. LED de canvi de color 5V

d. Filferros variats

e. Pistola de cola

f. Soldador

g. Eines i talladors diversos

h. Transformador de baixada de 12V 1A

Important

1 ID Arduion

2 Taula de programació per a xips AVR

3 Programari de programació (gravació)

Pas 1: els diferents mòduls

Els diferents mòduls
Els diferents mòduls
Els diferents mòduls
Els diferents mòduls
Els diferents mòduls
Els diferents mòduls

En primer lloc, estudiarem la creació dels diferents mòduls, Nosaltres

sens dubte podria fer només un PCB per a tota l’electrònica i que el projecte funcionés bé, però, per a mi, la idea era utilitzar els diferents elements que ja havia fet anteriorment per a diferents projectes i ara que ja n’havia acabat la necessitat, només volia tornar a utilitzar aquests elements.

La junta ATmega8

Estic fent servir el xip ATmega8 sense cap cristall extern. En realitat, aquestes taules estaven fetes per executar alguns mòduls LED P10 16x32 i em van quedar algunes d’aquest projecte. La imatge del tauler i del disseny del PCB és la següent (vegeu les imatges). Hi ha innombrables articles sobre com crear el vostre propi tauler Arduino en "instructibles". Simplement podeu utilitzar qualsevol placa Arduino antiga que pugueu tenir al voltant.

Taula de control PIR

Aquest tauler PIR es va fer per activar i desactivar algunes petites decoracions de festival basades en LED i ara només estava estirat i vaig decidir utilitzar-lo. El disseny del circuit es mostra a les imatges

LA placa amplificador LM 386

Es tracta del mòdul amplificador que amplifica la sortida de so del mòdul del reproductor MP3. el disseny i el circuit són bastant senzills i les imatges ho diuen tot. el disseny del circuit i la imatge del tauler complet s’expliquen per si mateixos.

El mòdul del reproductor de MP3

He utilitzat el mòdul del reproductor MP3 que es mostra a la imatge. Està disponible a Amazon, etc., és econòmic i fàcil d’utilitzar. La millor part d’aquest mòdul en particular és que no necessita cap ordre o connexió addicional per començar a jugar. En el moment que se subministra l’alimentació adequada a la placa, comença a fer la seva feina.

Mòduls LED 8x8 MAX7219

Aquests mòduls de visualització LED de 8 x 8 estan disponibles a Amazon, etc., es proporcionen imatges dels que he fet servir.

Mòdul PIR

He utilitzat el mòdul de sensor PIR fàcilment disponible. Està disponible a Amazon, etc., és barat i fàcil d’utilitzar. Les imatges es proporcionen com a referència.

Pas 2: l'Assemblea primera part

L’assemblea primera part
L’assemblea primera part

El concepte consistia a combinar tots aquests mòduls i fer un puntal de Halloween que s’activés cada vegada que algú creués davant el puntal. Per a això, vaig connectar la font d'alimentació de 12 volts a la placa de control PIR, que al seu torn va reduir la tensió a 5 V CC amb l'ajuda del 7805 IC i aquest voltatge 5 V CC es va transmetre al sensor PIR i a la resta de mòduls., la placa ATmega8, el mòdul amplificador i el mòdul de reproductor de MP3 sempre que algú arribés davant del sensor PIR. El diagrama de flux ho diu tot.

Com podem veure, el sensor PIR activa la placa ATmega8, el mòdul amplificador i el mòdul reproductor MP3, l’ATmega8 controla la matriu LED “Eyes”, el reproductor MP3 reprodueix els efectes de so i el mòdul amplificador envia el senyal a l’altaveu.

El codi Arduino és un allunyament directe de l’instructible de Steve Quinn, excepte que l’hora s’ha modificat al codi. A continuació es dóna el codi utilitzat. També s’adjunta el fitxer INO.

El codi

// D10 = Pin digital O / P CS

// D11 = Pin digital de rellotge O / P

// D12 = Pin de dades digital O / P

//

#incloure

#incloure

const int numDevices = 2; // nombre de MAX7219 utilitzats

const int dataPin = 12;

const int clkPin = 11;

const int csPin = 10;

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

// Introduïu aquest codi a l'entorn de desenvolupament d'Arduino

#define LeftEye1 0

#define RightEye1 1

#define LeftEye2 2

#define RightEye2 3

#define LeftEye3 4

#define RightEye3 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 struct {

const unsigned char array1 [8];

}

binaryArrayType;

binaryArrayType binaryArray [40] =

{

{// Ull esquerre1, 0

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

}, {// RightEye1, 1

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

}, {// LeftEye2, 2

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

}, {// RightEye2, 3

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

}, {// LeftEye3, 4

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

}, {// RightEye3, 5

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

}, {// LeftEye4, 6

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

}, {// RightEye4, 7

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

}, {// LeftEye5, 8

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000010, B01111100

}, {// RightEye5, 9

B01111100, B10000010, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// LeftEye6, 10

B01111110, B10000001, B10000001, B10011001, B10011001, B10000010, B10000100, B01111000

}, {// RightEye6, 11

B01111000, B10000100, B10000010, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// LeftEye7, 12

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

}, {// RightEye7, 13

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

}, {// LeftEye8, 14

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

}, {// RightEye8, 15

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

}, {// LeftEye9, 16

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

}, {// RightEye9, 17

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

}, {// LeftEye10, 18

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

}, {// RightEye10, 19

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

}, {// LeftEye11, 20

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

}, {// RightEye11, 21

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

}, {// LeftEye12, 22

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

}, {// RightEye12, 23

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

}, {// LeftEye13, 24

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

}, {// RightEye13, 25

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

}, {// LeftEye14, 26

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

}, {// RightEye14, 27

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

}, {// LeftEye15, 28

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

}, {// RightEye15, 29

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

}, {// LeftEye16, 30

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

}, {// RightEye16, 31

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

}, {// LeftEye17, 32

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

}, {// RightEye17, 33

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

}, {// LeftEye18, 34 anys

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

}, {// RightEye18, 35

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

}, {// LeftEye19, 36

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

}, {// RightEye19, 37

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

}, {// LeftEye20, 38

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

}, {// RightEye20, 39

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

}

};

typedef struct {

int FrameCount; // indexa el punter en un marc d’animació que significa binaryArray

int frameDelay; // Retard aproximat en mil·lisegons per mantenir visualitzat aquest marc animat

int frameLuminance; // 0 … 15, la intensitat de la matriu de leds per a un marc determinat

} frameType;

pel·lícula frameType =

{

// Parpellejar

{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {LeftEye2, 5, 1}, // Completament de nou

{LeftEye1, 1500, 2}, // Arrufar el front

{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}

};

void delayMillis (mil·lisegons int)

{

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

delayMicroseconds (1000);

}

configuració nul·la () {

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

lc.shutdown (x, false); // El MAX72XX està en mode d'estalvi d'energia en iniciar-se

lc.setIntensity (x, 1); // Estableix la brillantor al valor per defecte

lc.clearDisplay (x); // i esborreu la pantalla

}

}

bucle buit () {

lc.setIntensity (0, 3);

lc.setIntensity (1, 3);

mentre que (cert) {

per a (int a = 0; a <(sizeof (movie) / sizeof (frameType)); a ++)

{

per a (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, pel·lícula [a].frameLuminance);

}

delayMillis (pel·lícula [a].frameDelay);

}

}

}

Pas 3: Muntatge 2a part

Muntatge 2a part
Muntatge 2a part

Un cop tingueu en marxa l'IDE Arduino, heu de copiar el codi i compilar-lo / verificar-lo. Quan compileu el codi, el fitxer HEX es crea a la carpeta TEMP de l'ordinador. Abans de tancar l’IDE Arduino, podeu copiar el fitxer HEX de la carpeta temporal i aquest fitxer és el que hem de gravar al xip ATmega8 perquè funcioni.

Mentre compilava el codi, he triat la placa com a “Arduino NG o Older” i el processador com a “ATmega8” i després de compilar-lo, he copiat el fitxer HEX de la carpeta Temp de l’ordinador, abans de tancar l’IDE Arduino.

Aquest fitxer HEX es va gravar al xip ATmega8 amb un gravador AVR extern. Vaig fer servir el programari "Extreme Burner_AVR" i una placa de gravació AVR. S'adjunta la imatge del tauler. Podeu utilitzar qualsevol programari de programació AVR que us agradi.

La raó per utilitzar un programador extern era que no volia gravar el carregador d’arrencada als xips Atmega8 i, sense el carregador d’arrencada, no funcionarien a la placa Arduino normal ni amb l’IDE Arduion. És bastant fàcil extreure els fitxers HEX una vegada que compileu el codi amb l'IDE Arduino i això és el que he fet.

NOTA

ÉS MOLT IMPORTANT triar la configuració correcta del bit de fusible mentre s’utilitza un programador extern.

En aquest cas, atès que no utilitzem un cristall extern i confiem en el rellotge intern del xip ATmega8, és important configurar els bits de fusible en conseqüència. He triat la configuració del fusible següent.

Lfuse- E4

Hfuse - D9

QUÈ SIGNIFICA AIX.

Vol dir que no estem utilitzant cristalls externs o ressonadors

El rellotge està configurat com a rellotge intern de 8 MHz

Un cop programat el xip ATmega8, era el moment de muntar el projecte i provar-lo.

Pas 4: Connectar els ulls

Connectant ELS ULLS
Connectant ELS ULLS
Connectant ELS ULLS
Connectant ELS ULLS

El MAX7219 8x8 LED Matrix es va connectar de la manera següent.

Taula ATmega8 a la matriu MAX7219

Pin IO D10 A PIN CS

Pin IO D11 A PIN CLK

Pin IO D12 A PIN DIN

VCC A VCC

GND A GND

Consulteu la imatge

Pas 5: Connectar el mòdul i el sensor PIR

Connexió del mòdul i del sensor PIR
Connexió del mòdul i del sensor PIR
Connexió del mòdul i del sensor PIR
Connexió del mòdul i del sensor PIR
Connexió del mòdul i del sensor PIR
Connexió del mòdul i del sensor PIR
Connexió del mòdul i del sensor PIR
Connexió del mòdul i del sensor PIR

A continuació, el sensor PIR es va connectar al controlador PIR

Junta, les connexions són les següents

Placa de control PIR al sensor PIR

VCC a VCC

CTRL a CTRL

GND a GND

Consulteu el diagrama

Aquesta és la part que fa que tot passi. El sensor PIR capta el moviment de qualsevol criatura de sang calenta i engega la font d'alimentació a tots els diferents circuits / mòduls. el temps del sensor PIR s'ha ajustat segons el requisit i en aquest cas és d'aproximadament 40 - 45 segons. Envia 5 volts de CC a tots els circuits que s’hi connecten durant un període d’uns 40 -45 segons.

Pas 6: el reproductor MP3 i l'amplificador

El reproductor MP3 i l'amplificador
El reproductor MP3 i l'amplificador
El reproductor MP3 i l'amplificador
El reproductor MP3 i l'amplificador
El reproductor MP3 i l'amplificador
El reproductor MP3 i l'amplificador

SEGUEIX el mòdul del reproductor MP3 i el mòdul amplificador.

El reproductor MP3 que he fet servir no necessita prémer cap botó per engegar-lo, en el moment que se li subministra el voltatge adequat, comença a reproduir-se automàticament. Només necessitava una pista, de manera que vaig trobar la targeta SD amb la memòria més baixa que vaig poder (4 GB perquè és gairebé impossible obtenir cap targeta amb menys capacitat en aquests dies). Els sons que vaig descarregar d’Internet, de fet, hi havia una sèrie d’efectes de so que es van descarregar i tots es van compilar per crear una sola pista MP3 mitjançant el programari d’edició de so. Vaig utilitzar "Wave Editor" i finalment vaig carregar aquesta única pista a la targeta SD. La targeta SD es va muntar al mòdul del reproductor MP3 i la sortida es va connectar al mòdul amplificador per obtenir el so de l’altaveu.

Consulteu la imatge

El xip amplificador LM386 requereix molt pocs components externs i proporciona un so bastant bo dels altaveus petits. El circuit és bastant fàcil de muntar amb un perfboard i vaig trigar uns 15-20 minuts a muntar-lo. La imatge s’explica per si mateixa.

Pas 7: l'Assemblea final

Image
Image
EL TANCAMENT
EL TANCAMENT

Abans de col·locar-ho tot al recinte, volia provar-ho tot, disposar els mòduls segons les necessitats i fer les connexions finals. Després vaig quedar satisfet amb el treball de les peces. Els vaig arreglar a l’interior del recinte de la targeta de targetes fet a l’efecte.

Us adjunto un vídeo després del muntatge final de l’atrezzo.

Pas 8: EL TANCAMENT

EL TANCAMENT
EL TANCAMENT
EL TANCAMENT
EL TANCAMENT
EL TANCAMENT
EL TANCAMENT

El recinte

El recinte estava fet d’una antiga caixa de cartró, pintada de vermell. El lloc per als ulls i el sensor PIR es va retallar mitjançant una fulla afilada. Es va enganxar una impressió del crani a la caixa i als ulls, etc.retallat en conseqüència i es va tornar a dibuixar l'esquema amb un retolador permanent negre. Vaig fer el cabell amb ampolles d’aigua rebutjades, les vaig tallar en tires fines i les vaig enganxar amb la cola Hot Melt al cap i als costats. Vaig fixar 2 LEDs de canvi de color als laterals i es connectaven a la sortida de la placa de control PIR.

Es van fer petits forats per a l’altaveu i es van arreglar tots els articles amb l’ajut de Hot Melt Glue a la part interior de la caixa. El cable d’alimentació es va treure de la part posterior de la caixa i això és tot.

Espero que us agradi fer aquesta proposta de Halloween per als nens !!

Aviat adjuntaré el clip d’àudio utilitzat en aquest projecte.

Feliç Halloween a Tothom !!

Recomanat: