Sisukord:

Halloween Scary Eyes Prop: 8 sammu
Halloween Scary Eyes Prop: 8 sammu

Video: Halloween Scary Eyes Prop: 8 sammu

Video: Halloween Scary Eyes Prop: 8 sammu
Video: HALLOWEEN REVIEW: Eyeball Prop Comparison - Peep n' Peepers vs Lightshow Spooky Moods 2024, Juuli
Anonim
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop
Halloween Scary Eyes Prop

Aastate jooksul oli erinevate projektide tegemisel a

kogu kollektsioon erinevaid mooduleid, mis olid lihtsalt kasutamata ja ma tahtsin vähemalt mõnda neist kasutada millegi jaoks, mis oleks samal ajal lõbus ja loominguline.

Ideede jaoks saidil „instructables.com” käies sattusin mõnele projektile, mida arvasin, et võiks selle „Halloweeni” jaoks midagi kokku segada.

Pean kiitma Steve Quinni, ootamatut tegijat nende ideede kasutamise eest.

Tarvikud

KASUTATUD ASJAD JA MODULID

Kasutatud moodulid

1 Iseseisev Atmega8 juhatus

2 PIR -põhist kontrollerplaati 5 -voldise väljundi jaoks

3 LM386 võimendiplaat

4 Üldine MP3 -mängija moodul

5 MAX7219 8x8 LED -moodulit

6 PIR -moodul (üldine)

7 4”4 oomi kõlar

Muud materjalid

a. Tühi pappkarp

b. Tühjad ühekordselt kasutatavad veepudelid

c. Värvi vahetav LED 5V

d. Erinevad juhtmed

e. Liimipüstol

f. Jootekolb

g. Mitmesugused tööriistad ja lõikurid

h. 12V 1A astmeline trafo

Oluline

1 Arduion IDE

2 Programmeerimislaud AVR kiipide jaoks

3 Programmeerimise (põletamise) tarkvara

Samm: erinevad moodulid

Erinevad moodulid
Erinevad moodulid
Erinevad moodulid
Erinevad moodulid
Erinevad moodulid
Erinevad moodulid

Esiteks uurime erinevate moodulite, Me

saaksin kindlasti teha ainult ühe trükkplaadi kogu elektroonika jaoks ja projekt töötaks hästi, kuid minu jaoks oli mõte kasutada erinevaid esemeid, mille olin juba varem teinud erinevate projektide jaoks ja nüüd, kui nende vajadus oli lõppenud, lihtsalt tahtsin neid esemeid uuesti kasutada.

ATmega8 juhatus

Ma kasutan ATmega8 kiipi ilma välise kristallita. Tegelikult valmistati need plaadid mõne P10 16x32 LED -mooduli käitamiseks ja mul oli sellest projektist mõned üle jäänud. Tahvli pilt ja trükkplaadi paigutus on järgmine (vt pilte). Arduino tahvli koostamise kohta on juhendamatute kohta arvukalt artikleid. Võite lihtsalt kasutada mis tahes vana Arduino tahvlit, mis teil võib olla.

PIR -kontrollerite kogu

See PIR -plaat oli mõeldud väikeste LED -põhiste festivalikaunistuste sisse- ja väljalülitamiseks ning nüüd see lihtsalt lamas ja otsustasin selle kasutusele võtta. Lülituse skeem on piltidel näha

THE LM 386 võimendiplaat

See on võimendusmoodul, mis võimendab MP3 -mängija mooduli heliväljundit. paigutus ja skeem on üsna lihtsad ning pildid ütlevad kõik. vooluringi skeem ja valminud tahvli pilt on iseenesestmõistetavad.

MP3 -mängija moodul

Olen kasutanud pildil näidatud MP3 -mängija moodulit. See on kergesti saadaval Amazonist jne, see on odav ja lihtne kasutada. Selle konkreetse mooduli parim osa on see, et see ei vaja mängimise alustamiseks täiendavaid käske ega ühendust. Hetkel, kui plaadile antakse sobiv vool, hakkab see oma tööd tegema.

MAX7219 8x8 LED -moodulid

Need 8x8 LED -ekraanimoodulid on Amazonis hõlpsasti saadaval jne.

PIR moodul

Olen kasutanud kergesti kättesaadavat PIR -andurimoodulit. See on saadaval Amazonis jne, see on odav ja lihtne kasutada. Pildid on esitatud viitamiseks.

2. samm: kokkupanek 1. osa

Kokkupanek 1. osa
Kokkupanek 1. osa

Kontseptsioon pidi ühendama kõik need moodulid ja tegema Halloweeni rekvisiidi, mis aktiveeruks iga kord, kui keegi rekvisiidi ees üle läheb. Selleks ühendasin 12 -voldise toiteallika PIR -juhtpaneeliga, mis omakorda vähendas 7805 IC abil pinget 5 V alalisvooluni ja see 5 V alalispinge edastati PIR -andurile ja edasi teistele moodulitele, ATmega8 pardal, võimendusmoodulis ja MP3 -mängija moodulis, kui keegi PIR -anduri ette tuli. Vooskeem ütleb kõik.

Nagu näeme, käivitab PIR -andur ATmega8 plaadi, võimendusmooduli ja MP3 -mängija mooduli, ATmega8 juhib LED -maatriksit „Silmad”, MP3 -mängija esitab heliefekte ja võimendusmoodul saadab signaali kõlarile.

Arduino kood on otsene tõus Steve Quinni juhistest, välja arvatud see, et aega on koodis muudetud. Kasutatav kood on toodud allpool. Lisatud on ka INO -fail.

Kood

// D10 = Digital O/P CS Pin

// D11 = Digital O/P Clock Pin

// D12 = Digital O/P Data Pin

//

#kaasake

#kaasake

const int numDevices = 2; // kasutatud MAX7219 arv

const int dataPin = 12;

const int clkPin = 11;

const int csPin = 10;

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

// Viska see kood Arduino arenduskeskkonda

#define LeftEye1 0

#define RightEye1 1

#define LeftEye2 2

#defineeri RightEye2 3

#define LeftEye3 4

#defineeri RightEye3 5

#define LeftEye4 6

#define RightEye4 7

#define LeftEye5 8

#defineeri RightEye5 9

#define LeftEye6 10

#defineeri RightEye6 11

#define LeftEye7 12

#defineeri RightEye7 13

#define LeftEye8 14

#define RightEye8 15

#define LeftEye9 16

#define RightEye9 17

#define LeftEye10 18

#defineeri RightEye10 19

#define LeftEye11 20

#defineeri RightEye11 21

#define LeftEye12 22

#defineeri RightEye12 23

#define LeftEye13 24

#defineeri RightEye13 25

#define LeftEye14 26

#määratle parempoolsed silmad14 27

#define LeftEye15 28

#defineeri RightEye15 29

#define LeftEye16 30

#defineeri RightEye16 31

#define LeftEye17 32

#defineeri RightEye17 33

#define LeftEye18 34

#defineeri RightEye18 35

#define LeftEye19 36

#defineeri RightEye19 37

#define LeftEye20 38

#defineeri RightEye20 39

typedef structure {

const unsigned char array1 [8];

}

binaryArrayType;

binaryArrayType binaryArray [40] =

{

{// VasakSilm1, 0

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

}, {// RightEye1, 1

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

}, {// VasakSilm2, 2

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

}, {// RightEye2, 3

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

}, {// VasakSilm3, 4

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

}, {// RightEye3, 5

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

}, {// VasakSilm4, 6

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

}, {// RightEye4, 7

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

}, {// VasakSilm5, 8

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000010, B01111100

}, {// RightEye5, 9

B01111100, B10000010, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// VasakSilm6, 10

B01111110, B10000001, B10000001, B10011001, B10011001, B10000010, B10000100, B01111000

}, {// RightEye6, 11

B01111000, B10000100, B10000010, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// VasakSilm7, 12

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

}, {// RightEye7, 13

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

}, {// VasakSilm8, 14

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

}, {// RightEye8, 15

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

}, {// VasakSilm9, 16

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

}, {// RightEye9, 17

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

}, {// VasakSilm10, 18

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

}, {// RightEye10, 19

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

}, {// VasakSilm11, 20

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

}, {// RightEye11, 21

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

}, {// VasakSilm12, 22

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

}, {// RightEye12, 23

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

}, {// VasakSilm13, 24

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

}, {// RightEye13, 25

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

}, {// VasakSilm14, 26

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

}, {// RightEye14, 27

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

}, {// VasakSilm15, 28

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

}, {// RightEye15, 29

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

}, {// VasakSilm16, 30

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

}, {// RightEye16, 31

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

}, {// VasakSilm17, 32

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

}, {// RightEye17, 33

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

}, {// VasakSilm18, 34

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

}, {// RightEye18, 35

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

}, {// VasakSilm19, 36

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

}, {// RightEye19, 37

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

}, {// VasakSilm20, 38

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

}, {// RightEye20, 39

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

}

};

typedef structure {

int frameCount; // indeksi osuti binaryArray animatsiooni raami

int frameDelay; // Ligikaudne viivitus millisekundites selle animeeritud kaadri kuvamiseks

int frameLuminance; // 0… 15, LED -maatriksi intensiivsus antud kaadri jaoks

} frameType;

frameType film =

{

// Pilguta

{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {Vasak silm2, 5, 1}, // Jälle täitsa lai

{LeftEye1, 1500, 2}, // kortsus

{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}

};

tühine viivitus Millis (int millisekundit)

{

jaoks (int i = 0; i <millisekundit; i ++)

delayMikrosekundid (1000);

}

tühine seadistus () {

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

lc.sulgemine (x, vale); // MAX72XX on käivitamisel energiasäästurežiimis

lc.setIntensity (x, 1); // Määra heledus vaikeväärtusele

lc.clearDisplay (x); // ja tühjendage ekraan

}

}

void loop () {

lc.setIntensity (0, 3);

lc.setIntensity (1, 3);

samas (tõsi) {

jaoks (int a = 0; a <(sizeof (film) / sizeof (frameType)); a ++)

{

jaoks (int i = 0; i <8; i ++)

{

lc.setRow (0, i, binaryArray [film [a].frameCount].massiiv1 );

lc.setRow (1, i, binaryArray [film [a].frameCount + 1].massiiv1 );

lc.setIntensity (0, film [a].frameLuminance);

lc.setIntensity (1, film [a].frameLuminance);

}

delayMillis (film [a].frameDelay);

}

}

}

3. etapp: kokkupanek 2. osa

Kokkupanek 2. osa
Kokkupanek 2. osa

Kui olete Arduino IDE käivitanud, peate koodi kopeerima ja koodi kompileerima/kontrollima. Koodi koostamisel luuakse HEX -fail arvuti kausta TEMP. Enne Arduino IDE sulgemist saate kopeerida HEX -faili temp -kaustast ja see fail on see, mida peame töötamiseks ATmega8 kiibisse põletama.

Koodi koostamisel olen valinud tahvliks „Arduino NG või vanem” ja protsessoriks „ATmega8” ning pärast kompileerimist kopeerisin enne Arduino IDE sulgemist arvuti temp -kaustast HEX -faili.

See HEX -fail põletati välise AVR -põletiga ATmega8 kiibile. Kasutasin selleks tarkvara “Extreme Burner_AVR” ja AVR Burner Boardi. Tahvli pilt on lisatud. Saate kasutada mis tahes AVR -i programmeerimistarkvara, mis teile sobib.

Välise programmeerija kasutamise põhjus oli see, et ma ei tahtnud alglaadurit Atmega8 kiipidele põletada ja ilma alglaadurita ei töötaks need tavalisel Arduino pardal ega Arduion IDE -ga. HEX -failide väljavõtmine on üsna lihtne, kui olete Arduino IDE -ga koodi kompileerinud ja seda ma tegin.

MÄRGE

Välise programmeerija kasutamisel on VÄGA TÄHTIS valida õiged kaitsmebittide sätted.

Sel juhul, kuna me ei kasuta välist kristalli ja toetume ATmega8 kiibi sisemisele kellale, on oluline, et me konfigureeriksime kaitsmeotsikud vastavalt. Olen valinud järgmised kaitsmete sätted.

Lfuse- E4

Hfuse - D9

MIDA SEE TÄHENDAB

See tähendab, et me ei kasuta välist kristalli ega resonaatorit

Kell on seatud 8mHz sisemisele kellale

Kui ATmega8 kiip oli programmeeritud, oli aeg projekt kokku panna ja katsetada.

Samm: silmade ühendamine

Silmade ühendamine
Silmade ühendamine
Silmade ühendamine
Silmade ühendamine

MAX7219 8x8 LED -maatriks ühendati nagu allpool.

ATmega8 juhatus kuni MAX7219 maatriks

IO Pin D10 kuni CS PIN

IO tihvt D11 TO PIN

IO Pin D12 TO DIN PIN

VCC VCC -ks

GND kuni GND

Vt pilti

Samm: PIR -anduri ja -mooduli ühendamine

PIR -anduri ja -mooduli ühendamine
PIR -anduri ja -mooduli ühendamine
PIR -anduri ja -mooduli ühendamine
PIR -anduri ja -mooduli ühendamine
PIR -anduri ja -mooduli ühendamine
PIR -anduri ja -mooduli ühendamine
PIR -anduri ja -mooduli ühendamine
PIR -anduri ja -mooduli ühendamine

Seejärel ühendati PIR -andur PIR -kontrolleriga

Juhatus, ühendused on järgmised

PIR -kontrolleripult PIR -andurile

VCC kuni VCC

CTRL kuni CTRL

GND kuni GND

Vaadake diagrammi

See on osa, mis paneb selle kõik toimuma. PIR -andur võtab vastu kuumavereliste olendite liikumise ja lülitab kõikide vooluahelate/moodulite toiteallika sisse. PIR -anduri aeg on vastavalt nõuetele kohandatud ja sel juhul on see umbes 40–45 sekundit. See saadab 5 volti alalisvoolu kõikidele selle külge ühendatud ahelatele umbes 40-45 sekundi jooksul.

Samm: MP3 -mängija ja võimendi

MP3 -mängija ja võimendi
MP3 -mängija ja võimendi
MP3 -mängija ja võimendi
MP3 -mängija ja võimendi
MP3 -mängija ja võimendi
MP3 -mängija ja võimendi

JÄRGMINE MP3 -mängija moodul ja võimendusmoodul.

MP3 -mängija, mida kasutasin, ei vaja sisselülitamiseks ühtegi nuppu, kohe, kui sellele antakse õige pinge, hakkab see automaatselt mängima. Mul oli vaja ainult ühte rada, nii et leidsin SD -kaardi, millel oli kõige vähem mälu (4 GB, sest tänapäeval on peaaegu võimatu saada väiksema mahutavusega kaarti). Helid, mille ma Internetist alla laadisin, tegelikult laaditi alla mitmeid heliefekte ja need kõik koostati heliredaktoritarkvara abil ühe MP3 -loo tegemiseks. Kasutasin “Wave Editori” ja lõpuks laadisin selle ainsa pala SD -kaardile. SD -kaart paigaldati MP3 -mängija moodulisse ja väljund ühendati võimendusmooduliga, et saada heli kõlarist.

Vaadake pilti

LM386 võimendi kiip nõuab väga vähe väliseid komponente ja pakub väikestest kõlaritest üsna head heli. Vooluahelat on parfüüriplaadi kokkupanek üsna lihtne ja selle kokkupanekul kulus mul umbes 15-20 minutit. Pilt on üsna iseenesestmõistetav.

7. samm: lõplik kokkupanek

Image
Image
KORPUS
KORPUS

Enne kõikide korpuse paigaldamist tahtsin kõike testida ja moodulid vastavalt vajadusele paigutada ning lõppühendused teha. Pärast seda, kui olin osade tööga rahul. Parandasin need selleks otstarbeks valmistatud kaardiplaadi ümbrises.

Lisan video pärast rekvisiidi viimast kokkupanekut.

8. etapp: KORP

KORPUS
KORPUS
KORPUS
KORPUS
KORPUS
KORPUS

Aedik

Korpus oli valmistatud vanast punasest värvitud pappkastist. Silmade koht ja PIR -andur lõigati terava teraga välja. Karbile ja silmadele kleepiti kolju väljatrükk.lõigati vastavalt välja ja kontuur joonistati uuesti musta püsiva markeriga. Tegin juuksed äravisatud veepudelitest, lõikasin need õhukesteks ribadeks ja kleepisin kuuma sulavliimiga pähe ja külgedele. Kinnitasin külgedel 2 värvi muutvat LED-i ja need ühendati PIR-kontrolleriplaadi väljundiga.

Kõlarile tehti väikesed augud ja kõik esemed kinnitati karbi siseküljel asuva Hot Melt Glue abil. Toitejuhe võeti karbi tagant välja ja see on ka kõik.

Loodan, et teile meeldib see Halloweeni rekvisiit lastele teha !!

Lisan varsti selles projektis kasutatud heliklipi.

Head Halloweeni kõigile !!

Soovitan: