Sisällysluettelo:

Halloween Scary Eyes Prop: 8 vaihetta
Halloween Scary Eyes Prop: 8 vaihetta

Video: Halloween Scary Eyes Prop: 8 vaihetta

Video: Halloween Scary Eyes Prop: 8 vaihetta
Video: How I Make Viral AI History Shorts (6+ Hour Course) 2024, Marraskuu
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

Vuosien varrella eri hankkeita tehtäessä oli mm

kokoelma erilaisia moduuleja, jotka olivat vain käyttämättömiä ja halusin käyttää ainakin osaa niistä johonkin, joka olisi hauskaa ja luovaa samaan aikaan.

Käydessäni Ideas -sivuston “instructables.com” läpi törmäsin muutamiin projekteihin, jotka ajattelin voivan sekoittaa keskenään tehdäkseen jotain tätä”Halloweenia” varten.

Minun on tunnustettava Steve Quinn, Unexpected Maker, heidän ideoidensa käyttämisestä.

Tarvikkeet

KÄYTETYT KOHDAT JA Moduulit

Käytetyt moduulit

1 Erillinen Atmega8 Board

2 PIR -pohjaista ohjainkorttia 5 voltin ulostulolle

3 LM386 -vahvistinkortti

4 Yleinen MP3 -soittimoduuli

5 MAX7219 8x8 LED -moduulia

6 PIR -moduuli (yleinen)

7 4”4 ohmin kaiutin

Muut materiaalit

a. Tyhjä pahvilaatikko

b. Tyhjät kertakäyttöiset vesipullot

c. Värinvaihto LED 5V

d. Erilaisia johtoja

e. Liimapistooli

f. Juotin

g. Sekalaiset työkalut ja leikkurit

h. 12V 1A askel alasmuuntaja

Tärkeä

1 Arduion IDE

2 Ohjelmointikortti AVR -siruille

3 Ohjelmointi (polttava) ohjelmisto

Vaihe 1: Eri moduulit

Eri moduulit
Eri moduulit
Eri moduulit
Eri moduulit
Eri moduulit
Eri moduulit

Ensin tarkastelemme eri moduulien tekemistä, Me

voisin varmasti tehdä vain yhden piirilevyn koko elektroniikalle ja saada projektin toimimaan hienosti, mutta minusta ajatuksena oli käyttää eri kohteita, jotka olin jo tehnyt aiemmin eri projekteihin ja nyt kun niiden tarve oli ohi, halusin vain käyttää niitä tavaroita uudelleen.

ATmega8 -levy

Käytän ATmega8 -sirua ilman ulkoista kristallia. Itse asiassa nämä levyt tehtiin käyttämään joitain P10 16x32 LED -moduuleja, ja minulla oli muutama jäljellä tästä projektista. Kuva piirilevystä ja piirilevyasettelusta on seuraava (katso kuvat). On olemassa lukemattomia artikkeleita oman Arduino -levyn tekemisestä "ohjeista". Voit yksinkertaisesti käyttää mitä tahansa vanhaa Arduino -taulua, jonka saatat maata.

PIR -ohjauskortti

Tämä PIR Board tehtiin kytkemään päälle ja pois joitakin pieniä LED -pohjaisia festivaalikoristeita, ja nyt se vain makasi ja päätin ottaa sen käyttöön. Piirien asettelu näkyy kuvissa

THE LM 386 -vahvistinkortti

Tämä vahvistinmoduuli vahvistaa MP3 -soittimoduulin äänen. asettelu ja piiri on melko yksinkertainen ja kuvat kertovat kaiken. piirin asettelu ja valmiista levystä kuva ovat itsestään selviä.

MP3 -soittimoduuli

Olen käyttänyt kuvassa näkyvää MP3 -soittimoduulia. Se on helposti saatavilla Amazonissa jne., Se on halpa ja helppokäyttöinen. Parasta tässä moduulissa on se, että se ei vaadi lisäkomentoa tai yhteyttä pelaamisen aloittamiseen. Heti kun oikea virta syötetään levylle, se alkaa tehdä tehtävänsä.

MAX7219 8x8 LED -moduulit

Nämä 8x8 LED -näyttömoduulit ovat helposti saatavilla Amazonissa jne. Kuvia käyttämistäni on mukana.

PIR -moduuli

Olen käyttänyt helposti saatavilla olevaa PIR -anturimoduulia. Se on saatavana Amazonista jne., Se on halpa ja helppokäyttöinen. Kuvat ovat viitteellisiä.

Vaihe 2: Kokoonpano Osa 1

Kokoonpano Osa 1
Kokoonpano Osa 1

Konseptin tarkoituksena oli yhdistää kaikki nämä moduulit ja tehdä Halloween -tarvike, joka aktivoituisi aina, kun joku ylittää rekvisiitan. Tätä varten liitin 12 voltin virtalähteen PIR -ohjauskorttiin, joka puolestaan laski jännitteen 5 V DC: ksi 7805 IC: n avulla ja tämä 5 V DC -jännite välitettiin PIR -anturille ja edelleen muille moduuleille, ATmega8 -kortti, vahvistinmoduuli ja MP3 -soitinmoduuli aina, kun joku tulee PIR -anturin eteen. Vuokaavio kertoo kaiken.

Kuten näemme, PIR -anturi laukaisee ATmega8 -kortin, vahvistinmoduulin ja MP3 -soittimoduulin, ATmega8 ohjaa LED -matriisi "silmät", MP3 -soitin toistaa äänitehosteet ja vahvistinmoduuli lähettää signaalin kaiuttimelle.

Arduino -koodi on suora nousu Steve Quinnin ohjeista, paitsi että aikaa on muutettu koodissa. Käytetty koodi on annettu alla. INO -tiedosto on myös liitteenä.

Koodi

// D10 = Digital O/P CS Pin

// D11 = Digitaalinen O/P -kellotappi

// D12 = Digitaalinen O/P -datatappi

//

#sisältää

#sisältää

const int numDevices = 2; // käytettyjen MAX7219 -lukumäärä

const int dataPin = 12;

const int clkPin = 11;

const int csPin = 10;

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

// Pudota tämä koodi Arduinon kehitysympäristöön

#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 structure {

const unsigned char array1 [8];

}

binaryArrayType;

binaryArrayType binaryArray [40] =

{

{// Vasen silmä1, 0

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

}, {// RightEye1, 1

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

}, {// Vasen silmä2, 2

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

}, {// RightEye2, 3

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

}, {// Vasen silmä3, 4

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

}, {// RightEye3, 5

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

}, {// Vasen silmä 4, 6

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

}, {// RightEye4, 7

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

}, {// Vasen silmä 5, 8

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

}, {// RightEye5, 9

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

}, {// Vasen silmä6, 10

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

}, {// RightEye6, 11

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

}, {// Vasen silmä7, 12

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

}, {// RightEye7, 13

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

}, {// Vasen silmä8, 14

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

}, {// RightEye8, 15

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

}, {// Vasen silmä9, 16

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

}, {// RightEye9, 17

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

}, {// Vasen silmä10, 18

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

}, {// RightEye10, 19

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

}, {// Vasen silmä11, 20

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

}, {// RightEye11, 21

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

}, {// Vasen silmä12, 22

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

}, {// RightEye12, 23

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

}, {// Vasen silmä 13, 24

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

}, {// RightEye13, 25

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

}, {// Vasen silmä 14, 26

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

}, {// RightEye14, 27

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

}, {// Vasen silmä15, 28

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

}, {// RightEye15, 29

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

}, {// Vasen silmä16, 30

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

}, {// RightEye16, 31

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

}, {// Vasen silmä17, 32

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

}, {// RightEye17, 33

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

}, {// Vasen silmä 18, 34

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

}, {// RightEye18, 35

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

}, {// Vasen silmä 19, 36

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

}, {// RightEye19, 37

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

}, {// Vasen silmä20, 38

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

}, {// RightEye20, 39

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

}

};

typedef structure {

int frameCount; // indeksin osoitin binaryArray -animaatiokehykseen

int frameDelay; // Noin viive millisekunteina tämän animoidun kehyksen näyttämiseksi

int frameLuminance; // 0… 15, LED -matriisin intensiteetti tietylle kehykselle

} frameType;

frameType -elokuva =

{

// Räpäytys

{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {Vasen silmä2, 5, 1}, // Täysin leveä jälleen

{Vasen silmä1, 1500, 2}, // rypistynyt

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

};

mitätön viive Millis (int millisekuntia)

{

(int i = 0; i <millisekuntia; i ++)

delayMikrosekuntia (1000);

}

void setup () {

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

lc. sammutus (x, false); // MAX72XX on virransäästötilassa käynnistettäessä

lc.setIntensity (x, 1); // Aseta kirkkaus oletusarvoon

lc.clearDisplay (x); // ja tyhjennä näyttö

}

}

void loop () {

lc.setIntensity (0, 3);

lc.setIntensity (1, 3);

while (totta) {

for (int a = 0; a <(sizeof (elokuva) / sizeof (frameType)); a ++)

{

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

{

lc.setRow (0, i, binaryArray [elokuva [a].frameCount].array1 );

lc.setRow (1, i, binaryArray [elokuva [a].frameCount + 1].array1 );

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

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

}

delayMillis (elokuva [a].frameDelay);

}

}

}

Vaihe 3: Asennus Osa 2

Kokoonpano Osa 2
Kokoonpano Osa 2

Kun olet ottanut Arduino IDE: n käyttöön, sinun on kopioitava koodi ja koottava/tarkistettava koodi. Kun koot koodin, HEX -tiedosto luodaan tietokoneen TEMP -kansioon. Ennen Arduino IDE: n sulkemista voit kopioida HEX -tiedoston temp -kansiosta, ja tämä tiedosto on poltettava ATmega8 -siruun, jotta se toimisi.

Koodia koottaessani olen valinnut levyn”Arduino NG tai vanhemmaksi” ja suorittimen”ATmega8: ksi” ja kopioinnin jälkeen kopioin HEX -tiedoston tietokoneen Temp -kansiosta ennen Arduino IDE: n sulkemista.

Tämä HEX -tiedosto poltettiin ATmega8 -sirulle ulkoisella AVR -polttimella. Käytin tähän tarkoitukseen”Extreme Burner_AVR” -ohjelmistoa ja AVR Burner Boardia. Taulun kuva on liitteenä. Voit käyttää mitä tahansa AVR -ohjelmointiohjelmistoa, johon olet tyytyväinen.

Syy ulkoisen ohjelmoijan käyttämiseen oli se, etten halunnut polttaa käynnistyslatainta Atmega8 -siruille, ja ilman käynnistyslatainta ne eivät toimisi tavallisella Arduino Boardilla tai Arduion IDE: llä. HEX -tiedostojen purkaminen on melko helppoa, kun olet koonnut koodin Arduino IDE: llä, ja näin tein.

HUOMAUTUS

ON TÄRKEÄÄ valita oikeat sulakebittiasetukset ulkoista ohjelmoijaa käytettäessä.

Tässä tapauksessa, koska emme käytä ulkoista kristallia ja luotamme ATmega8 -sirun sisäiseen kelloon, on tärkeää, että konfiguroimme sulakebitit sen mukaan. Olen valinnut seuraavat sulakkeen asetukset.

Lfuse-E4

Hfuse - D9

MITÄ TÄMÄ TARKOITTAA

Tarkoittaa, että emme käytä ulkoista kristallia tai resonaattoria

Kello on asetettu 8 MHz: n sisäiseen kelloon

Kun ATmega8 -siru oli ohjelmoitu, oli aika koota projekti ja testata sitä.

Vaihe 4: Silmien yhdistäminen

Silmien yhdistäminen
Silmien yhdistäminen
Silmien yhdistäminen
Silmien yhdistäminen

MAX7219 8x8 LED -matriisi liitettiin alla kuvatulla tavalla.

ATmega8 Board to MAX7219 Matrix

IO Pin D10 - CS PIN

IO Pin D11 TO CLK PIN

IO -nasta D12 - DIN -PIN

VCC - VCC

GND - GND

Katso Kuva

Vaihe 5: PIR -anturin ja -moduulin liittäminen

PIR -anturin ja -moduulin liittäminen
PIR -anturin ja -moduulin liittäminen
PIR -anturin ja -moduulin liittäminen
PIR -anturin ja -moduulin liittäminen
PIR -anturin ja -moduulin liittäminen
PIR -anturin ja -moduulin liittäminen
PIR -anturin ja -moduulin liittäminen
PIR -anturin ja -moduulin liittäminen

Seuraavaksi PIR -anturi liitettiin PIR -säätimeen

Board, liitännät ovat seuraavat

PIR -ohjainkortti PIR -anturiin

VCC - VCC

CTRL - CTRL

GND - GND

Katso kaaviota

Tämä on osa, joka saa kaiken tapahtumaan. PIR -anturi havaitsee kuumaverisen olennon liikkeen ja kytkee virran kaikkiin virtapiireihin/moduuleihin. PIR -anturin aika on säädetty vaatimusten mukaisesti, ja tässä tapauksessa se on noin 40-45 sekuntia. Se lähettää 5 volttia tasavirtaa kaikkiin siihen liitettyihin piireihin noin 40-45 sekunnin ajan.

Vaihe 6: MP3 -soitin ja vahvistin

MP3 -soitin ja vahvistin
MP3 -soitin ja vahvistin
MP3 -soitin ja vahvistin
MP3 -soitin ja vahvistin
MP3 -soitin ja vahvistin
MP3 -soitin ja vahvistin

SEURAAVA MP3 -soitinmoduuli ja vahvistinmoduuli.

MP3 -soitin, jota käytin, ei tarvitse painaa mitään painiketta käynnistääkseen, heti kun sille syötetään oikea jännite, se alkaa toistaa automaattisesti. Tarvitsin vain yhden raidan, joten löysin SD -kortin, jolla oli vähiten muistia (4 Gt, koska nykyään on lähes mahdotonta saada pienemmän kapasiteetin korttia). Äänet, jotka latasin Internetistä, itse asiassa ladattiin useita äänitehosteita ja ne kaikki koottiin tekemään yksi MP3 -raita äänieditoriohjelmiston avulla. Käytin Wave Editoria ja latasin lopulta tämän ainoan raidan SD -kortille. SD -kortti asennettiin MP3 -soittimoduuliin ja ulostulo liitettiin vahvistinmoduuliin äänen saamiseksi kaiuttimesta.

Katso Kuva

LM386 -vahvistinsiru vaatii hyvin vähän ulkoisia komponentteja ja tuottaa melko hyvän äänen pienistä kaiuttimista. Piiri on melko helppo koota perfboardista ja kesti noin 15-20 minuuttia tämän kokoamiseksi. Kuva on varsin itsestään selvä.

Vaihe 7: Lopullinen kokoonpano

Image
Image
KOTELO
KOTELO

Ennen kuin asennin kaikki koteloon, halusin testata kaiken ja sijoittaa moduulit tarpeen mukaan ja tehdä viimeiset liitännät. Kun olin tyytyväinen osien toimintaan. Korjasin ne tätä tarkoitusta varten valmistetussa korttikotelossa.

Liitän videon lopullisen kokoonpanon jälkeen.

Vaihe 8: KOTELO

KOTELO
KOTELO
KOTELO
KOTELO
KOTELO
KOTELO

Kotelo

Kotelo valmistettiin vanhasta kartonkirasiasta, joka oli maalattu punaiseksi. Silmien paikka ja PIR -anturi leikattiin pois terävällä terällä. Painettu kallo liitettiin laatikkoon ja silmiin jne.leikattiin vastaavasti ja ääriviivat piirrettiin uudelleen mustalla pysyvällä kynällä. Tein hiukset käytöstä poistetuista vesipulloista, leikkasin ne ohuiksi nauhoiksi ja liimasin ne kuumalla liimalla päähän ja sivuille. Kiinnitin 2 väriä vaihtavaa LEDiä sivuille ja ne liitettiin PIR-ohjainkortin ulostuloon.

Kaiuttimelle tehtiin pieniä reikiä ja kaikki osat kiinnitettiin laatikon sisäpuolella olevan sulateliiman avulla. Virtajohto poistettiin laatikon takaa ja siinä kaikki.

Toivottavasti pidät tämän Halloween -asun tekemisestä lapsille !!

Liitän tässä projektissa käytetyn äänileikkeen pian.

Hyvää Halloweenia kaikille !!

Suositeltava: