Inhoudsopgave:

Halloween Scary Eyes Prop - Ajarnpa
Halloween Scary Eyes Prop - Ajarnpa

Video: Halloween Scary Eyes Prop - Ajarnpa

Video: Halloween Scary Eyes Prop - Ajarnpa
Video: BEST SCARY PROPS & FAKE HORROR for Halloween 2024, Juli-
Anonim
Halloween Enge Ogen Prop
Halloween Enge Ogen Prop
Halloween Enge Ogen Prop
Halloween Enge Ogen Prop
Halloween Enge Ogen Prop
Halloween Enge Ogen Prop
Halloween Enge Ogen Prop
Halloween Enge Ogen Prop

Door de jaren heen was er bij het maken van verschillende projecten een

een hele verzameling verschillende modules die gewoon ongebruikt rondslingerden en ik wilde er tenminste enkele gebruiken voor iets dat tegelijkertijd leuk en creatief zou zijn.

Toen ik door de "instructables.com-site" voor ideeën ging, kwam ik een paar projecten tegen waarvan ik dacht dat ze door elkaar konden worden gemengd om iets te maken voor deze "Halloween".

Ik moet Steve Quinn, Unexpected Maker, bedanken voor het gebruik van hun ideeën.

Benodigdheden

GEBRUIKTE ITEMS EN MODULES

Gebruikte modules

1 alleenstaand Atmega8-bord

2 PIR-gebaseerde controllerkaart voor 5 volt-uitgang

3 LM386 Versterkerkaart

4 Algemene MP3-spelermodule

5 MAX7219 8x8 LED-modules

6 PIR-module (algemeen)

7 4 4 Ohm luidspreker

Andere materialen

A. Lege kartonnen doos

B. Lege waterflessen voor eenmalig gebruik

C. Kleur veranderende LED 5V

NS. Diverse Draden

e. Lijmpistool

F. Soldeerbout

G. Diverse gereedschappen en frezen

H. 12V 1A step-down transformator

Belangrijk

1 Arduion-IDE

2 Programmeerbord voor AVR-chips

3 Programmeer (Brand) Software

Stap 1: De verschillende modules

De verschillende modules
De verschillende modules
De verschillende modules
De verschillende modules
De verschillende modules
De verschillende modules

Eerst zullen we kijken naar het maken van de verschillende modules, We

zou zeker maar één PCB kunnen maken voor alle elektronica en het project prima laten werken, maar voor mij was het idee om de verschillende items die ik eerder al had gemaakt te gebruiken voor verschillende projecten en nu de behoefte eraan voorbij was, Ik wilde die items gewoon hergebruiken.

Het ATMega8-bord

Ik gebruik de ATmega8-chip zonder extern kristal. Eigenlijk zijn deze borden gemaakt om enkele P10 16x32 LED-modules te laten werken en ik had er nog een paar over van dit project. De afbeelding van het bord en de PCB-lay-out is als volgt (zie afbeeldingen). Er zijn talloze artikelen over het maken van je eigen Arduino-bord op "instructables". Je kunt gewoon elk oud Arduino-bord gebruiken dat je misschien hebt liggen.

PIR-controllerkaart

Dit PIR-bord is gemaakt om enkele kleine op LED gebaseerde festivaldecoraties aan en uit te zetten en nu lag het gewoon rond en ik besloot het te gebruiken. De Circuit Lay-out wordt getoond in de foto's:

DE LM 386 Versterkerkaart

Dit is de versterkermodule die de geluidsuitvoer van de MP3-spelermodule versterkt. de lay-out en het circuit is vrij eenvoudig en de foto's zeggen alles. de lay-out van het circuit en de afbeelding van het voltooide bord spreken voor zich.

De MP3-spelermodule

Ik heb de MP3-spelermodule gebruikt die op de afbeelding wordt getoond. Het is direct beschikbaar op Amazon enz., Het is goedkoop en gemakkelijk te gebruiken. Het beste van deze specifieke module is dat er geen extra commando of verbinding nodig is om te beginnen met spelen. Op het moment dat de juiste stroom aan het bord wordt geleverd, begint het zijn werk te doen.

MAX7219 8x8 LED-modules

Deze 8x8 LED-displaymodules zijn direct beschikbaar op Amazon enz. Foto's van degene die ik heb gebruikt, worden verstrekt.

PIR-module

Ik heb de gemakkelijk verkrijgbare PIR-sensormodule gebruikt. Het is beschikbaar op Amazon enz., Het is goedkoop en gemakkelijk te gebruiken. De foto's zijn bedoeld ter referentie.

Stap 2: Het montagedeel 1

De montage deel 1
De montage deel 1

Het concept was om al deze modules te combineren en een Halloween-rekwisiet te maken die geactiveerd zou worden wanneer iemand voor de rekwisiet oversteekt. Hiervoor heb ik de 12volt voeding aangesloten op de PIR Control Board, die op zijn beurt de spanning verlaagd naar 5V DC met behulp van de 7805 IC en deze 5V DC Spanning werd doorgegeven aan de PIR Sensor en verder naar de andere modules, het ATmega8-bord, de versterkermodule en de MP3-spelermodule wanneer iemand voor de PIR-sensor kwam. Het stroomschema zegt het allemaal.

Zoals we kunnen zien, activeert de PIR-sensor het ATmega8-bord, de versterkermodule en de MP3-spelermodule, de ATmega8 bestuurt de LED-matrix "Ogen", de MP3-speler speelt de geluidseffecten af en de versterkermodule stuurt het signaal naar de luidspreker.

De Arduino-code is een directe lancering van de instructable van Steve Quinn, behalve dat de tijd in de code is gewijzigd. De gebruikte code is hieronder weergegeven. Het INO-bestand is ook bijgevoegd.

De code

// D10 = Digitale O/P CS-pin

// D11 = Digitale O/P Klok Pin

// D12 = Digitale O/P-gegevenspin

//

#erbij betrekken

#erbij betrekken

const int numDevices = 2; // aantal gebruikte MAX7219's

const int dataPin = 12;

const int clkPin = 11;

const int csPin = 10;

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

// Zet deze code in de Arduino-ontwikkelomgeving

#define LeftEye1 0

#definieer RightEye1 1

#define LeftEye2 2

#definieer RightEye2 3

#definieer LeftEye3 4

#definieer RightEye3 5

#definieer LeftEye4 6

#definieer RightEye4 7

#define LeftEye5 8

#definieer RightEye5 9

#define LeftEye6 10

#definieer RightEye6 11

#definieer LeftEye7 12

#definieer RightEye7 13

#definieer LeftEye8 14

#definieer RightEye8 15

#definieer LeftEye9 16

#definieer RightEye9 17

#define LeftEye10 18

#define RightEye10 19

#define LeftEye11 20

#definieer RightEye11 21

#define LeftEye12 22

#definieer RightEye12 23

#define LeftEye13 24

#definieer RightEye13 25

#define LeftEye14 26

#definieer RightEye14 27

#define LeftEye15 28

#definieer RightEye15 29

#define LeftEye16 30

#definieer RightEye16 31

#define LeftEye17 32

#define RightEye17 33

#define LeftEye18 34

#define RightEye18 35

#define LeftEye19 36

#definieer RightEye19 37

#define LeftEye20 38

#definieer RightEye20 39

typedef struct {

const unsigned char array1[8];

}

binairArrayType;

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, B0100000, B01011010, B01011010, B0100000, B00111100, B00000000

}, { // RightEye2, 3

B00000000, B00111100, B0100000, B01011010, B01011010, B0100000, B00111100, B00000000

}, { // Linkeroog3, 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, B0100000, B0100000, B0100000, B01011010, B00111100, B00000000

}, { // RightEye14, 27

B00000000, B00111100, B0100000, B0100000, B0100000, 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; // indexaanwijzer in binaryArray die animatieframe aangeeft

int frameDelay; // Ongeveer vertraging in milliseconden om dit geanimeerde frame vast te houden

int frameLuminantie; // 0 … 15, De intensiteit van de led-matrix voor een bepaald frame

} Frame type;

frameType film =

{

// Knipperen

{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {Linkeroog2, 5, 1}, // Weer volledig breed

{Linkeroog1, 1500, 2}, // Frons

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

};

ongeldige vertragingMillis (int milliseconden)

{

voor (int i = 0; i < milliseconden; i++)

vertraging Microseconden (1000);

}

ongeldige setup() {

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

lc.shutdown(x, false); // De MAX72XX staat bij het opstarten in de energiebesparende modus

lc.setIntensity(x, 1); // Stel de helderheid in op de standaardwaarde

lc.clearDisplay(x); // en wis het scherm

}

}

lege lus() {

lc.setIntensity(0, 3);

lc.setIntensity(1, 3);

terwijl (waar) {

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

{

voor (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);

}

}

}

Stap 3: Montage deel 2

Montage deel 2
Montage deel 2

Zodra u de Arduino IDE in gebruik hebt, moet u de code kopiëren en de code compileren/verifiëren. Wanneer u de code compileert, wordt het HEX-bestand gemaakt in de map TEMP van de computer. Voordat je de Arduino IDE sluit, kun je het HEX-bestand kopiëren uit de tijdelijke map en dit bestand is wat we in de ATmega8-chip moeten branden om het te laten werken.

Tijdens het compileren van de code heb ik het bord gekozen als "Arduino NG of ouder" en processor als "ATmega8" en na het compileren heb ik het HEX-bestand gekopieerd uit de Temp-map van de computer, voordat ik de Arduino IDE sloot.

Dit HEX-bestand is met een externe AVR-brander op de ATmega8-chip gebrand. Ik heb hiervoor de software "Extreme Burner_AVR" en een AVR Burner Board gebruikt. De foto van het bord is bijgevoegd. U kunt elke AVR-programmeersoftware gebruiken waarmee u vertrouwd bent.

De reden voor het gebruik van een externe programmer was dat ik de bootloader niet op de Atmega8-chips wilde branden en zonder de bootloader zouden ze niet werken op het gewone Arduino-bord of met de Arduion IDE. Het is vrij eenvoudig om de HEX-bestanden uit te pakken als je de code eenmaal hebt gecompileerd met de Arduino IDE en dat is wat ik deed.

OPMERKING

HET IS ZEER BELANGRIJK om de juiste instellingen van de zekeringbit te kiezen bij gebruik van een externe programmer.

In dit geval, aangezien we geen extern kristal gebruiken en vertrouwen op de interne klok van de ATmega8-chip, is het belangrijk dat we de zekeringbits dienovereenkomstig configureren. Ik heb de volgende zekeringinstellingen gekozen.

Lfuse- E4

Hzekering - D9

WAT DIT BETEKENT

Betekent dat we geen extern kristal of resonator gebruiken

De klok is ingesteld op 8mHz interne klok

Nadat de ATmega8-chip was geprogrammeerd, was het tijd om het project in elkaar te zetten en uit te testen.

Stap 4: De ogen aansluiten

DE OGEN VERBINDEN
DE OGEN VERBINDEN
DE OGEN VERBINDEN
DE OGEN VERBINDEN

De MAX7219 8x8 LED Matrix is aangesloten zoals hieronder.

ATMega8-kaart NAAR MAX7219 Matrix

IO Pin D10 NAAR CS PIN

IO Pin D11 NAAR CLK PIN

IO Pin D12 NAAR DIN PIN

VCC NAAR VCC

GND NAAR GND

Zie afbeelding

Stap 5: De PIR-sensor en -module aansluiten

De PIR-sensor en module aansluiten
De PIR-sensor en module aansluiten
De PIR-sensor en module aansluiten
De PIR-sensor en module aansluiten
De PIR-sensor en module aansluiten
De PIR-sensor en module aansluiten
De PIR-sensor en module aansluiten
De PIR-sensor en module aansluiten

Vervolgens werd de PIR-sensor aangesloten op de PIR-controller

Board, de aansluitingen zijn als volgt:

PIR-controllerkaart naar PIR-sensor

VCC naar VCC

CTRL naar CTRL

GND naar GND

Raadpleeg diagram

Dit is het deel dat het allemaal mogelijk maakt. De PIR-sensor pikt de beweging van elk heetbloedig wezen op en schakelt de voeding naar alle verschillende circuits/modules in. de tijd op de PIR-sensor is aangepast aan de vereisten en in dit geval is het ongeveer 40 - 45 seconden. Het stuurt 5 volt gelijkstroom naar alle circuits die erop zijn aangesloten gedurende een periode van ongeveer 40 -45 seconden.

Stap 6: De MP3-speler en de versterker

De MP3-speler en de versterker
De MP3-speler en de versterker
De MP3-speler en de versterker
De MP3-speler en de versterker
De MP3-speler en de versterker
De MP3-speler en de versterker

VOLGENDE de MP3-spelermodule en de versterkermodule.

De MP3-speler die ik heb gebruikt, hoeft niet op een knop te worden gedrukt om in te schakelen, op het moment dat de juiste spanning wordt geleverd, begint hij automatisch te spelen. Ik had maar één track nodig, dus ik vond de SD-kaart met het laagste geheugen dat ik kon (4 GB omdat het tegenwoordig bijna onmogelijk is om een kaart met minder capaciteit te krijgen). De geluiden die ik van internet heb gedownload, in feite waren er een aantal geluidseffecten die werden gedownload en ze werden allemaal gecompileerd om een enkele MP3-track te maken met behulp van de geluidseditor-software. Ik gebruikte "Wave Editor" en heb uiteindelijk dit enige nummer op de SD-kaart geladen. De SD-kaart was in de MP3-spelermodule gemonteerd en de uitgang was verbonden met de versterkermodule om het geluid uit de luidspreker te krijgen.

Zie afbeelding

De LM386 Amplifier Chip vereist zeer weinig externe componenten en levert redelijk goed geluid uit kleine luidsprekers. Het circuit is vrij eenvoudig te monteren van een perfboard en het kostte me ongeveer 15-20 minuten om deze te monteren. Het plaatje is vrij duidelijk.

Stap 7: De eindmontage

Image
Image
DE BEHUIZING
DE BEHUIZING

Voordat ik alles in de behuizing plaatste, wilde ik alles testen en de modules naar wens indelen en de laatste verbindingen maken. Nadat ik tevreden was met de werking van de onderdelen. Ik heb ze bevestigd in de Card Board Enclosure die voor dit doel is gemaakt.

Ik voeg een video toe na de definitieve montage van de prop.

Stap 8: DE BEHUIZING

DE BEHUIZING
DE BEHUIZING
DE BEHUIZING
DE BEHUIZING
DE BEHUIZING
DE BEHUIZING

de behuizing

De behuizing is gemaakt van een oude kartonnen doos, rood geverfd. De plek voor de ogen en de PIR-sensor werd uitgesneden met een scherp mes. Er is een afdruk van de schedel op de doos geplakt en de ogen etc.dienovereenkomstig uitgesneden en de omtrek werd opnieuw getekend met een zwarte permanente markeerstift. Ik maakte het haar van weggegooide waterflessen, knipte ze in dunne reepjes en plakte ze met de Hot Melt Glue op het hoofd en de zijkanten. Ik heb 2 van kleur veranderende LED's aan de zijkanten bevestigd en deze werden aangesloten op de uitgang van de PIR-controllerkaart.

Er werden kleine gaatjes gemaakt voor de luidspreker en alle items werden bevestigd met behulp van Hot Melt Glue aan de binnenkant van de doos. Het netsnoer is uit de achterkant van de doos gehaald en dat is het dan ook.

Ik hoop dat je geniet van het maken van deze Halloween Prop voor de kinderen !!

Ik zal binnenkort de audioclip bijvoegen die in dit project wordt gebruikt.

Fijne Halloween allemaal!!

Aanbevolen: