Inhaltsverzeichnis:

Halloween Scary Eyes Requisite - Gunook
Halloween Scary Eyes Requisite - Gunook

Video: Halloween Scary Eyes Requisite - Gunook

Video: Halloween Scary Eyes Requisite - Gunook
Video: Halloween 'glowing eyes' thingie. 2024, Juli
Anonim
Halloween Gruselaugen Prop
Halloween Gruselaugen Prop
Halloween Gruselaugen Prop
Halloween Gruselaugen Prop
Halloween Gruselaugen Prop
Halloween Gruselaugen Prop
Halloween Gruselaugen Prop
Halloween Gruselaugen Prop

Im Laufe der Jahre gab es bei der Realisierung verschiedener Projekte eine

eine ganze Sammlung verschiedener Module, die einfach ungenutzt herumlagen und ich zumindest einige davon für etwas verwenden wollte, das gleichzeitig Spaß macht und kreativ ist.

Als ich die "instructables.com Site" für Ideen durchging, stieß ich auf ein paar Projekte, von denen ich dachte, dass sie miteinander vermischt werden könnten, um etwas für dieses "Halloween" zu machen.

Ich muss Steve Quinn, dem Unexpected Maker, meinen Dank dafür aussprechen, dass er ihre Ideen verwendet hat.

Lieferungen

VERWENDETE ARTIKEL UND MODULE

Verwendete Module

1 eigenständiges Atmega8-Board

2 PIR-basiertes Controller Board für 5 Volt Ausgang

3 LM386 Verstärkerplatine

4 Generisches MP3-Player-Modul

5 MAX7219 8x8 LED-Module

6 PIR-Modul (generisch)

7 4” 4 Ohm Lautsprecher

Andere Materialien

A. Leerer Karton

B. Leere Einweg-Wasserflaschen

C. Farbwechsel LED 5V

D. Verschiedene Drähte

e. Klebepistole

F. Lötkolben

g. Verschiedene Werkzeuge & Fräser

h. 12V 1A Abwärtstransformator

Wichtig

1 Arduion-IDE

2 Programmierboard für AVR-Chips

3 Programmier-(Brenn-)Software

Schritt 1: Die verschiedenen Module

Die verschiedenen Module
Die verschiedenen Module
Die verschiedenen Module
Die verschiedenen Module
Die verschiedenen Module
Die verschiedenen Module

Zuerst werden wir uns mit der Erstellung der verschiedenen Module befassen

Ich könnte sicherlich nur eine Platine für die gesamte Elektronik herstellen und das Projekt funktioniert einwandfrei, aber für mich war die Idee, die verschiedenen Elemente, die ich bereits früher für verschiedene Projekte hergestellt hatte, zu verwenden und jetzt, da der Bedarf dafür vorbei war, ich Wollte die Sachen nur wiederverwenden.

Das ATmega8-Board

Ich verwende den ATmega8-Chip ohne externen Quarz. Eigentlich wurden diese Boards gemacht, um einige P10 16x32 LED-Module zu betreiben, und ich hatte ein paar von diesem Projekt übrig. Das Bild der Platine und des PCB-Layouts ist wie folgt (siehe Bilder). Es gibt unzählige Artikel zum Erstellen Ihres eigenen Arduino-Boards auf "Instructables". Sie können einfach jedes alte Arduino-Board verwenden, das Sie vielleicht herumliegen haben.

PIR-Controller-Board

Dieses PIR-Board wurde gemacht, um einige kleine LED-basierte Festivaldekorationen ein- und auszuschalten, und jetzt lag es nur herum und ich beschloss, es zu verwenden. Das Schaltungslayout ist in den Bildern gezeigt

DIE LM 386 Verstärkerplatine

Dies ist das Verstärkermodul, das die Tonausgabe des MP3-Player-Moduls verstärkt. Das Layout und die Schaltung sind ziemlich einfach und die Bilder sagen alles. Das Schaltungslayout und das Bild der fertigen Platine sind selbsterklärend.

Das MP3-Player-Modul

Ich habe das im Bild gezeigte MP3-Player-Modul verwendet. Es ist leicht erhältlich bei Amazon usw., es ist billig und einfach zu bedienen. Das Beste an diesem speziellen Modul ist, dass es keinen zusätzlichen Befehl oder keine zusätzliche Verbindung erfordert, um mit dem Spielen zu beginnen. In dem Moment, in dem das Board mit der entsprechenden Stromversorgung versorgt wird, beginnt es seine Arbeit zu tun.

MAX7219 8x8 LED-Module

Diese 8x8 LED-Anzeigemodule sind bei Amazon usw. leicht erhältlich. Bilder der von mir verwendeten werden bereitgestellt.

PIR-Modul

Ich habe das leicht verfügbare PIR-Sensormodul verwendet. Es ist bei Amazon usw. erhältlich, es ist billig und einfach zu bedienen. Die Bilder dienen als Referenz.

Schritt 2: Der Montageteil 1

Die Montage Teil 1
Die Montage Teil 1

Das Konzept bestand darin, all diese Module zu kombinieren und eine Halloween-Requisite zu erstellen, die aktiviert wird, wenn jemand vor der Requisite kreuzt. Dazu habe ich das 12 Volt Netzteil an das PIR Control Board angeschlossen, welches wiederum mit Hilfe des 7805 ICs die Spannung auf 5V DC heruntergestuft und diese 5V DC Spannung an den PIR Sensor und weiter an die anderen Module weitergegeben wurde, das ATmega8-Board, das Verstärkermodul und das MP3-Player-Modul, wenn jemand vor den PIR-Sensor kam. Das Flussdiagramm sagt alles.

Wie wir sehen, steuert der PIR-Sensor das ATmega8-Board, das Verstärkermodul und das MP3-Player-Modul an, der ATmega8 steuert die LED-Matrix „Augen“, der MP3-Player spielt die Soundeffekte aus und das Verstärkermodul sendet das Signal an den Lautsprecher.

Der Arduino-Code ist ein direkter Abheben von Steve Quinns instructable, außer dass die Zeit im Code geändert wurde. Der verwendete Code ist unten angegeben. Die INO-Datei ist ebenfalls angehängt.

Der Code

// D10 = Digitaler O/P CS Pin

// D11 = Digitaler O/P-Takt-Pin

// D12 = Digitaler O/P-Datenpin

//

#enthalten

#enthalten

const int numDevices = 2; // Anzahl der verwendeten MAX7219s

const int dataPin = 12;

const int clkPin = 11;

const int csPin = 10;

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

// Ziehen Sie diesen Code in die Arduino-Entwicklungsumgebung

#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-Struktur {

const unsigned char array1[8];

}

binaryArrayType;

binaryArrayType binaryArray[40] =

{

{ // Linkes Auge1, 0

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

}, { // Rechtes Auge1, 1

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

}, { // Linkes Auge2, 2

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

}, { // Rechtes Auge2, 3

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

}, { // Linkes Auge3, 4

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

}, { // Rechtes Auge3, 5

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

}, { // Linkes Auge4, 6

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

}, { // Rechtes Auge4, 7

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

}, { // Linkes Auge5, 8

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B100000010, B01111100

}, { // Rechtes Auge5, 9

B01111100, B100000010, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, { // Linkes Auge6, 10

B01111110, B10000001, B10000001, B10011001, B10011001, B100000010, B10000100, B01111000

}, { // Rechtes Auge6, 11

B01111000, B10000100, B100000010, B10011001, B10011001, B10000001, B10000001, B01111110

}, { // Linkes Auge7, 12

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

}, { // Rechtes Auge7, 13

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

}, { // Linkes Auge8, 14

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

}, { // Rechtes Auge8, 15

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

}, { // Linkes Auge9, 16

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

}, { // Rechtes Auge9, 17

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

}, { // LeftEye10, 18

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

}, { // Rechtes Auge10, 19

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

}, { // LeftEye11, 20

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

}, { // Rechtes Auge11, 21

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

}, { // LeftEye12, 22

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

}, { // Rechtes Auge12, 23

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

}, { // Linkes Auge13, 24

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

}, { // Rechtes Auge13, 25

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

}, { // Linkes Auge14, 26

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

}, { // Rechtes Auge14, 27

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

}, { // LeftEye15, 28

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

}, { // Rechtes Auge15, 29

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

}, { // Linkes Auge16, 30

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

}, { // Rechtes Auge16, 31

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

}, { // LeftEye17, 32

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

}, { // Rechtes Auge17, 33

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

}, { // LeftEye18, 34

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

}, { // Rechtes Auge18, 35

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

}, { // LeftEye19, 36

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

}, { // Rechtes Auge19, 37

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

}, { // Linkes Auge20, 38

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

}, { // Rechtes Auge20, 39

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

}

};

typedef-Struktur {

int frameCount; // Indexzeiger in binaryArray, der den Animationsrahmen bezeichnet

int frameDelay; // Ungefähre Verzögerung in Millisekunden, um die Anzeige dieses animierten Frames zu halten

int frameLuminanz; // 0 … 15, Die Intensität der LED-Matrix für einen bestimmten Frame

} Rahmentyp;

frameType-Film =

{

// Blinzeln

{linkes Auge1, 1000, 1}, {linkes Auge2, 5, 1}, {linkes Auge3, 10, 1}, {linkes Auge4, 10, 1}, {linkes Auge17, 100, 1}, {linkes Auge4, 10, 1}, {linkes Auge3, 10, 1}, {LeftEye2, 5, 1}, // Wieder ganz breit

{Linkes Auge1, 1500, 2}, // Stirnrunzeln

{linkes Auge5, 5, 3}, {linkes Auge6, 5, 4}, {linkes Auge7, 5, 5}, {linkes Auge8, 1000, 11}, {linkes Auge7, 5, 5}, {linkes Auge6, 5, 4}, {linkes Auge5, 5, 3}

};

void delayMillis (int Millisekunden)

{

für (int i = 0; i < Millisekunden; i++)

VerzögerungMikrosekunden (1000);

}

Leere Einrichtung () {

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

lc.shutdown(x, false); //Der MAX72XX befindet sich beim Start im Energiesparmodus

lc.setIntensity(x, 1); // Setzen Sie die Helligkeit auf den Standardwert

lc.clearDisplay(x); // und lösche das Display

}

}

Leere Schleife () {

lc.setIntensity(0, 3);

lc.setIntensity(1, 3);

während (wahr) {

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

{

für (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);

}

}

}

Schritt 3: Montageteil 2

Montage Teil 2
Montage Teil 2

Sobald Sie die Arduino-IDE zum Laufen gebracht haben, müssen Sie den Code kopieren und den Code kompilieren/verifizieren. Beim Kompilieren des Codes wird die HEX-Datei im TEMP-Ordner des Computers erstellt. Bevor Sie die Arduino IDE schließen, können Sie die HEX-Datei aus dem temporären Ordner kopieren und diese Datei müssen wir in den ATmega8-Chip brennen, damit sie funktioniert.

Beim Kompilieren des Codes habe ich das Board als "Arduino NG or Older" und den Prozessor als "ATmega8" ausgewählt und nach dem Kompilieren die HEX-Datei aus dem Temp-Ordner des Computers kopiert, bevor ich die Arduino IDE geschlossen habe.

Diese HEX-Datei wurde mit einem externen AVR-Brenner auf den ATmega8-Chip gebrannt. Dazu habe ich die Software „Extreme Burner_AVR“und ein AVR Burner Board verwendet. Das Bild der Platine ist beigefügt. Sie können jede AVR-Programmiersoftware verwenden, mit der Sie vertraut sind.

Der Grund für die Verwendung eines externen Programmierers war, dass ich den Bootloader nicht auf die Atmega8-Chips brennen wollte und sie ohne den Bootloader nicht auf dem regulären Arduino Board oder mit der Arduion IDE funktionieren würden. Es ist ganz einfach, die HEX-Dateien zu extrahieren, sobald Sie den Code mit der Arduino IDE kompiliert haben und das habe ich getan.

HINWEIS

ES IST SEHR WICHTIG, die richtigen Fuse-Bit-Einstellungen zu wählen, wenn ein externes Programmiergerät verwendet wird.

Da wir in diesem Fall keinen externen Quarz verwenden und uns auf die interne Uhr des ATmega8-Chips verlassen, ist es wichtig, die Fuse-Bits entsprechend zu konfigurieren. Ich habe folgende Sicherungseinstellungen gewählt.

Lsicherung- E4

H-Sicherung - D9

WAS DAS BEDEUTET

Bedeutet, dass wir keinen externen Quarz oder Resonator verwenden

Die Uhr ist auf 8mHz interne Uhr eingestellt

Nachdem der ATmega8-Chip programmiert war, war es an der Zeit, das Projekt zusammenzubauen und zu testen.

Schritt 4: Verbinden der Augen

Die Augen verbinden
Die Augen verbinden
Die Augen verbinden
Die Augen verbinden

Die MAX7219 8x8 LED Matrix wurde wie folgt angeschlossen.

ATmega8 Board TO MAX7219 Matrix

IO-Pin D10 ZU CS-PIN

IO-Pin D11 ZU CLK-PIN

IO-Pin D12 AUF DIN-PIN

VCC ZU VCC

GND ZU GND

Siehe Bild

Schritt 5: Anschließen des PIR-Sensors und des Moduls

Anschließen des PIR-Sensors und -Moduls
Anschließen des PIR-Sensors und -Moduls
Anschließen des PIR-Sensors und -Moduls
Anschließen des PIR-Sensors und -Moduls
Anschließen des PIR-Sensors und -Moduls
Anschließen des PIR-Sensors und -Moduls
Anschließen des PIR-Sensors und -Moduls
Anschließen des PIR-Sensors und -Moduls

Als nächstes wurde der PIR-Sensor mit dem PIR-Controller verbunden

Board, die Anschlüsse sind wie folgt

PIR-Controller-Platine zu PIR-Sensor

VCC zu VCC

STRG zu STRG

GND zu GND

Siehe Diagramm

Dies ist der Teil, der alles möglich macht. Der PIR-Sensor nimmt die Bewegung jeder heißblütigen Kreatur auf und schaltet die Stromversorgung aller verschiedenen Schaltkreise/Module ein. die Zeit am PIR-Sensor wurde nach Bedarf angepasst und beträgt in diesem Fall etwa 40 - 45 Sekunden. Es sendet 5 Volt Gleichstrom an alle daran angeschlossenen Stromkreise für einen Zeitraum von etwa 40 - 45 Sekunden.

Schritt 6: Der MP3-Player und der Verstärker

Der MP3-Player und der Verstärker
Der MP3-Player und der Verstärker
Der MP3-Player und der Verstärker
Der MP3-Player und der Verstärker
Der MP3-Player und der Verstärker
Der MP3-Player und der Verstärker

WEITER das MP3-Player-Modul und das Verstärkermodul.

Der von mir verwendete MP3-Player braucht zum Einschalten keine Taste zu drücken, sobald die richtige Spannung an ihn angelegt ist, beginnt er automatisch mit der Wiedergabe. Ich brauchte nur einen Track, also fand ich die SD-Karte mit dem geringsten Speicher (4 GB, da es heutzutage fast unmöglich ist, eine Karte mit geringerer Kapazität zu bekommen). Die Sounds, die ich aus dem Internet heruntergeladen habe, tatsächlich gab es eine Reihe von Soundeffekten, die heruntergeladen wurden und alle wurden mit der Sound-Editor-Software zu einem einzigen MP3-Track kompiliert. Ich habe „Wave Editor“verwendet und schließlich diesen einzigen Track auf die SD-Karte geladen. Die SD-Karte wurde in das MP3-Player-Modul eingebaut und der Ausgang wurde mit dem Verstärkermodul verbunden, um den Ton aus dem Lautsprecher zu erhalten.

Siehe Bild

Der LM386 Amplifier Chip benötigt nur sehr wenige externe Komponenten und liefert aus kleinen Lautsprechern einen recht guten Klang. Die Schaltung ist recht einfach aus einem Perfboard zusammenzubauen und ich habe ungefähr 15-20 Minuten gebraucht, um dieses zusammenzubauen. Das Bild ist ziemlich selbsterklärend.

Schritt 7: Die Endmontage

Image
Image
DAS GEHÄUSE
DAS GEHÄUSE

Bevor ich alles in das Gehäuse einbaute, wollte ich alles testen und habe die Module nach Bedarf ausgelegt und die endgültigen Verbindungen hergestellt. Nachdem ich mit der Funktion der Teile zufrieden war. Ich habe sie in dem dafür vorgesehenen Kartongehäuse befestigt.

Ich hänge ein Video nach der Endmontage der Stütze an.

Schritt 8: DAS GEHÄUSE

DAS GEHÄUSE
DAS GEHÄUSE
DAS GEHÄUSE
DAS GEHÄUSE
DAS GEHÄUSE
DAS GEHÄUSE

Das Gehäuse

Das Gehäuse wurde aus einem alten, rot lackierten Karton gefertigt. Der Platz für die Augen und den PIR-Sensor wurde mit einer scharfen Klinge ausgeschnitten. Ein Abdruck des Schädels wurde auf die Schachtel geklebt und die Augen etc.entsprechend ausgeschnitten und die Kontur mit einem schwarzen Permanentmarker nachgezeichnet. Die Haare habe ich aus weggeworfenen Wasserflaschen gemacht, in dünne Streifen geschnitten und mit dem Hot Melt Glue am Kopf und an den Seiten beklebt. Ich habe 2 farbwechselnde LEDs an den Seiten befestigt und diese wurden mit dem Ausgang der PIR-Controller-Platine verbunden.

Für den Lautsprecher wurden kleine Löcher gebohrt und alle Gegenstände mit Hilfe von Hot Melt Glue auf der Innenseite der Box befestigt. Das Netzkabel wurde hinten aus der Box genommen und das war es auch schon.

Ich hoffe, es macht Ihnen Spaß, diese Halloween-Requisite für die Kinder zu machen !!

Ich werde den in diesem Projekt verwendeten Audioclip bald anhängen.

Frohes Halloween an alle !!

Empfohlen: