Tartalomjegyzék:
- Kellékek
- 1. lépés: A különböző modulok
- 2. lépés: Az összeszerelés 1. része
- 3. lépés: Összeszerelés 2. rész
- 4. lépés: A szemek összekapcsolása
- 5. lépés: A PIR érzékelő és modul csatlakoztatása
- 6. lépés: Az MP3 -lejátszó és az erősítő
- 7. lépés: A végső összeszerelés
- 8. lépés: A MELLÉKLET
Videó: Halloween Scary Eyes Prop: 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Az évek során különféle projektek megvalósításakor a
a különböző modulok teljes gyűjteménye, amelyek csak hevertek használaton kívül, és legalább néhányat használni akartam valami szórakoztató és kreatív dologra.
Az Ideas „instructables.com” weboldalán keresztül bukkantam néhány projektre, amelyekről azt gondoltam, hogy össze lehet keverni valamit, hogy elkészüljön ez a „Halloween”.
Hálát kell adnom Steve Quinnnek, a Váratlan készítőnek az ötleteik felhasználásáért.
Kellékek
HASZNÁLT TÉTELEK ÉS MODULOK
Használt modulok
1 Önálló Atmega8 tábla
2 PIR alapú vezérlőkártya 5 voltos kimenethez
3 LM386 erősítő kártya
4 Általános MP3 lejátszó modul
5 MAX7219 8x8 LED modul
6 PIR modul (általános)
7 4”4 ohmos hangszóró
Más anyagok
a. Üres kartondoboz
b. Üres egyszer használatos vizes palackok
c. Színváltó LED 5V
d. Vegyes vezetékek
e. Ragasztópisztoly
f. Forrasztópáka
g. Különféle szerszámok és vágók
h. 12V 1A lefelé transzformátor
Fontos
1 Arduion IDE
2 Programozótábla AVR chipekhez
3 Programozó (író) szoftver
1. lépés: A különböző modulok
Először is megvizsgáljuk a különböző modulok, a We
minden bizonnyal csak egy NYÁK -t készíthetne az összes elektronika számára, és a projekt tökéletesen működhetne, de számomra az volt az ötlet, hogy a különböző elemeket, amelyeket korábban készítettem, különböző projektekhez használom, és most, hogy szükségük van rájuk, csak újra fel akartam használni ezeket a tárgyakat.
Az ATmega8 tábla
Az ATmega8 chipet használom külső kristály nélkül. Valójában ezek a táblák néhány P10 16x32 LED modul működtetésére készültek, és néhányat megmaradt ebből a projektből. A tábla képe és a NYÁK elrendezés a következő (lásd a képeket). Számtalan cikk található a saját Arduino tábla készítéséről az „utasításokról”. Egyszerűen használhat bármilyen régi Arduino táblát, amelyen feküdhet.
PIR vezérlőtábla
Ez a PIR tábla arra készült, hogy be- és kikapcsoljon néhány kis LED alapú fesztiváldekorációt, és most csak feküdt, és úgy döntöttem, hogy használni fogom. Az áramkör elrendezése a képeken látható
THE LM 386 erősítő panel
Ez az erősítő modul erősíti az MP3 lejátszó modulból származó hangot. az elrendezés és az áramkör meglehetősen egyszerű, és a képek mindent elmondanak. az áramkör elrendezése és az elkészült tábla képe magától értetődő.
Az MP3 lejátszó modul
A képen látható MP3 lejátszó modult használtam. Könnyen elérhető az Amazon -on stb., Olcsó és könnyen használható. Ennek a modulnak a legjobb része az, hogy a lejátszás megkezdéséhez nincs szükség további parancsra vagy kapcsolatra. Abban a pillanatban, amikor a megfelelő tápellátást biztosítják a tábla számára, elkezdi elvégezni a feladatát.
MAX7219 8x8 LED modulok
Ezek a 8x8 LED -es kijelzőmodulok könnyen elérhetők az Amazon -on stb.
PIR modul
A rendelkezésre álló PIR érzékelő modult használtam. Elérhető az Amazon -on stb., Olcsó és könnyen használható. A képek referenciaként szolgálnak.
2. lépés: Az összeszerelés 1. része
A koncepció az volt, hogy egyesítse ezeket a modulokat, és készítsen egy Halloween kelléket, amely aktiválódik, amikor valaki átlép a kellék előtt. Ehhez csatlakoztattam a 12 voltos tápegységet a PIR vezérlőpanelhez, amely a 7805 IC segítségével 5 V DC -re csökkentette a feszültséget, és ezt az 5 V DC feszültséget továbbították a PIR érzékelőhöz és tovább a többi modulhoz, az ATmega8 táblát, az erősítő modult és az MP3 lejátszó modult, amikor valaki a PIR érzékelő elé kerül. A folyamatábra mindent elmond.
Amint látjuk, a PIR -érzékelő aktiválja az ATmega8 táblát, az erősítő modult és az MP3 -lejátszó modult, az ATmega8 vezérli a LED -es „Eyes” mátrixot, az MP3 -lejátszó lejátssza a hanghatásokat, és az erősítő modul elküldi a jelet a hangszórónak.
Az Arduino kód közvetlen emelkedés Steve Quinn utasítása alól, kivéve, hogy az idő megváltozott a kódban. A használt kódot az alábbiakban adjuk meg. Az INO fájl is csatolva van.
A kód
// D10 = Digitális O/P CS Pin
// D11 = Digitális O/P Óracsap
// D12 = Digitális O/P adattű
//
#befoglalni
#befoglalni
const int számDevices = 2; // a felhasznált MAX7219 -ek száma
const int adatPin = 12;
const int clkPin = 11;
const int csPin = 10;
LedControl lc = LedControl (dataPin, clkPin, csPin, numDevices);
// Dobja ezt a kódot az Arduino fejlesztői környezetbe
#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] =
{
{// Balszem1, 0
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// RightEye1, 1
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Balszem2, 2
B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000
}, {// RightEye2, 3
B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000
}, {// Balszem3, 4
B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000
}, {// RightEye3, 5
B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000
}, {// Balszem4, 6
B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000
}, {// RightEye4, 7
B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000
}, {// Balszem5, 8
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000010, B01111100
}, {// RightEye5, 9
B01111100, B10000010, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Balszem6, 10
B01111110, B10000001, B10000001, B10011001, B10011001, B10000010, B10000100, B01111000
}, {// RightEye6, 11
B01111000, B10000100, B10000010, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Balszem7, 12
B01111110, B11000001, B10000001, B10011001, B10011010, B10000100, B10001000, B01110000
}, {// RightEye7, 13
B01110000, B10001000, B10000100, B10011010, B10011001, B10000001, B11000001, B01111110
}, {// Balszem8, 14
B00111110, B01000001, B10000001, B10011001, B10011010, B10000100, B01001000, B00110000
}, {// RightEye8, 15
B00110000, B01001000, B10000100, B10011010, B10011001, B10000001, B01000001, B00111110
}, {// Balszem9, 16
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// RightEye9, 17
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Balszem10, 18
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// RightEye10, 19
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// Balszem11, 20
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// RightEye11, 21
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// Balszem12, 22
B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110
}, {// RightEye12, 23
B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110
}, {// Balszem13, 24
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110
}, {// RightEye13, 25
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110
}, {// Balszem14, 26
B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000
}, {// RightEye14, 27
B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000
}, {// Balszem15, 28
B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000
}, {// RightEye15, 29
B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000
}, {// Balszem16, 30
B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000
}, {// RightEye16, 31
B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000
}, {// Balszem17, 32
B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00000000
}, {// RightEye17, 33
B00000000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000
}, {// Balszem18, 34
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110
}, {// RightEye18, 35
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110
}, {// Balszem19, 36
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110
}, {// RightEye19, 37
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110
}, {// Balszem20, 38
B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110
}, {// RightEye20, 39
B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110
}
};
typedef structure {
int frameCount; // index mutató a binaryArray -be, ami animációs keretet jelent
int frameDelay; // Körülbelül késleltetés MilliSeconds alatt az animált keret megjelenítéséhez
int frameLuminance; // 0… 15, A led mátrix intenzitása egy adott kerethez
} frameType;
frameType film =
{
// Pislogás
{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {Balszem2, 5, 1}, // Újra széles
{Balszem1, 1500, 2}, // Homlokát ráncolva
{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}
};
void delay Millis (int ezredmásodperc)
{
for (int i = 0; i <ezredmásodperc; i ++)
delayMicroseconds (1000);
}
void setup () {
for (int x = 0; x <numDevices; x ++) {
lc.shutdown (x, false); // A MAX72XX energiatakarékos üzemmódban van indításkor
lc.setIntensity (x, 1); // Állítsa a fényerőt alapértelmezett értékre
lc.clearDisplay (x); // és törölje a kijelzőt
}
}
void loop () {
lc.setIntensity (0, 3);
lc.setIntensity (1, 3);
míg (igaz) {
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);
}
}
}
3. lépés: Összeszerelés 2. rész
Miután elindította az Arduino IDE -t, le kell másolnia a kódot, és le kell fordítania/ellenőriznie a kódot. A kód fordításakor a HEX fájl a számítógép TEMP mappájában jön létre. Az Arduino IDE bezárása előtt lemásolhatja a HEX fájlt a temp mappából, és ezt a fájlt kell beégetnünk az ATmega8 Chipbe, hogy működjön.
A kód összeállítása során a táblát „Arduino NG vagy Older” -nek, a processzort pedig „ATmega8” -nak választottam, és a fordítás után lemásoltam a HEX fájlt a számítógép Temp mappájából, mielőtt bezártam az Arduino IDE -t.
Ezt a HEX fájlt egy külső AVR íróval égették fel az ATmega8 chipre. Erre a célra az „Extreme Burner_AVR” szoftvert és egy AVR Burner Board -ot használtam. A tábla képe mellékelve. Bármilyen AVR programozószoftvert használhat, amely jól érzi magát.
A külső programozó használatának oka az volt, hogy nem akartam a rendszerbetöltőt az Atmega8 chipekre égetni, és a rendszerbetöltő nélkül nem működnének a normál Arduino táblán vagy az Arduion IDE -vel. Elég könnyű kicsomagolni a HEX fájlokat, miután lefordította a kódot az Arduino IDE -vel, és ezt tettem.
JEGYZET
NAGYON FONTOS, hogy külső programozó használata közben válassza ki a megfelelő biztosítékbit beállításokat.
Ebben az esetben, mivel nem külső kristályt használunk, hanem az ATmega8 chip belső órájára támaszkodunk, fontos, hogy ennek megfelelően konfiguráljuk a biztosíték biteket. Az alábbi biztosítékbeállításokat választottam.
Lfuse- E4
Hfuse - D9
MIT JELENT
Azt jelenti, hogy nem használunk külső kristályt vagy rezonátort
Az óra 8 MHz -es belső órára van állítva
Miután az ATmega8 Chip programozásra került, ideje volt összeszerelni a projektet és kipróbálni.
4. lépés: A szemek összekapcsolása
A MAX7219 8x8 LED mátrixot az alábbiak szerint csatlakoztattuk.
ATmega8 Board TO MAX7219 Mátrix
IO Pin D10 to CS PIN
IO Pin D11 TO CLK PIN
IO Pin D12 TO DIN PIN
VCC - VCC
GND -GND
Lásd a Képet
5. lépés: A PIR érzékelő és modul csatlakoztatása
Ezután a PIR -érzékelőt csatlakoztatta a PIR -vezérlőhöz
Board, a csatlakozók a következők
PIR vezérlőkártya PIR érzékelőhöz
VCC - VCC
CTRL -CTRL
GND - GND
Lásd a Diagramot
Ez az a rész, ami mindent megvalósít. A PIR érzékelő érzékeli a forróvérű lények mozgását, és bekapcsolja az áramköröket/modulokat. a PIR -érzékelőn lévő időt az igényeknek megfelelően állították be, és ebben az esetben ez körülbelül 40-45 másodperc. Körülbelül 40-45 másodpercig 5 voltos egyenáramot küld az összes áramkörhöz.
6. lépés: Az MP3 -lejátszó és az erősítő
KÖVETKEZŐ az MP3 lejátszó és az erősítő modul.
Az MP3 lejátszó, amelyet használtam, nem igényel gomb megnyomást a bekapcsoláshoz, amint a megfelelő feszültséget kapja, automatikusan elkezdi lejátszani. Csak egy sávra volt szükségem, így megtaláltam az SD -kártyát a lehető legalacsonyabb memóriával (4 GB, mert manapság szinte lehetetlen beszerezni kisebb kapacitású kártyát). A hangokat, amelyeket az internetről töltöttem le, valójában számos hanghatást töltöttünk le, és mindegyiket úgy állítottuk össze, hogy egyetlen MP3 számot készítsenek a hangszerkesztő szoftver segítségével. A „Wave Editor” -ot használtam, és végül ezt az egyetlen számot töltöttem be az SD -kártyára. Az SD -kártyát az MP3 -lejátszó modulba szerelték fel, és a kimenetet az erősítőmodulhoz csatlakoztatta, hogy a hangot a hangszóróból hallja.
Lásd a Képet
Az LM386 erősítő chip nagyon kevés külső komponenst igényel, és meglehetősen jó hangot ad a kis hangszórókból. Az áramkört meglehetősen könnyű összeszerelni egy perfboardból, és körülbelül 15-20 percbe telt, mire összeszereltem. A kép teljesen magától értetődő.
7. lépés: A végső összeszerelés
Mielőtt mindent beillesztenék a házba, mindent ki akartam tesztelni, és szükség szerint elrendeztem a modulokat, és elvégeztem a végső csatlakozásokat. Miután elégedett voltam az alkatrészek működésével. Rögzítettem őket az erre a célra készített kártyaházban.
Mellékelek egy videót a kellék utolsó összeszerelése után.
8. lépés: A MELLÉKLET
A Melléklet
A ház egy régi kartondobozból készült, pirosra festve. A szemek és a PIR -érzékelő helyét éles pengével vágták ki. A koponya nyomatát a dobozra, a szemekre stb.ennek megfelelően vágja ki, és a körvonalat fekete állandó tollal rajzolta újra. A hajat kidobott vizespalackokból készítettem, vékony csíkokra vágtam, és a fejre és az oldalakra ragasztottam a Hot Melt ragasztóval. Rögzítettem 2 színváltó LED-et az oldalakon, és ezeket a PIR vezérlőpanel kimenetéhez kötöttem.
Kis lyukakat készítettek a hangszóró számára, és az összes elemet rögzítették a doboz belsejében található Hot Melt Glue segítségével. A tápkábelt kivették a doboz hátuljából, és ennyi.
Remélem, élvezni fogja ezt a Halloween kelléket a gyerekeknek !!
Hamarosan csatolom a projektben használt hangklipet.
Boldog Halloweent Mindenkinek !!
Ajánlott:
IoT Halloween tök - LED -ek vezérlése Arduino MKR1000 és Blynk alkalmazással ???: 4 lépés (képekkel)
IoT Halloween tök | LED -ek vezérlése Arduino MKR1000 és Blynk alkalmazással ???: Üdv mindenkinek! Néhány héttel ezelőtt Halloween volt, és a hagyományokat követve szép tököt faragtam az erkélyemre. De miután a sütőtököm szabadban volt, rájöttem, hogy elég bosszantó, hogy minden este ki kell mennem meggyújtani a gyertyát. És én
SimpleClean Psycho Pass Dominator Prop: 6 lépés
SimpleClean Psycho Pass Dominator Prop: Ez az első kísérletem a kellékek készítésében. Ezt sikerült egy hét tanítási szünidő alatt, a helyszínen való építkezés révén, kirohanni. Ez a dominátor kellék ahhoz, hogy egy nem halálos bénítóberendezésből Halálos eliminátor módba váltson, játssza a megfelelő
Motion Follow Animatronics Eyes: 8 lépés (képekkel)
Motion Follow Animatronics Eyes: Ez az Arduino projekt optikai áramlásérzékelőt (ADNS3080) használ a mozgás rögzítésére. Ezután fordítsa le az adatokat a szervó mozgatásához, hogy úgy tűnjön, mintha a szemek mozgó tárgyat követnének. Ez nem egyszerű felépítés. 3D nyomtatást, forrasztást, néhány általános
Mini prop lángszóró: 6 lépés
Mini prop lángszóró: személyes lángszórót szeretne a hó olvadásához, a zombik olvadásához vagy a hazai védekezéshez, de nem szeretne 400 dollárt költeni, akkor ez az Ön számára
Életnagyságú Robot Prop: 6 lépés
Life Size Robot Prop: Liza Trainer nagyon félelmetes dolgokkal rukkolt elő az évek során. Íme egyike sok alkotásának, amelyek nem meglepő módon egy egyszerű ötlettel kezdődnek. Élvezze :). Rendben srácok, látom a problémát. Nem, nem plagizálok, Liza egy barát, és