Innehållsförteckning:
- Tillbehör
- Steg 1: De olika modulerna
- Steg 2: Monteringsdelen 1
- Steg 3: Montering Del 2
- Steg 4: Ansluta ögonen
- Steg 5: Anslutning av PIR -sensor och modul
- Steg 6: MP3 -spelaren och förstärkaren
- Steg 7: Slutsamlingen
- Steg 8: INKLUTNINGEN
Video: Halloween Scary Eyes Prop: 8 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Under åren, när man gjorde olika projekt, fanns det en
hela samlingen av olika moduler som bara låg oanvända och jag ville använda åtminstone några av dem till något som skulle vara roligt och kreativt på samma gång.
När jag gick igenom "instructables.com -sajten" för Idéer, chansade jag på några projekt som jag trodde skulle kunna blandas ihop för att göra något till denna "Halloween".
Jag måste tacka Steve Quinn, Unexpected Maker för att han använde sina idéer.
Tillbehör
ARTIKLAR OCH MODULER ANVÄNDA
Moduler som används
1 Fristående Atmega8 Board
2 PIR -baserat styrkort för 5 volt utgång
3 LM386 förstärkarkort
4 Generisk MP3 -spelare modul
5 MAX7219 8x8 LED -moduler
6 PIR -modul (generisk)
7 4”4 Ohm högtalare
Andra material
a. Tom kartong
b. Tomma vattenflaskor för engångsbruk
c. Färgbytande LED 5V
d. Blandade trådar
e. Limpistol
f. Lödkolv
g. Diverse verktyg och skärare
h. 12V 1A steg ner transformator
Viktig
1 Arduion IDE
2 Programmeringskort för AVR -chips
3 Programmeringsprogram (bränning)
Steg 1: De olika modulerna
Först ska vi undersöka hur man gör de olika modulerna, vi
kan verkligen göra bara ett kretskort för all elektronik och få projektet att fungera bra, men för mig var tanken att använda de olika artiklarna som jag redan hade gjort tidigare för olika projekt och nu när behovet av dem var över, jag ville bara återanvända dessa föremål.
ATmega8 -styrelsen
Jag använder ATmega8 -chipet utan någon extern kristall. Egentligen gjordes dessa brädor för att köra några P10 16x32 LED -moduler och jag hade några kvar från detta projekt. Bilden på kortet och PCB -layouten är följande (se bilder). Det finns otaliga artiklar om hur du gör din egen Arduino -tavla om "instruktioner". Du kan helt enkelt använda vilken gammal Arduino Board som helst som du kan ha legat.
PIR -styrkort
Denna PIR -bräda gjordes för att slå på och av några små LED -baserade festivaldekorationer och nu låg den bara och jag bestämde mig för att använda den. Kretslayouten visas på bilderna
Förstärkarkortet LM 386
Detta är förstärkarmodulen som förstärker ljudutmatningen från MP3 -spelarmodulen. layouten och kretsen är ganska enkel och bilderna säger allt. kretslayouten och bilden av det färdiga kortet är självförklarande.
MP3 -spelare modul
Jag har använt MP3 -spelarmodulen som visas på bilden. Den är lätt tillgänglig på Amazon etc., den är billig och lätt att använda. Det bästa med den här modulen är att det inte kräver något extra kommando eller anslutning för att börja spela. I det ögonblick som rätt ström tillförs kortet, börjar det göra sitt jobb.
MAX7219 8x8 LED -moduler
Dessa 8x8 LED -displaymoduler är lätt tillgängliga på Amazon etc. bilder på de jag använde tillhandahålls.
PIR -modul
Jag har använt den lättillgängliga PIR -sensormodulen. Den är tillgänglig på Amazon etc., den är billig och enkel att använda. Bilderna tillhandahålls som referens.
Steg 2: Monteringsdelen 1
Konceptet var att kombinera alla dessa moduler och göra en Halloween Prop som skulle aktiveras när någon korsar framför rekvisiten. För detta anslöt jag 12 volts strömförsörjning till PIR -styrkortet, vilket i sin tur stegrade spänningen till 5V DC med hjälp av 7805 IC och denna 5V DC -spänning överfördes till PIR -sensorn och vidare till de andra modulerna, ATmega8 -kortet, förstärkarmodulen och MP3 -spelarmodulen när någon kom framför PIR -sensorn. Flödesschemat säger allt.
Som vi kan se utlöser PIR -sensorn ATmega8 -kortet, förstärkarmodulen och MP3 -spelarmodulen, ATmega8 styr LED -matrisen”Eyes”, MP3 -spelaren spelar ut ljudeffekterna och förstärkarmodulen skickar signalen till högtalaren.
Arduino -koden är ett direkt lyft från Steve Quinns instruerbara, förutom att tiden har ändrats i koden. Koden som används anges nedan. INO -filen bifogas också.
Koden
// D10 = Digital O/P CS -stift
// D11 = Digital O/P klockstift
// D12 = Digital O/P Data Pin
//
#omfatta
#omfatta
const int numDevices = 2; // antal MAX7219 som används
const int dataPin = 12;
const int clkPin = 11;
const int csPin = 10;
LedControl lc = LedControl (dataPin, clkPin, csPin, numDevices);
// Släpp den här koden till Arduino utvecklingsmiljö
#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 osignerad 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; // indexpekare till binaryArray som betyder animeringsram
int frameDelay; // Ungefärlig fördröjning i MilliSeconds för att vänta visa denna animerade ram
int frameLuminance; // 0… 15, Intensiteten för ledmatrisen för en given ram
} frameType;
frameType film =
{
// Blinka
{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 igen
{LeftEye1, 1500, 2}, // Rynka pannan
{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}
};
void delayMillis (int millisekunder)
{
för (int i = 0; i <millisekunder; i ++)
delayMicroseconds (1000);
}
void setup () {
för (int x = 0; x <numDevices; x ++) {
lc.avstängning (x, falsk); // MAX72XX är i energisparläge vid start
lc.setIntensity (x, 1); // Ställ in ljusstyrkan till standardvärdet
lc.clearDisplay (x); // och rensa displayen
}
}
void loop () {
lc.setIntensity (0, 3);
lc.setIntensity (1, 3);
medan (sant) {
för (int a = 0; a <(sizeof (film) / sizeof (frameType)); a ++)
{
för (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);
}
}
}
Steg 3: Montering Del 2
När du har Arduino IDE igång måste du kopiera koden och kompilera/verifiera koden. När du kompilerar koden skapas HEX -filen i datorns TEMP -mapp. Innan du stänger Arduino IDE kan du kopiera HEX -filen från temp -mappen och den här filen är vad vi behöver bränna in i ATmega8 Chip för att få det att fungera.
När jag sammanställde koden har jag valt kortet som”Arduino NG eller äldre” och processor som”ATmega8” och efter kompilering kopierade jag HEX -filen från Temp -mappen på datorn innan jag stängde Arduino IDE.
Denna HEX -fil brändes på ATmega8 Chip med en extern AVR -brännare. Jag använde programvaran “Extreme Burner_AVR” och en AVR Burner Board för ändamålet. Bilden på tavlan bifogas. Du kan använda alla AVR -programmeringsprogram som du är bekväm med.
Anledningen till att använda en extern programmerare var att jag inte ville bränna startladdaren på Atmega8 -chipsen och utan bootloader skulle de inte fungera på det vanliga Arduino -kortet eller med Arduion IDE. Det är ganska enkelt att extrahera HEX -filerna när du har sammanställt koden med Arduino IDE och det är vad jag gjorde.
NOTERA
DET ÄR MYCKET VIKTIGT att välja rätt säkringsbitinställningar när du använder en extern programmerare.
I det här fallet, eftersom vi inte använder am extern kristall och förlitar oss på den interna klockan i ATmega8 Chip, är det viktigt att vi konfigurerar säkringsbitarna i enlighet därmed. Jag har valt följande säkringsinställningar.
Lfuse- E4
Hfuse - D9
VAD BETYDER DETTA
Innebär att vi inte använder extern kristall eller resonator
Klockan är inställd på 8mHz intern klocka
När ATmega8 -chipet var programmerat var det dags att montera projektet och testa det.
Steg 4: Ansluta ögonen
MAX7219 8x8 LED Matrix var ansluten enligt nedan.
ATmega8 Board TO MAX7219 Matrix
IO Pin D10 TO CS PIN
IO Pin D11 TO CLK PIN
IO Pin D12 TILL DIN PIN
VCC TILL VCC
GND TILL GND
Se Bild
Steg 5: Anslutning av PIR -sensor och modul
Därefter var PIR -sensorn ansluten till PIR -styrenheten
Board, anslutningarna är följande
PIR -styrkort till PIR -sensor
VCC till VCC
CTRL till CTRL
GND till GND
Se diagram
Det här är den delen som får allt att hända. PIR -sensorn upptäcker rörelsen hos alla varmblodiga varelser och slår på strömförsörjningen till alla olika kretsar/moduler. tiden på PIR -sensorn har justerats enligt kravet och i detta fall är det cirka 40 - 45 sekunder. Den skickar 5 volt likström till alla kretsar som är anslutna till den under en period av cirka 40-45 sekunder.
Steg 6: MP3 -spelaren och förstärkaren
NÄSTA MP3 -spelarmodulen och förstärkarmodulen.
MP3 -spelaren jag använde behöver inte tryckas på någon knapp för att sätta på den, så snart rätt spänning matas till den börjar den automatiskt spela. Jag behövde bara ett spår så jag hittade SD -kortet med det lägsta minnet jag kunde (4 GB eftersom det är nästan omöjligt att få något kort med mindre kapacitet idag). Ljuden jag laddade ner från internet, det fanns faktiskt ett antal ljudeffekter som laddades ner och de sammanställdes för att skapa ett enda MP3 -spår med hjälp av ljudredigeringsprogrammet. Jag använde “Wave Editor” och laddade slutligen detta enda spår till SD -kortet. SD -kortet monterades i MP3 -spelarmodulen och utgången anslöts till förstärkarmodulen för att få ljud från högtalaren.
Se Bild
LM386 Amplifier Chip kräver mycket få externa komponenter och levererar ganska bra ljud från små högtalare. Kretsen är ganska lätt att montera av en perfboard och det tog mig cirka 15-20 minuter att montera den här. Bilden är ganska självförklarande.
Steg 7: Slutsamlingen
Innan jag monterade allt i höljet ville jag testa allt och lägga ut modulerna efter behov och göra de slutliga anslutningarna. Efter att jag var nöjd med hur delarna fungerade. Jag fixade dem inuti kartongkapslingen som gjorts för ändamålet.
Jag bifogar en video efter den slutliga monteringen av rekvisiten.
Steg 8: INKLUTNINGEN
Kapslingen
Kapslingen gjordes av en gammal kartonglåda, målad röd. Platsen för ögonen och PIR -sensorn klipptes ut med ett skarpt blad. Ett tryck från skallen klistrades på lådan och ögonen etc.klippte ut i enlighet därmed och konturen ritades om med en svart Permanent Marker-penna. Jag gjorde håret av kasserade vattenflaskor, skar dem i tunna remsor och klistrade in dem med Hot Melt Lim på huvudet och sidorna. Jag fixade två färgskiftande lysdioder på sidorna och dessa var anslutna till utgången från PIR-styrkortet.
Små hål gjordes för högtalaren och alla föremål fixerades med hjälp av Hot Melt Lim på insidan av lådan. Nätsladden togs ut från baksidan av lådan och det var ungefär det.
Jag hoppas att du gillar att göra denna Halloween rekvisita för barnen !!
Jag kommer att bifoga ljudklippet som används i det här projektet snart.
Glad Halloween till alla !!
Rekommenderad:
Scary Microbit Light Sensor: 5 steg
Scary Microbit Light Sensor: Vill du skrämma dina vänner? Tja, du har kommit till rätt ställe. Idag kommer jag att visa dig hur du gör en ljusavkänning, bullerframställning, skrämmande knep att göra med din mikrobit
Scary Pumpkin Candy Machine för Halloween: 5 steg
Scary Pumpkin Candy Machine för Halloween: Hej alla! Glad Holloween !! Vi byggde en pumpa lykta som kommer att spela musik och spotta godis när någon kommer fram till det
SimpleClean Psycho Pass Dominator Prop: 6 steg
SimpleClean Psycho Pass Dominator Prop: Detta är mitt första försök att göra rekvisita. Jag lyckades skynda på detta på en veckas skollov, genom att bygga på plats. Detta dominatorstöd för att kunna förvandlas från en icke-dödlig förlamare till dödligt elimineringsläge, spela rätt
Mini Prop Flamethrower: 6 steg
Mini Prop Flamethrower: Vill du ha en personlig eldkastare för att smälta snö, smälta zombies eller hemmaförsvar men vill inte spendera $ 400 då är det här för dig
Singing Bust Prop: 7 steg
Singing Bust Prop: Har du någonsin undrat hur Singing Busts in the Haunted Mansion fungerade eller ens ville försöka göra dem bra kommer denna Instructable att visa dig hur du gör dem och det är verkligen enkelt