Sisukord:
- Tarvikud
- Samm: erinevad moodulid
- 2. samm: kokkupanek 1. osa
- 3. etapp: kokkupanek 2. osa
- Samm: silmade ühendamine
- Samm: PIR -anduri ja -mooduli ühendamine
- Samm: MP3 -mängija ja võimendi
- 7. samm: lõplik kokkupanek
- 8. etapp: KORP
Video: Halloween Scary Eyes Prop: 8 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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
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
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
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
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
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
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
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
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:
Halloween LightshowPi: 6 sammu
Halloween LightshowPi: Niisiis, sel hooajal otsisime midagi uut, mida oma kummitavale Halloweeni õuele lisada, ja sattusin selle Raspberry Pi Lightshow projekti juurde aadressil http://lightshowpi.org. Samuti on palju suurepärast teavet saidil https://www.reddit.com/r/LightShowPi/. Aastal
Halloween - Raven Animatronic: 6 sammu
Halloween - Raven Animatronic: Mind on sellest ajast saadik köitnud kummitavad majad ja pimedad sõidud ning armastanud meie Halloweeni pidudele kaunistusi teha. Kuid ma tahtsin alati teha midagi, mis liigutab ja teeb heli - nii et ma ehitasin oma esimese täisautomaatse animatronicu
SimpleClean Psycho Pass Dominator Prop: 6 sammu
SimpleClean Psycho Pass Dominator Prop: See on minu esimene katse rekvisiitide tegemisel. Mul õnnestus see nädalavahetusel koolivaheajal kiirustada, ehitades kohapeal. See domineerija rekvisiit, mis võimaldab muuta mittesurmava paralüsaatori surmavaks elimineerimisrežiimiks, mängib sobivat
Motion Follow Animatronics Eyes: 8 sammu (piltidega)
Motion Follow Animatronics Eyes: See Arduino projekt kasutab liikumise jäädvustamiseks optilist vooluandurit (ADNS3080). Seejärel tõlkige andmed servo teisaldamiseks, et see näeks välja nagu silmad jälgivad liikuvat objekti. See ei ole lihtne ülesehitus. See nõuab 3D -printimist, jootmist, mõningaid üldisi
Laulmine Bust Prop: 7 sammu
Singing Bust Prop: Kas olete kunagi mõelnud, kuidas kummitavas mõisas laulvad büstid töötasid või isegi tahtsite proovida neid hästi teha, see juhendab teile, kuidas neid teha ja see on tõesti lihtne