Cuprins:

Halloween Scary Eyes Prop: 8 pași
Halloween Scary Eyes Prop: 8 pași

Video: Halloween Scary Eyes Prop: 8 pași

Video: Halloween Scary Eyes Prop: 8 pași
Video: SCARY Transworld Halloween Props, Animatronics and Scares 2024, Iulie
Anonim
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop

De-a lungul anilor, în realizarea diferitelor proiecte, a existat un

o întreagă colecție de module diferite care erau doar nefolosite și am vrut să le folosesc cel puțin pe unele pentru ceva care să fie distractiv și creativ în același timp.

Parcurgând „site-ul instructables.com” pentru Idei, am întâmplat câteva proiecte care am crezut că ar putea fi amestecate pentru a face ceva pentru acest „Halloween”.

Trebuie să-i acord credit lui Steve Quinn, Unexpected Maker pentru că și-a folosit ideile.

Provizii

ARTICOLE ȘI MODULURI UTILIZATE

Module utilizate

1 Stand singur Atmega8 Board

2 plăci de control pe bază de PIR pentru ieșire de 5 volți

3 placă amplificator LM386

4 Modul MP3 Player generic

5 MAX7219 Module LED 8x8

Modul 6 PIR (generic)

7 Difuzor de 4”4 Ohm

Alte materiale

A. Cutie de carton goală

b. Sticle de apă goale de unică folosință

c. LED schimbător de culoare 5V

d. Firuri asortate

e. Pistol de lipit

f. Ciocan de lipit

g. Unelte și tăietoare diverse

h. 12V 1A transformator descendent

Important

1 ID Arduion

2 Placă de programare pentru jetoane AVR

3 Software de programare (ardere)

Pasul 1: Diferitele module

Diferitele module
Diferitele module
Diferitele module
Diferitele module
Diferitele module
Diferitele module

În primul rând, vom analiza realizarea diferitelor module, Noi

ar putea face cu siguranță doar un singur PCB pentru toate componentele electronice și să aibă proiectul să funcționeze foarte bine, dar, pentru mine, ideea a fost să folosesc diferitele elemente pe care le-am făcut deja mai devreme pentru diferite proiecte și acum că nevoia lor sa terminat, am am vrut doar să refolosesc acele articole.

Consiliul ATmega8

Folosesc cipul ATmega8 fără cristal extern. De fapt, aceste plăci au fost făcute să ruleze niște module LED P10 16x32 și am mai rămas câteva din acest proiect. Imaginea plăcii și a aspectului PCB este după cum urmează (a se vedea imaginile). Există nenumărate articole despre crearea propriului tău forum Arduino pe „instructabile”. Puteți pur și simplu să utilizați orice placă Arduino veche pe care s-ar putea să o aveți.

Placă de control PIR

Această placă PIR a fost făcută să pornească și să oprească niște mici decorațiuni de festival bazate pe LED-uri și acum tocmai zăcea și am decis să o folosesc. Aspectul circuitului este prezentat în imagini

Placa amplificatorului LM 386

Acesta este modulul amplificator care amplifică ieșirea sunetului din modulul MP3 Player. aspectul și circuitul sunt destul de simple, iar imaginile spun totul. aspectul circuitului și imaginea plăcii completate se explică de la sine.

Modulul MP3 Player

Am folosit modulul MP3 Player prezentat în imagine. Este ușor disponibil pe Amazon etc., este ieftin și ușor de utilizat. Cea mai bună parte a acestui modul special este că nu necesită nicio comandă sau conexiune suplimentară pentru a începe redarea. În momentul în care alimentarea corespunzătoare este furnizată plăcii, începe să-și facă treaba.

MAX7219 Module LED 8x8

Aceste module de afișare LED 8x8 sunt disponibile pe Amazon etc. sunt furnizate imagini cu cele pe care le-am folosit.

Modulul PIR

Am folosit modulul senzor PIR disponibil. Este disponibil pe Amazon etc., este ieftin și ușor de utilizat. Pozele sunt furnizate pentru referință.

Pasul 2: Asamblarea Partea 1

Adunarea Partea 1
Adunarea Partea 1

Conceptul a fost de a combina toate aceste module și de a crea o Propoziție de Halloween care să fie activată ori de câte ori cineva traversează în fața propsului. Pentru aceasta, am conectat sursa de alimentare de 12 volți la placa de control PIR, care, la rândul său, a redus tensiunea la 5V DC cu ajutorul 7805 IC și această tensiune 5V DC a fost transmisă senzorului PIR și mai departe la celelalte module, placa ATmega8, modulul amplificator și modulul MP3 Player ori de câte ori cineva a venit în fața senzorului PIR. Diagrama de flux spune totul.

După cum putem vedea, senzorul PIR declanșează placa ATmega8, modulul amplificatorului și modulul MP3 Player, ATmega8 controlează matricea LED „Eyes”, playerul MP3 redă efectele sonore și modulul amplificator trimite semnalul către difuzor.

Codul Arduino este o oprire directă a instrucțiunii lui Steve Quinn, cu excepția faptului că ora a fost modificată în cod. Codul utilizat este dat mai jos. Fișierul INO este, de asemenea, atașat.

Codul

// D10 = Pin digital O / P CS

// D11 = Pin digital cu ceas O / P

// D12 = PIN de date digital O / P

//

#include

#include

const int numDevices = 2; // numărul de MAX7219s utilizat

const int dataPin = 12;

const int clkPin = 11;

const int csPin = 10;

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

// Lăsați acest cod în mediul de dezvoltare 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] =

{

{// LeftEye1, 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

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; // indexează pointerul în cadrul de animație care semnifică binaryArray

int frameDelay; // Aproximativ întârziere în milisecunde pentru a menține afișat acest cadru animat

int frameLuminance; // 0 … 15, intensitatea matricei led pentru un cadru dat

} frameType;

film FrameType =

{

// Clipește

{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {LeftEye2, 5, 1}, // Complet din nou

{LeftEye1, 1500, 2}, // Incruntat

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

};

void delayMillis (milisecunde int)

{

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

delayMicroseconds (1000);

}

configurare nulă () {

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

lc.shutdown (x, false); // MAX72XX este în modul de economisire a energiei la pornire

lc.setIntensity (x, 1); // Setați luminozitatea la valoarea implicită

lc.clearDisplay (x); // și ștergeți afișajul

}

}

bucla nulă () {

lc.setIntensity (0, 3);

lc.setIntensity (1, 3);

while (adevărat) {

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

{

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

{

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

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

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

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

}

delayMillis (film [a].frameDelay);

}

}

}

Pasul 3: Asamblarea Partea 2

Partea 2 de asamblare
Partea 2 de asamblare

Odată ce aveți ID-ul Arduino pornit și rulat, trebuie să copiați codul și să compilați / verificați codul. Când compilați codul, fișierul HEX este creat în folderul TEMP al computerului. Înainte de a închide Arduino IDE, puteți copia fișierul HEX din folderul temp și acest fișier este ceea ce trebuie să ardem în cipul ATmega8 pentru a-l face să funcționeze.

În timp ce compilam codul, am ales placa ca „Arduino NG or Older” și procesorul ca „ATmega8” și după compilare, am copiat fișierul HEX din folderul Temp al computerului, înainte de a închide Arduino IDE.

Acest fișier HEX a fost ars pe ATmega8 Chip cu un AVR Burner extern. Am folosit software-ul „Extreme Burner_AVR” și o placă AVR Burner în acest scop. Imaginea tabloului este atașată. Puteți utiliza orice software de programare AVR cu care vă simțiți confortabil.

Motivul utilizării unui programator extern a fost că nu am vrut să ard bootloader-ul pe cipurile Atmega8 și fără bootloader-ul, nu ar funcționa pe placa Arduino obișnuită sau cu IDE-ul Arduion. Este destul de ușor să extrageți fișierele HEX odată ce ați compilat codul cu Arduino IDE și asta am făcut.

NOTĂ

Este foarte important să alegeți setările corecte ale bitului siguranței în timp ce utilizați un programator extern.

În acest caz, deoarece nu folosim un cristal extern am și ne bazăm pe ceasul intern al cipului ATmega8, este important să configurăm biții siguranței în consecință. Am ales următoarele setări de siguranță.

Lfuse- E4

Hfuse - D9

CE INSEAMNA ASTA

Înseamnă că nu folosim cristal extern sau rezonator

Ceasul este setat la ceas intern de 8 MHz

Odată ce cipul ATmega8 a fost programat, a venit timpul să asamblați proiectul și să-l testați.

Pasul 4: Conectarea Ochilor

Conectarea Ochilor
Conectarea Ochilor
Conectarea Ochilor
Conectarea Ochilor

MAX7219 8x8 LED Matrix a fost conectat după cum urmează.

Placă ATmega8 TO MAX7219 Matrix

IO Pin D10 TO CS PIN

IO Pin D11 TO CLK PIN

IO Pin D12 TO DIN PIN

VCC ÎN VCC

GND ÎN GND

Consultați Imagine

Pasul 5: Conectarea senzorului PIR și a modulului

Conectarea senzorului PIR și a modulului
Conectarea senzorului PIR și a modulului
Conectarea senzorului PIR și a modulului
Conectarea senzorului PIR și a modulului
Conectarea senzorului PIR și a modulului
Conectarea senzorului PIR și a modulului
Conectarea senzorului PIR și a modulului
Conectarea senzorului PIR și a modulului

Apoi senzorul PIR a fost conectat la controlerul PIR

Board, conexiunile sunt după cum urmează

Placa de control PIR la senzorul PIR

VCC la VCC

CTRL la CTRL

GND la GND

Consultați Diagrama

Aceasta este partea care face ca totul să se întâmple. Senzorul PIR preia mișcarea oricărei creaturi cu sânge fierbinte și pornește sursa de alimentare la toate circuitele / modulele diferite. timpul pe senzorul PIR a fost ajustat conform cerințelor și în acest caz este de aproximativ 40 - 45 de secunde. Trimite 5 volți DC la toate circuitele atașate la acesta pentru o perioadă de aproximativ 40 -45 secunde.

Pasul 6: Playerul MP3 și amplificatorul

Playerul MP3 și amplificatorul
Playerul MP3 și amplificatorul
Playerul MP3 și amplificatorul
Playerul MP3 și amplificatorul
Playerul MP3 și amplificatorul
Playerul MP3 și amplificatorul

LUAȚI Modulul MP3 Player și modulul Amplificator.

MP3 Playerul pe care l-am folosit nu are nevoie de niciun buton pentru a porni, în momentul în care i se furnizează tensiunea corespunzătoare, începe automat să se redea. Aveam nevoie de o singură pistă, așa că am găsit cardul SD cu cea mai mică memorie pe care o puteam (4 GB, deoarece este aproape imposibil să obțin orice card cu capacitate mai mică în zilele noastre). Sunetele pe care le-am descărcat de pe internet, de fapt, au existat o serie de efecte sonore care au fost descărcate și toate au fost compilate pentru a crea o singură piesă MP3 utilizând software-ul de editare a sunetului. Am folosit „Wave Editor” și am încărcat în cele din urmă această singură piesă pe cardul SD. Cardul SD a fost montat în modulul MP3 Player, iar ieșirea a fost conectată la modulul amplificator pentru a obține sunetul de la difuzor.

Consultați Imagine

Cipul amplificator LM386 necesită foarte puține componente externe și oferă sunet destul de bun din difuzoarele mici. Circuitul este destul de ușor de asamblat dintr-un perfboard și mi-a luat aproximativ 15-20 de minute să-l montez. Imaginea se explică de la sine.

Pasul 7: Adunarea finală

Image
Image
ÎNCHISUL
ÎNCHISUL

Înainte de a monta totul în incintă, am vrut să testez totul și să așez modulele după cum este necesar și să fac conexiunile finale. După ce am fost mulțumit de lucrul pieselor. Le-am fixat în incinta plăcii de carduri făcută în acest scop.

Atașez un videoclip după asamblarea finală a prop.

Pasul 8: ÎNCHIDEREA

ÎNCHISUL
ÎNCHISUL
ÎNCHISUL
ÎNCHISUL
ÎNCHISUL
ÎNCHISUL

Incinta

Incinta a fost realizată dintr-o cutie veche de carton, vopsită în roșu. Locul pentru ochi și senzorul PIR a fost decupat folosind o lamă ascuțită. O cutie a craniului a fost lipită pe cutie și ochi etc.decupat corespunzător și conturul a fost redesenat cu un stilou permanent negru. Am făcut părul din sticle de apă aruncate, le-am tăiat în benzi subțiri și le-am lipit cu Hot Melt Glue pe cap și pe laturi. Am fixat 2 LED-uri de schimbare a culorilor pe laterale și acestea au fost conectate la ieșirea de pe placa de control PIR.

Au fost făcute găuri mici pentru difuzor și toate articolele au fost fixate cu ajutorul Hot Melt Glue pe interiorul cutiei. Cablul de alimentare a fost scos din spatele cutiei și cam atât.

Sper să vă bucurați să faceți acest Prop Halloween pentru copii !!

În curând voi atașa clipul audio utilizat în acest proiect.

Halloween fericit tuturor!

Recomandat: