INHOUDSOPGAWE:
- Voorrade
- Stap 1: Die verskillende modules
- Stap 2: Die samestelling Deel 1
- Stap 3: Vergadering Deel 2
- Stap 4: Verbind die oë
- Stap 5: Koppel die PIR -sensor en -module
- Stap 6: Die MP3 -speler en die versterker
- Stap 7: Die finale vergadering
- Stap 8: DIE AFSLUITING
Video: Halloween Scary Eyes Prop: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Oor die jare was daar 'n
'n hele versameling verskillende modules wat net ongebruik lê, en ek wou ten minste sommige daarvan gebruik vir iets wat tegelykertyd lekker en kreatief sou wees.
Deur die "instructables.com -webwerf" vir Idees te besoek, het ek 'n paar projekte gevind wat ek gedink het om saam te meng om iets vir hierdie "Halloween" te maak.
Ek moet krediet gee aan Steve Quinn, Unexpected Maker vir die gebruik van hul idees.
Voorrade
ITEMS EN MODULES GEBRUIK
Modules gebruik
1 Losstaande Atmega8 -bord
2 PIR -gebaseerde beheerbord vir 5 Volt -uitset
3 LM386 Versterkerbord
4 Generiese MP3 -speler module
5 MAX7219 8x8 LED -modules
6 PIR -module (generies)
7 4”4 Ohm luidspreker
Ander materiale
a. Leë kartondoos
b. Leë waterbottels vir eenmalige gebruik
c. Kleurveranderende LED 5V
d. Geassorteerde drade
e. Plakgeweer
f. Soldeerbout
g. Diverse gereedskap en snyers
h. 12V 1A afwaartse transformator
Belangrik
1 Arduion IDE
2 Programmeerbord vir AVR -skyfies
3 Programmeer (brand) sagteware
Stap 1: Die verskillende modules
Eerstens kyk ons na die maak van die verskillende modules, We
Ek kan beslis net een print vir al die elektronika maak en die projek goed laat werk, maar vir my was die idee om die verskillende items wat ek al vroeër gemaak het, vir verskillende projekte te gebruik, en noudat die behoefte daaraan verby is, wou net die items weer gebruik.
Die ATmega8 -raad
Ek gebruik die ATmega8 -chip sonder enige eksterne kristal. Eintlik is hierdie planke gemaak om 'n paar P10 16x32 LED -modules te gebruik, en ek het 'n paar oorgehad van hierdie projek. Die prentjie van die bord en die PCB -uitleg is soos volg (sien prente). Daar is talle artikels oor die maak van u eie Arduino -bord oor 'instruksies'. U kan eenvoudig 'n ou Arduino -bord gebruik wat u miskien lê.
PIR -beheerraad
Hierdie PIR -bord is gemaak om 'n paar LED -gebaseerde feesversierings aan en uit te skakel, en nou lê dit net en ek besluit om dit te gebruik. Die stroombaanuitleg word op die foto's getoon
DIE LM 386 Versterkerbord
Dit is die versterkermodule wat die klankuitset van die MP3 -speler -module versterk. die uitleg en kring is redelik eenvoudig en die foto's sê alles. die kringuitleg en die prentjie van die voltooide bord is vanselfsprekend.
Die MP3 -speler module
Ek het die MP3 -speler module gebruik wat op die foto getoon word. Dit is geredelik beskikbaar op Amazon, ens., Dit is goedkoop en maklik om te gebruik. Die beste deel van hierdie spesifieke module is dat dit geen ekstra opdrag of verbinding benodig om te begin speel nie. Op die oomblik dat die nodige krag aan die bord verskaf word, begin hy sy werk doen.
MAX7219 8x8 LED -modules
Hierdie 8x8 LED -skermmodules is geredelik beskikbaar op Amazon, ens. Foto's van die wat ek gebruik het, word verskaf.
PIR -module
Ek het die geredelik beskikbare PIR -sensormodule gebruik. Dit is beskikbaar op Amazon, ens., Dit is goedkoop en maklik om te gebruik. Die foto's word ter verwysing verskaf.
Stap 2: Die samestelling Deel 1
Die konsep was om al hierdie modules te kombineer en 'n Halloween Prop te maak wat geaktiveer sou word wanneer iemand voor die rekwisiete kruis. Hiervoor het ek die 12 volt -kragtoevoer aan die PIR -beheerbord gekoppel, wat op sy beurt die spanning na 5V DC verlaag het met behulp van die 7805 IC en hierdie 5V DC -spanning na die PIR -sensor en verder na die ander modules oorgedra, die ATmega8 -bord, die versterkermodule en die MP3 -speler -module wanneer iemand voor die PIR -sensor kom. Die vloeidiagram sê alles.
Soos ons kan sien, aktiveer die PIR -sensor die ATmega8 -bord, die versterkermodule en die MP3 -speler -module, die ATmega8 beheer die LED Matrix "Eyes", die MP3 -speler speel die klankeffekte uit en die versterkermodule stuur die sein na die luidspreker.
Die Arduino -kode is 'n direkte verwydering van die instruksies van Steve Quinn, behalwe dat die tyd in die kode verander is. Die gebruikte kode word hieronder gegee. Die INO -lêer is ook aangeheg.
Die kode
// D10 = Digitale O/P CS -pen
// D11 = Digitale O/P -klokpen
// D12 = Digitale O/P Data Pin
//
#insluit
#insluit
const int numDevices = 2; // aantal MAX7219s gebruik
const int dataPin = 12;
const int clkPin = 11;
const int csPin = 10;
LedControl lc = LedControl (dataPin, clkPin, csPin, numDevices);
// Los hierdie kode in die Arduino -ontwikkelingsomgewing
#definieer LeftEye1 0
#definieer RightEye1 1
#definieer LeftEye2 2
#definieer RightEye2 3
#definieer LeftEye3 4
#definieer RightEye3 5
#definieer LeftEye4 6
#definieer RightEye4 7
#definieer LeftEye5 8
#definieer RightEye5 9
#defineer Linkeroog6 10
#definieer RightEye6 11
#define LeftEye7 12
#definieer RightEye7 13
#define LeftEye8 14
#definieer RightEye8 15
#define LeftEye9 16
#definieer RightEye9 17
#define LeftEye10 18
#definieer 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
#definieer LeftEye16 30
#definieer RightEye16 31
#define LeftEye17 32
#definieer RightEye17 33
#define LeftEye18 34
#definieer RightEye18 35
#define LeftEye19 36
#definieer RightEye19 37
#definieer LeftEye20 38
#definieer RightEye20 39
typedef struct {
const ongetekende 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; // indekswyser na binaryArray wat 'n animasieraam beteken
int frameDelay; // Ongeveer vertraging in Millisekondes om hierdie geanimeerde raam te vertoon
int frameLuminance; // 0… 15, Die intensiteit van die led -matriks vir 'n gegewe raam
} frameType;
frameType film =
{
// Knipoog
{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {LeftEye2, 5, 1}, // Weer vol
{LeftEye1, 1500, 2}, // Frons
{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}
};
leegte vertraging Millis (int millisekondes)
{
vir (int i = 0; i <millisekondes; i ++)
delayMicroseconds (1000);
}
ongeldige opstelling () {
vir (int x = 0; x <numDevices; x ++) {
lc.stop (x, vals); // Die MAX72XX is tydens die opstart in 'n energiebesparende modus
lc.setIntensity (x, 1); // Stel die helderheid op die standaardwaarde
lc.clearDisplay (x); // en maak die skerm skoon
}
}
leemte -lus () {
lc.setIntensity (0, 3);
lc.setIntensity (1, 3);
terwyl (waar) {
vir (int a = 0; a <(sizeof (film) / sizeof (frameType)); a ++)
{
vir (int i = 0; i <8; i ++)
{
lc.setRow (0, i, binaryArray [film [a].frameCount].array1 );
lc.setRow (1, i, binaryArray [movie [a].frameCount + 1].array1 );
lc.setIntensity (0, film [a].frameLuminance);
lc.setIntensity (1, film [a].frameLuminance);
}
delayMillis (fliek [a].frameDelay);
}
}
}
Stap 3: Vergadering Deel 2
As u eers die Arduino IDE aan die gang het, moet u die kode kopieer en die kode saamstel/verifieer. As u die kode saamstel, word die HEX -lêer in die TEMP -lêergids van die rekenaar geskep. Voordat u die Arduino IDE sluit, kan u die HEX -lêer uit die temp -gids kopieer, en hierdie lêer is wat ons in die ATmega8 Chip moet inbrand om dit te laat werk.
Terwyl ek die kode saamgestel het, het ek die bord gekies as 'Arduino NG or Older' en verwerker as 'ATmega8' en nadat ek dit opgestel het, het ek die HEX -lêer van die tempmap van die rekenaar gekopieer voordat ek die Arduino IDE gesluit het.
Hierdie HEX -lêer is met 'n eksterne AVR -brander op die ATmega8 Chip verbrand. Ek het die sagteware 'Extreme Burner_AVR' en 'n AVR -branderbord daarvoor gebruik. Die prentjie van die bord is aangeheg. U kan enige AVR -programmeersagteware waarmee u gemaklik is, gebruik.
Die rede vir die gebruik van 'n eksterne programmeerder was dat ek nie die selflaaiprogram op die Atmega8 -skyfies wou verbrand nie, en sonder die selflaaiprogram sou hulle nie op die gewone Arduino -bord of met die Arduion IDE werk nie. Dit is redelik maklik om die HEX -lêers uit te haal sodra u die kode saamgestel het met die Arduino IDE en dit is wat ek gedoen het.
LET WEL
DIT IS BAIE BELANGRIK om die regte sekuriteitsbit -instellings te kies terwyl u 'n eksterne programmeerder gebruik.
Aangesien ons in hierdie geval nie 'n eksterne kristal gebruik nie en op die interne klok van die ATmega8 Chip staatmaak, is dit belangrik dat ons die lontstukke dienooreenkomstig instel. Ek het die volgende lontinstellings gekies.
Lfuse- E4
Hfuse - D9
WAT DIT BETEKEN
Dit beteken dat ons geen eksterne kristal of resonator gebruik nie
Die klok is ingestel op 8mHz interne klok
Nadat die ATmega8 Chip geprogrammeer is, was dit tyd om die projek saam te stel en te toets.
Stap 4: Verbind die oë
Die MAX7219 8x8 LED Matrix is soos hieronder verbind.
ATmega8 Board TO MAX7219 Matrix
IO Pin D10 NA CS PIN
IO -pen D11 OM PIN TE KLIK
IO Pin D12 NA DIN PIN
VCC TOT VCC
GND TOT GND
Verwys na prentjie
Stap 5: Koppel die PIR -sensor en -module
Vervolgens is die PIR -sensor aan die PIR -beheerder gekoppel
Board, die verbindings is soos volg
PIR -beheerbord na PIR -sensor
VCC tot VCC
CTRL na CTRL
GND tot GND
Verwys na Diagram
Dit is die deel wat dit alles laat gebeur. Die PIR -sensor neem die beweging van enige warmbloedige wese op en skakel die kragtoevoer na al die verskillende stroombane/modules aan. die tyd op die PIR -sensor is aangepas volgens die vereiste, en in hierdie geval is dit ongeveer 40 - 45 sekondes. Dit stuur 'n tydperk van ongeveer 40-45 sekondes 5 volt DC na al die stroombane wat daaraan gekoppel is.
Stap 6: Die MP3 -speler en die versterker
VOLGENDE die MP3 -speler module en die versterker module.
Die MP3 -speler wat ek gebruik het, hoef nie op 'n knoppie gedruk te word om aan te skakel nie, sodra die regte spanning daaraan toegedien word, begin dit outomaties. Ek het net een snit nodig gehad, so ek het die SD -kaart met die laagste geheue gevind (4 GB, want dit is byna onmoontlik om 'n kaart met 'n laer kapasiteit te kry). Die geluide wat ek van die internet afgelaai het, daar was 'n aantal klankeffekte wat afgelaai is, en dit is almal saamgestel om 'n enkele MP3 -snit te maak met behulp van die klankredakteursagteware. Ek gebruik 'Wave Editor' en laai uiteindelik die enigste snit op die SD -kaart. Die SD -kaart is in die MP3 -speler -module gemonteer en die uitset is aan die versterkermodule gekoppel om die geluid uit die luidspreker te kry.
Verwys na prentjie
Die LM386 versterker -chip benodig baie min eksterne komponente en lewer redelik goeie klank uit klein luidsprekers. Die kring is redelik maklik om van 'n perfboard te monteer, en dit het my ongeveer 15-20 minute geneem om hierdie een te monteer. Die prentjie is baie duidelik.
Stap 7: Die finale vergadering
Voordat ek alles in die omhulsel geplaas het, wou ek alles toets en die modules uiteensit soos benodig en die finale verbindings maak. Nadat ek tevrede was met die werking van die onderdele. Ek het dit reggemaak in die kartonbehuizing wat daarvoor gemaak is.
Ek heg 'n video aan na die finale samestelling van die rekwisiet.
Stap 8: DIE AFSLUITING
Die omhulsel
Die omhulsel is gemaak uit 'n ou kartondoos, rooi geverf. Die plek vir die oë en die PIR -sensor is met 'n skerp lem uitgesny. 'N Afdruk uit die skedel is op die boks geplak en die oë, ens.daarvolgens uitgeknip en die buitelyn is weer geteken met 'n swart Permanent Marker-pen. Ek het die hare gemaak van weggooide waterbottels, dit in dun repies gesny en dit met die Hot Melt Glue op die kop en sye geplak. Ek het 2 kleurveranderende LED's aan die kante reggemaak, en dit is gekoppel aan die uitgang van die PIR-beheerbord.
Daar is klein gaatjies vir die luidspreker gemaak en al die items is met behulp van Hot Melt Glue aan die binnekant van die boks vasgemaak. Die netsnoer is uit die agterkant van die boks gehaal en dit gaan daaroor.
Ek hoop dat u dit geniet om hierdie Halloween -stut vir die kinders te maak !!
Ek sal binnekort die klankgreep wat in hierdie projek gebruik is, heg.
Gelukkige Halloween aan almal !!
Aanbeveel:
Scary Pennywise: 7 stappe
Scary Pennywise: 'n kort beskrywing van die projek Vir hierdie projek het ons ons kennis oor programmering en kringloop wat ons geleer het in die vak "Akademiese gebruike en spesifieke terminologie in Engels" geïmplementeer. Die doel van die projek was om
Scary Microbit Light Sensor: 5 stappe
Scary Microbit Light Sensor: Wil jy jou vriende skrik? Wel, u het op die regte plek gekom. Vandag sal ek u wys hoe u 'n ligte sensasie, geraas, 'n spookagtige truuk kan maak met u mikrobit
Scary Pumpkin Candy Machine vir Halloween: 5 stappe
Scary Pumpkin Candy Machine vir Halloween: Hallo almal! Gelukkige Holloween !! Ons het 'n pampoenlantaarn gebou wat musiek sal speel en lekkergoed sal spoeg as iemand daarby uitkom
SimpleClean Psycho Pass Dominator Prop: 6 stappe
SimpleClean Psycho Pass Dominator Prop: Dit is my eerste poging om stutte te maak. Ek het dit reggekry om dit binne 'n week van skoolvakansie uit te jaag deur ter plaatse te bou. Hierdie dominatorstut om van 'n nie-dodelike verlamde in die dodelike elimineermodus te kan verander, speel die regte
Flash -programmering van die Joinrun Smart Socket (EU -prop): 6 stappe
Flash Programmering van die Joinrun Smart Socket (EU -prop): Die " Joinrun Smart Wifi " met 'n USB -aansluiting is 'n ander op ESP8266 gebaseerde wifi -aansluiting, met 'n aangename ontwerp, 'n klein vormfaktor en 'n ekstra USB -laaipoort. Dit het die smartlife -app nodig om dit via 'n