Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: De forskellige moduler
- Trin 2: Samlingen Del 1
- Trin 3: Montering Del 2
- Trin 4: Tilslutning af øjnene
- Trin 5: Tilslutning af PIR -sensor og -modul
- Trin 6: MP3 -afspilleren og forstærkeren
- Trin 7: Den sidste samling
- Trin 8: KAPITELET
Video: Halloween Scary Eyes Prop: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
I årenes løb, ved at lave forskellige projekter, var der en
hele samlingen af forskellige moduler, der bare lå ubrugt, og jeg ville i det mindste bruge nogle af dem til noget, der ville være sjovt og kreativt på samme tid.
Da jeg gennemgik “instructables.com -webstedet” for ideer, fandt jeg på et par projekter, som jeg troede kunne blandes sammen for at lave noget til denne “Halloween”.
Jeg må give æren til Steve Quinn, Unexpected Maker for at bruge deres ideer.
Forbrugsvarer
BRUGTE PUNKTER OG MODULER
Moduler brugt
1 Stand alone Atmega8 Board
2 PIR -baseret controllerkort til 5 volt output
3 LM386 Forstærkerkort
4 Generisk MP3 -afspiller modul
5 MAX7219 8x8 LED -moduler
6 PIR -modul (Generisk)
7 4”4 Ohm højttaler
Andre materialer
en. Tom papkasse
b. Tomme vandflasker til engangsbrug
c. Farveskiftende LED 5V
d. Assorterede ledninger
e. Limpistol
f. Loddekolbe
g. Diverse værktøjer og fræsere
h. 12V 1A trin ned transformator
Vigtig
1 Arduion IDE
2 Programmeringskort til AVR -chips
3 Programmerings (brændende) software
Trin 1: De forskellige moduler
Først vil vi undersøge, hvordan vi laver de forskellige moduler, We
kunne helt sikkert kun lave et PCB til al elektronikken og få projektet til at fungere fint, men for mig var tanken at bruge de forskellige varer, som jeg allerede havde lavet til forskellige projekter, og nu hvor behovet for dem var forbi, jeg ville bare genbruge disse varer.
ATmega8 Board
Jeg bruger ATmega8 -chippen uden nogen ekstern krystal. Faktisk blev disse tavler lavet til at køre nogle P10 16x32 LED -moduler, og jeg havde et par tilovers fra dette projekt. Billedet af kortet og PCB -layoutet er som følger (se billeder). Der er utallige artikler om at lave dit eget Arduino Board om “instruktører”. Du kan simpelthen bruge et gammelt Arduino Board, som du måske har liggende.
PIR Controller Board
Dette PIR Board blev lavet til at tænde og slukke nogle små LED -baserede festivaldekorationer, og nu lå det bare og jeg besluttede at tage det i brug. Kredslayoutet er vist på billederne
LM 386 forstærkerkortet
Dette er forstærkermodulet, der forstærker lydudgangen fra MP3 -afspillermodulet. layout og kredsløb er ret enkelt, og billederne siger alt. kredsløbets layout og billedet af det færdige bord er selvforklarende.
MP3 -afspiller modul
Jeg har brugt MP3 -afspillermodulet vist på billedet. Den er let tilgængelig på Amazon osv., Den er billig og let at bruge. Den bedste del ved dette særlige modul er, at det ikke kræver nogen ekstra kommando eller forbindelse for at starte afspilningen. I det øjeblik den korrekte strøm er forsynet med tavlen, begynder det at gøre sit job.
MAX7219 8x8 LED -moduler
Disse 8x8 LED -displaymoduler er let tilgængelige på Amazon osv. Der findes billeder af dem, jeg brugte.
PIR -modul
Jeg har brugt det let tilgængelige PIR -sensormodul. Den er tilgængelig på Amazon osv., Den er billig og let at bruge. Billederne er givet som reference.
Trin 2: Samlingen Del 1
Konceptet var at kombinere alle disse moduler og lave en Halloween Prop, der ville blive aktiveret, når nogen krydser foran rekvisitten. Til dette tilsluttede jeg 12 volt strømforsyningen til PIR -styrekortet, som igen steg spændingen til 5V DC ved hjælp af 7805 IC, og denne 5V DC -spænding blev sendt videre til PIR -sensoren og videre til de andre moduler, ATmega8 -kortet, forstærkermodulet og MP3 -afspillermodulet, når nogen kom foran PIR -sensoren. Flow Chart siger alt.
Som vi kan se, udløser PIR -sensoren ATmega8 -kortet, forstærkermodulet og MP3 -afspillermodulet, ATmega8 styrer LED Matrix “Eyes”, MP3 -afspilleren afspiller lydeffekterne og forstærkermodulet sender signalet til højttaleren.
Arduino -koden er et direkte løft fra Steve Quinns instruerbare, bortset fra at tiden er blevet ændret i koden. Den anvendte kode er angivet nedenfor. INO -filen er også vedhæftet.
Koden
// D10 = Digital O/P CS Pin
// D11 = Digital O/P Urnål
// D12 = Digital O/P Data Pin
//
#omfatte
#omfatte
const int numDevices = 2; // antal MAX7219'er brugt
const int dataPin = 12;
const int clkPin = 11;
const int csPin = 10;
LedControl lc = LedControl (dataPin, clkPin, csPin, numDevices);
// Drop denne kode i Arduino udviklingsmiljø
#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 usigneret 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; // indeksmarkør til binaryArray, der angiver animationsramme
int frameDelay; // Ca. forsinkelse i MilliSeconds for at holde visning af denne animerede ramme
int frameLuminance; // 0… 15, Intensiteten af ledmatrixen for en given ramme
} frameType;
frameType film =
{
// Blink
{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {LeftEye2, 5, 1}, // Fuld bred igen
{LeftEye1, 1500, 2}, // Rynker panden
{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}
};
tomrumsforsinkelse Millis (int millisekunder)
{
for (int i = 0; i <millisekunder; i ++)
delayMicroseconds (1000);
}
ugyldig opsætning () {
for (int x = 0; x <numDevices; x ++) {
lc.lukning (x, falsk); // MAX72XX er i strømbesparende tilstand ved opstart
lc.setIntensity (x, 1); // Indstil lysstyrken til standardværdien
lc.clearDisplay (x); // og ryd displayet
}
}
void loop () {
lc.setIntensity (0, 3);
lc.setIntensity (1, 3);
mens (sandt) {
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);
}
}
}
Trin 3: Montering Del 2
Når du har Arduino IDE i gang, skal du kopiere koden og kompilere/verificere koden. Når du kompilerer koden, oprettes HEX -filen i computerens TEMP -mappe. Inden du lukker Arduino IDE, kan du kopiere HEX -filen fra tempmappen, og denne fil er det, vi skal brænde ind i ATmega8 Chip for at få det til at fungere.
Mens jeg sammensatte koden, har jeg valgt tavlen som”Arduino NG eller Ældre” og processor som “ATmega8”, og efter kompilering kopierede jeg HEX -filen fra Temp -mappen på computeren, før jeg lukkede Arduino IDE.
Denne HEX -fil blev brændt på ATmega8 Chip med en ekstern AVR -brænder. Jeg brugte softwaren “Extreme Burner_AVR” og et AVR Burner Board til formålet. Billedet af tavlen er vedhæftet. Du kan bruge enhver AVR -programmeringssoftware, som du er fortrolig med.
Grunden til at bruge en ekstern programmerer var, at jeg ikke ønskede at brænde bootloaderen på Atmega8 -chipsene og uden bootloaderen ville de ikke fungere på det almindelige Arduino Board eller med Arduion IDE. Det er ret let at udtrække HEX -filerne, når du har kompileret koden med Arduino IDE, og det er, hvad jeg gjorde.
BEMÆRK
DET ER MEGET VIGTIGT at vælge de korrekte sikringsbitindstillinger, mens du bruger en ekstern programmerer.
I dette tilfælde, da vi ikke bruger am ekstern krystal og er afhængige af det interne ur i ATmega8 Chip, er det vigtigt, at vi konfigurerer sikringsbitene i overensstemmelse hermed. Jeg har valgt følgende sikringsindstillinger.
Lfuse- E4
Hfuse - D9
HVAD DETTE BETYDER
Betyder, at vi ikke bruger ekstern krystal eller resonator
Uret er indstillet til 8mHz internt ur
Når ATmega8 Chip var programmeret, var det tid til at samle projektet og teste det.
Trin 4: Tilslutning af øjnene
MAX7219 8x8 LED Matrix blev tilsluttet som nedenfor.
ATmega8 Board TO MAX7219 Matrix
IO Pin D10 TIL CS PIN
IO Pin D11 TIL CLK PIN
IO Pin D12 TIL DIN PIN
VCC TIL VCC
GND TIL GND
Se Billede
Trin 5: Tilslutning af PIR -sensor og -modul
Derefter blev PIR -sensoren forbundet til PIR -controlleren
Board, forbindelserne er som følger
PIR -styrekort til PIR -sensor
VCC til VCC
CTRL til CTRL
GND til GND
Se diagram
Det er den del, der får det hele til at ske. PIR -sensoren opfanger enhver varmblods væsens bevægelse og tænder for strømforsyningen til alle de forskellige kredsløb/moduler. tiden på PIR -sensoren er blevet justeret i henhold til kravet, og i dette tilfælde er det cirka 40 - 45 sekunder. Den sender 5 volt DC til alle kredsløb, der er knyttet til den, i en periode på ca. 40-45 sekunder.
Trin 6: MP3 -afspilleren og forstærkeren
NÆSTE MP3 -afspillermodulet og forstærkermodulet.
Den MP3 -afspiller, jeg brugte, behøver ikke at trykke på nogen knap for at tænde, i det øjeblik den korrekte spænding tilføres den, begynder den automatisk at afspille. Jeg havde kun brug for et spor, så jeg fandt SD -kortet med den laveste hukommelse, jeg kunne (4 GB, fordi det er næsten umuligt at få noget kort med mindre kapacitet i disse dage). De lyde, jeg downloadede fra internettet, faktisk var der en række lydeffekter, der blev downloadet, og de blev alle samlet til at lave et enkelt MP3 -spor ved hjælp af lydredigeringssoftwaren. Jeg brugte "Wave Editor" og indlæste til sidst dette eneste spor til SD -kortet. SD -kortet blev monteret i MP3 -afspillermodulet, og udgangen blev forbundet til forstærkermodulet for at få lyden fra højttaleren.
Se Billede
LM386 Amplifier Chip kræver meget få eksterne komponenter og leverer rimelig god lyd fra små højttalere. Kredsløbet er ret let at samle som et perfboard, og det tog mig cirka 15-20 minutter at samle dette. Billedet er ganske selvforklarende.
Trin 7: Den sidste samling
Inden montering af alt i kabinettet, ville jeg teste alt og anlægge modulerne efter behov og foretog de sidste tilslutninger. Efter at jeg var tilfreds med arbejdet med delene. Jeg fikserede dem inde i kortkortets kabinet til formålet.
Jeg vedhæfter en video efter den sidste samling af rekvisitten.
Trin 8: KAPITELET
Indhegningen
Kabinettet var lavet af en gammel kartonæske, malet rød. Stedet for øjnene og PIR -sensoren blev skåret ud ved hjælp af et skarpt blad. Et tryk ud af kraniet blev indsat på æsken og øjnene osv.skåret ud i overensstemmelse hermed, og konturen blev tegnet igen med en sort permanent markørpen. Jeg lavede håret af kasserede vandflasker, skar dem i tynde strimler og indsatte dem med Hot Melt Lim på hovedet og siderne. Jeg fikserede 2 farveskiftende lysdioder på siderne, og disse blev forbundet til udgangen fra PIR-controllerkortet.
Der blev lavet små huller til højttaleren, og alle emner blev rettet ved hjælp af Hot Melt Lim på indersiden af æsken. Netledningen blev taget ud af bagsiden af kassen, og det er det ved.
Jeg håber du nyder at lave denne Halloween rekvisit til børnene !!
Jeg vedhæfter snart det lydklip, der blev brugt i dette projekt.
Glædelig Halloween til alle !!
Anbefalede:
Scary Microbit Light Sensor: 5 trin
Scary Microbit Light Sensor: Vil du skræmme dine venner? Godt du er kommet til det rigtige sted. I dag vil jeg vise dig, hvordan du laver en lysføling, støjfremstilling, uhyggeligt trick til at gøre med din mikrobit
Scary Pumpkin Candy Machine til Halloween: 5 trin
Scary Pumpkin Candy Machine til Halloween: Hej alle sammen! Glad Holloween !! Vi byggede en græskarlygte, der vil spille musik og spytte slik, når nogen kommer op til det
SimpleClean Psycho Pass Dominator Prop: 6 trin
SimpleClean Psycho Pass Dominator Prop: Dette er mit første forsøg i rekvisitfremstilling. Det lykkedes mig at skynde det ud i en uge med skoleferie, ved at bygge på stedet. Denne dominatorstøtte til at være i stand til at omdanne fra en ikke-dødelig lammelse til den dødelige eliminator-tilstand, spille den passende
Mini Prop Flamethrower: 6 trin
Mini Prop Flamethrower: Vil du have en personlig flammekaster til smeltning af sne, smeltende zombier eller hjemmeforsvar, men vil ikke bruge $ 400, så er dette noget for dig
Singing Bust Prop: 7 trin
Singing Bust Prop: Har du nogensinde spekuleret på, hvordan Singing Busts i Haunted Mansion fungerede eller endda ønsket at prøve at gøre dem godt, vil denne Instructable vise dig, hvordan du laver dem og det er virkelig enkelt