Innholdsfortegnelse:
- Rekvisita
- Trinn 1: De forskjellige modulene
- Trinn 2: Monteringsdelen 1
- Trinn 3: Montering Del 2
- Trinn 4: Koble til øynene
- Trinn 5: Koble til PIR -sensoren og modulen
- Trinn 6: MP3 -spilleren og forsterkeren
- Trinn 7: Den siste forsamlingen
- Trinn 8: KAPITTELEN
Video: Halloween Scary Eyes Prop: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Gjennom årene, ved å lage forskjellige prosjekter, var det en
hele samlingen av forskjellige moduler som bare lå ubrukt, og jeg ønsket å bruke i det minste noen av dem til noe som ville være morsomt og kreativt på samme tid.
Da jeg gikk gjennom "instructables.com -nettstedet" for ideer, fant jeg ut på noen få prosjekter som jeg trodde kunne blandes sammen for å lage noe til denne "Halloween".
Jeg må gi æren til Steve Quinn, Unexpected Maker for å ha brukt ideene deres.
Rekvisita
PUNKTER OG MODULER BRUKT
Moduler brukt
1 Frittstående Atmega8 Board
2 PIR -basert styrekort for 5 volt utgang
3 LM386 forsterkerkort
4 Generisk MP3 -spillermodul
5 MAX7219 8x8 LED -moduler
6 PIR -modul (generisk)
7 4”4 Ohm høyttaler
Andre materialer
en. Tom pappeske
b. Tomme engangsvannflasker
c. Fargeskiftende LED 5V
d. Assorterte ledninger
e. Limpistol
f. Loddejern
g. Diverse verktøy og kuttere
h. 12V 1A trinn ned transformator
Viktig
1 Arduion IDE
2 Programmeringskort for AVR -brikker
3 Programmeringsprogramvare (brennende)
Trinn 1: De forskjellige modulene
Først skal vi undersøke hvordan vi lager de forskjellige modulene We
Jeg kan absolutt lage bare en PCB for all elektronikken og få prosjektet til å fungere helt fint, men for meg var tanken å bruke de forskjellige elementene som jeg allerede hadde laget for forskjellige prosjekter, og nå som behovet for dem var over, jeg ville bare bruke disse elementene på nytt.
ATmega8 -styret
Jeg bruker ATmega8 -brikken uten ekstern krystall. Egentlig ble disse brettene laget for å kjøre noen P10 16x32 LED -moduler, og jeg hadde noen igjen fra dette prosjektet. Bildet av brettet og PCB -oppsettet er som følger (se bilder). Det er utallige artikler om hvordan du lager ditt eget Arduino -bord om “instrukser”. Du kan ganske enkelt bruke et gammelt Arduino -bord som du kanskje har liggende.
PIR -kontrollerkort
Dette PIR -brettet ble laget for å slå på og av noen små LED -baserte festivaldekorasjoner, og nå lå det bare og jeg bestemte meg for å ta det i bruk. Kretsoppsettet er vist på bildene
Forsterkerkortet LM 386
Dette er forsterkermodulen som forsterker lyden fra MP3 -spillermodulen. oppsettet og kretsen er ganske enkel og bildene sier alt. kretsoppsettet og bildet av det ferdige brettet er selvforklarende.
MP3 -spillermodulen
Jeg har brukt MP3 -spillermodulen som er vist på bildet. Den er lett tilgjengelig på Amazon etc., den er billig og enkel å bruke. Det beste med denne modulen er at den ikke krever noen ekstra kommando eller tilkobling for å begynne å spille. I det øyeblikket den riktige strømmen er levert til brettet, begynner det å gjøre jobben sin.
MAX7219 8x8 LED -moduler
Disse 8x8 LED -skjermmodulene er lett tilgjengelige på Amazon etc. Bilder av de jeg brukte er gitt.
PIR -modul
Jeg har brukt den lett tilgjengelige PIR -sensormodulen. Den er tilgjengelig på Amazon etc., den er billig og enkel å bruke. Bildene er gitt som referanse.
Trinn 2: Monteringsdelen 1
Konseptet var å kombinere alle disse modulene og lage en Halloween Prop som ville bli aktivert når noen krysser foran rekvisitten. For dette koblet jeg 12 volt strømforsyningen til PIR Control Board, som igjen trappet spenningen ned til 5V DC ved hjelp av 7805 IC og denne 5V DC spenningen ble videreført til PIR -sensoren og videre til de andre modulene, ATmega8 -kortet, forsterkermodulen og MP3 -spillermodulen når noen kom foran PIR -sensoren. Flow Chart sier alt.
Som vi kan se, utløser PIR -sensoren ATmega8 -kortet, forsterkermodulen og MP3 -spillermodulen, ATmega8 styrer LED Matrix “Eyes”, MP3 -spilleren spiller av lydeffektene og forsterkermodulen sender signalet til høyttaleren.
Arduino -koden er et direkte løft fra Steve Quinns instruerbare, bortsett fra at tiden er endret i koden. Koden som brukes er gitt nedenfor. INO -filen er også vedlagt.
Koden
// D10 = Digital O/P CS Pin
// D11 = Digital O/P klokkepinne
// D12 = Digital O/P -datapinne
//
#inkludere
#inkludere
const int numDevices = 2; // antall MAX7219 som er brukt
const int dataPin = 12;
const int clkPin = 11;
const int csPin = 10;
LedControl lc = LedControl (dataPin, clkPin, csPin, numDevices);
// Slipp denne koden inn i Arduino utviklingsmiljø
#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 usignert 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; // indekspeker til binaryArray som betyr animasjonsramme
int frameDelay; // Omtrentlig forsinkelse i Millisekunder for å holde visning av denne animerte rammen
int frameLuminance; // 0… 15, Intensiteten til ledmatrisen for en gitt 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}, // Full bred igjen
{LeftEye1, 1500, 2}, // Rynke
{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}
};
tomromforsinkelse Millis (int millisekunder)
{
for (int i = 0; i <millisekunder; i ++)
delayMicroseconds (1000);
}
ugyldig oppsett () {
for (int x = 0; x <numDevices; x ++) {
lc.stopp (x, usann); // MAX72XX er i strømsparingsmodus ved oppstart
lc.setIntensity (x, 1); // Still lysstyrken til standardverdi
lc.clearDisplay (x); // og fjern displayet
}
}
void loop () {
lc.setIntensity (0, 3);
lc.setIntensity (1, 3);
mens (sant) {
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);
}
}
}
Trinn 3: Montering Del 2
Når du har Arduino IDE i gang, må du kopiere koden og kompilere/bekrefte koden. Når du kompilerer koden, opprettes HEX -filen i TEMP -mappen på datamaskinen. Før du lukker Arduino IDE, kan du kopiere HEX -filen fra temp -mappen, og denne filen er det vi trenger å brenne inn i ATmega8 Chip for å få den til å fungere.
Mens jeg kompilerte koden, har jeg valgt tavlen som”Arduino NG or Older” og prosessor som “ATmega8”, og etter å ha kompilert, kopierte jeg HEX -filen fra Temp -mappen på datamaskinen før jeg lukket Arduino IDE.
Denne HEX -filen ble brent på ATmega8 Chip med en ekstern AVR -brenner. Jeg brukte programvaren “Extreme Burner_AVR” og et AVR Burner Board til formålet. Bildet av tavlen er vedlagt. Du kan bruke hvilken som helst AVR -programmeringsprogramvare du er komfortabel med.
Grunnen til å bruke en ekstern programmerer var at jeg ikke ønsket å brenne bootloaderen på Atmega8 -brikkene, og uten bootloader ville de ikke fungere på det vanlige Arduino -kortet eller med Arduion IDE. Det er ganske enkelt å pakke ut HEX -filene når du har samlet koden med Arduino IDE, og det er det jeg gjorde.
MERK
DET ER VELDIG VIKTIG å velge riktige sikringsbitinnstillinger mens du bruker en ekstern programmerer.
I dette tilfellet, siden vi ikke bruker en ekstern krystall og stoler på den interne klokken til ATmega8 -brikken, er det viktig at vi konfigurerer sikringsbitene deretter. Jeg har valgt følgende sikringsinnstillinger.
Lfuse- E4
Hfuse - D9
HVA DETTE BETYR
Betyr at vi ikke bruker ekstern krystall eller resonator
Klokken er satt til 8mHz intern klokke
Når ATmega8 Chip var programmert, var det på tide å sette sammen prosjektet og teste det.
Trinn 4: Koble til øynene
MAX7219 8x8 LED Matrix var tilkoblet som nedenfor.
ATmega8 Board TO MAX7219 Matrix
IO Pin D10 TIL CS PIN
IO Pin D11 TO CLK PIN
IO Pin D12 TIL DIN PIN
VCC TIL VCC
GND TIL GND
Se Bilde
Trinn 5: Koble til PIR -sensoren og modulen
Deretter ble PIR -sensoren koblet til PIR -kontrolleren
Board, tilkoblingene er som følger
PIR -styrekort til PIR -sensor
VCC til VCC
CTRL til CTRL
GND til GND
Se diagram
Dette er delen som får alt til å skje. PIR -sensoren fanger opp bevegelsen til en varmblodig skapning og slår på strømforsyningen til alle de forskjellige kretsene/modulene. tiden på PIR -sensoren er justert i henhold til kravet, og i dette tilfellet er det omtrent 40 - 45 sekunder. Den sender 5 volt likestrøm til alle kretsene som er koblet til den i en periode på omtrent 40-45 sekunder.
Trinn 6: MP3 -spilleren og forsterkeren
NESTE MP3 -spillermodulen og forsterkermodulen.
MP3 -spilleren jeg brukte, trenger ikke å trykke på noen knapp for å slå på, i det øyeblikket riktig spenning er tilført den, begynner den automatisk å spille. Jeg trengte bare ett spor, så jeg fant SD -kortet med det laveste minnet jeg kunne (4 GB fordi det er nesten umulig å få noe kort med mindre kapasitet i disse dager). Lydene jeg lastet ned fra internett, faktisk var det en rekke lydeffekter som ble lastet ned, og de ble alle samlet for å lage et enkelt MP3 -spor ved hjelp av lydredigeringsprogramvaren. Jeg brukte "Wave Editor" og lastet til slutt dette eneste sporet til SD -kortet. SD -kortet ble montert i MP3 -spillermodulen og utgangen ble koblet til forsterkermodulen for å få lyden fra høyttaleren.
Se Bilde
LM386 Amplifier Chip krever svært få eksterne komponenter og leverer ganske god lyd fra små høyttalere. Kretsen er ganske enkel å montere av et perfboard, og det tok meg omtrent 15-20 minutter å sette sammen denne. Bildet er ganske selvforklarende.
Trinn 7: Den siste forsamlingen
Før jeg monterte alt i kabinettet, ønsket jeg å teste alt og legge ut modulene etter behov og gjorde de siste tilkoblingene. Etter at jeg var fornøyd med arbeidet med delene. Jeg fikset dem inne i kortkortet som ble laget for formålet.
Jeg legger ved en video etter den siste monteringen av rekvisitten.
Trinn 8: KAPITTELEN
Vedlegget
Vedlegget var laget av en gammel kartongeske, malt rødt. Stedet for øynene og PIR -sensoren ble kuttet ut med et skarpt blad. Et utskrift av skallen ble limt på esken og øynene etc.kuttet ut tilsvarende og konturen ble tegnet på nytt med en svart Permanent Marker-penn. Jeg lagde håret av kasserte vannflasker, skar dem i tynne strimler og limte dem med Hot Melt Lim på hodet og sidene. Jeg fikset to fargeskiftende lysdioder på sidene, og disse ble koblet til utgangen fra PIR-kontrollerkortet.
Det ble laget små hull for høyttaleren, og alle elementene ble fikset ved hjelp av Hot Melt Lim på innsiden av esken. Strømledningen ble tatt ut på baksiden av esken, og det er omtrent det.
Jeg håper du liker å lage denne Halloween -rekvisitten for barna!
Jeg legger snart til lydklippet som ble brukt i dette prosjektet.
God Halloween til alle !!
Anbefalt:
Spooky Fading LED Eyes: 5 trinn (med bilder)
Spooky Fading LED Eyes: Å bruke en mikrokontroller, som en Arduino, til å visne en LED er ikke alltid det beste alternativet. Noen ganger vil du ha en enkel, lav strømkrets som kan legges direkte inn i en rekvisitt mens du går fra et batteri i flere uker om gangen. Etter å ha testet om
SimpleClean Psycho Pass Dominator Prop: 6 trinn
SimpleClean Psycho Pass Dominator Prop: Dette er mitt første forsøk på å lage rekvisitter. Jeg klarte å skynde dette ut i en uke med skoleferie, gjennom å bygge på stedet. Denne dominatorstøtten for å være i stand til å forvandle seg fra en ikke-dødelig lammelse til den dødelige elimineringsmodus, spille den riktige
Mini Prop Flamethrower: 6 trinn
Mini Prop Flamethrower: Vil du ha en personlig flammekaster for smelting av snø, smelting av zombier eller hjemmeforsvar, men ikke ønsker å bruke $ 400, så er dette noe for deg
Singing Bust Prop: 7 trinn
Singing Bust Prop: Har du noen gang lurt på hvordan Singing Busts i Haunted Mansion fungerte eller til og med ønsket å prøve å gjøre dem godt, vil denne Instructable vise deg hvordan du gjør dem og det er veldig enkelt
Life Size Robot Prop: 6 trinn
Life Size Robot Prop: Liza Trainer har kommet med noen ganske fantastiske ting gjennom årene. Her er en av hennes mange kreasjoner som starter, ikke overraskende, med en enkel idé. Nyt :). OK gutta, jeg ser problemet. Nei, jeg plagierer ikke, Liza er en venn, og