Cuprins:
- Provizii
- Pasul 1: Diferitele module
- Pasul 2: Asamblarea Partea 1
- Pasul 3: Asamblarea Partea 2
- Pasul 4: Conectarea Ochilor
- Pasul 5: Conectarea senzorului PIR și a modulului
- Pasul 6: Playerul MP3 și amplificatorul
- Pasul 7: Adunarea finală
- Pasul 8: ÎNCHIDEREA
Video: Halloween Scary Eyes Prop: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
De-a lungul anilor, în realizarea diferitelor proiecte, a existat un
o întreagă colecție de module diferite care erau doar nefolosite și am vrut să le folosesc cel puțin pe unele pentru ceva care să fie distractiv și creativ în același timp.
Parcurgând „site-ul instructables.com” pentru Idei, am întâmplat câteva proiecte care am crezut că ar putea fi amestecate pentru a face ceva pentru acest „Halloween”.
Trebuie să-i acord credit lui Steve Quinn, Unexpected Maker pentru că și-a folosit ideile.
Provizii
ARTICOLE ȘI MODULURI UTILIZATE
Module utilizate
1 Stand singur Atmega8 Board
2 plăci de control pe bază de PIR pentru ieșire de 5 volți
3 placă amplificator LM386
4 Modul MP3 Player generic
5 MAX7219 Module LED 8x8
Modul 6 PIR (generic)
7 Difuzor de 4”4 Ohm
Alte materiale
A. Cutie de carton goală
b. Sticle de apă goale de unică folosință
c. LED schimbător de culoare 5V
d. Firuri asortate
e. Pistol de lipit
f. Ciocan de lipit
g. Unelte și tăietoare diverse
h. 12V 1A transformator descendent
Important
1 ID Arduion
2 Placă de programare pentru jetoane AVR
3 Software de programare (ardere)
Pasul 1: Diferitele module
În primul rând, vom analiza realizarea diferitelor module, Noi
ar putea face cu siguranță doar un singur PCB pentru toate componentele electronice și să aibă proiectul să funcționeze foarte bine, dar, pentru mine, ideea a fost să folosesc diferitele elemente pe care le-am făcut deja mai devreme pentru diferite proiecte și acum că nevoia lor sa terminat, am am vrut doar să refolosesc acele articole.
Consiliul ATmega8
Folosesc cipul ATmega8 fără cristal extern. De fapt, aceste plăci au fost făcute să ruleze niște module LED P10 16x32 și am mai rămas câteva din acest proiect. Imaginea plăcii și a aspectului PCB este după cum urmează (a se vedea imaginile). Există nenumărate articole despre crearea propriului tău forum Arduino pe „instructabile”. Puteți pur și simplu să utilizați orice placă Arduino veche pe care s-ar putea să o aveți.
Placă de control PIR
Această placă PIR a fost făcută să pornească și să oprească niște mici decorațiuni de festival bazate pe LED-uri și acum tocmai zăcea și am decis să o folosesc. Aspectul circuitului este prezentat în imagini
Placa amplificatorului LM 386
Acesta este modulul amplificator care amplifică ieșirea sunetului din modulul MP3 Player. aspectul și circuitul sunt destul de simple, iar imaginile spun totul. aspectul circuitului și imaginea plăcii completate se explică de la sine.
Modulul MP3 Player
Am folosit modulul MP3 Player prezentat în imagine. Este ușor disponibil pe Amazon etc., este ieftin și ușor de utilizat. Cea mai bună parte a acestui modul special este că nu necesită nicio comandă sau conexiune suplimentară pentru a începe redarea. În momentul în care alimentarea corespunzătoare este furnizată plăcii, începe să-și facă treaba.
MAX7219 Module LED 8x8
Aceste module de afișare LED 8x8 sunt disponibile pe Amazon etc. sunt furnizate imagini cu cele pe care le-am folosit.
Modulul PIR
Am folosit modulul senzor PIR disponibil. Este disponibil pe Amazon etc., este ieftin și ușor de utilizat. Pozele sunt furnizate pentru referință.
Pasul 2: Asamblarea Partea 1
Conceptul a fost de a combina toate aceste module și de a crea o Propoziție de Halloween care să fie activată ori de câte ori cineva traversează în fața propsului. Pentru aceasta, am conectat sursa de alimentare de 12 volți la placa de control PIR, care, la rândul său, a redus tensiunea la 5V DC cu ajutorul 7805 IC și această tensiune 5V DC a fost transmisă senzorului PIR și mai departe la celelalte module, placa ATmega8, modulul amplificator și modulul MP3 Player ori de câte ori cineva a venit în fața senzorului PIR. Diagrama de flux spune totul.
După cum putem vedea, senzorul PIR declanșează placa ATmega8, modulul amplificatorului și modulul MP3 Player, ATmega8 controlează matricea LED „Eyes”, playerul MP3 redă efectele sonore și modulul amplificator trimite semnalul către difuzor.
Codul Arduino este o oprire directă a instrucțiunii lui Steve Quinn, cu excepția faptului că ora a fost modificată în cod. Codul utilizat este dat mai jos. Fișierul INO este, de asemenea, atașat.
Codul
// D10 = Pin digital O / P CS
// D11 = Pin digital cu ceas O / P
// D12 = PIN de date digital O / P
//
#include
#include
const int numDevices = 2; // numărul de MAX7219s utilizat
const int dataPin = 12;
const int clkPin = 11;
const int csPin = 10;
LedControl lc = LedControl (dataPin, clkPin, csPin, numDevices);
// Lăsați acest cod în mediul de dezvoltare Arduino
#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 unsigned 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; // indexează pointerul în cadrul de animație care semnifică binaryArray
int frameDelay; // Aproximativ întârziere în milisecunde pentru a menține afișat acest cadru animat
int frameLuminance; // 0 … 15, intensitatea matricei led pentru un cadru dat
} frameType;
film FrameType =
{
// Clipește
{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {LeftEye2, 5, 1}, // Complet din nou
{LeftEye1, 1500, 2}, // Incruntat
{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}
};
void delayMillis (milisecunde int)
{
for (int i = 0; i <milisecunde; i ++)
delayMicroseconds (1000);
}
configurare nulă () {
for (int x = 0; x <numDevices; x ++) {
lc.shutdown (x, false); // MAX72XX este în modul de economisire a energiei la pornire
lc.setIntensity (x, 1); // Setați luminozitatea la valoarea implicită
lc.clearDisplay (x); // și ștergeți afișajul
}
}
bucla nulă () {
lc.setIntensity (0, 3);
lc.setIntensity (1, 3);
while (adevărat) {
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);
}
}
}
Pasul 3: Asamblarea Partea 2
Odată ce aveți ID-ul Arduino pornit și rulat, trebuie să copiați codul și să compilați / verificați codul. Când compilați codul, fișierul HEX este creat în folderul TEMP al computerului. Înainte de a închide Arduino IDE, puteți copia fișierul HEX din folderul temp și acest fișier este ceea ce trebuie să ardem în cipul ATmega8 pentru a-l face să funcționeze.
În timp ce compilam codul, am ales placa ca „Arduino NG or Older” și procesorul ca „ATmega8” și după compilare, am copiat fișierul HEX din folderul Temp al computerului, înainte de a închide Arduino IDE.
Acest fișier HEX a fost ars pe ATmega8 Chip cu un AVR Burner extern. Am folosit software-ul „Extreme Burner_AVR” și o placă AVR Burner în acest scop. Imaginea tabloului este atașată. Puteți utiliza orice software de programare AVR cu care vă simțiți confortabil.
Motivul utilizării unui programator extern a fost că nu am vrut să ard bootloader-ul pe cipurile Atmega8 și fără bootloader-ul, nu ar funcționa pe placa Arduino obișnuită sau cu IDE-ul Arduion. Este destul de ușor să extrageți fișierele HEX odată ce ați compilat codul cu Arduino IDE și asta am făcut.
NOTĂ
Este foarte important să alegeți setările corecte ale bitului siguranței în timp ce utilizați un programator extern.
În acest caz, deoarece nu folosim un cristal extern am și ne bazăm pe ceasul intern al cipului ATmega8, este important să configurăm biții siguranței în consecință. Am ales următoarele setări de siguranță.
Lfuse- E4
Hfuse - D9
CE INSEAMNA ASTA
Înseamnă că nu folosim cristal extern sau rezonator
Ceasul este setat la ceas intern de 8 MHz
Odată ce cipul ATmega8 a fost programat, a venit timpul să asamblați proiectul și să-l testați.
Pasul 4: Conectarea Ochilor
MAX7219 8x8 LED Matrix a fost conectat după cum urmează.
Placă ATmega8 TO MAX7219 Matrix
IO Pin D10 TO CS PIN
IO Pin D11 TO CLK PIN
IO Pin D12 TO DIN PIN
VCC ÎN VCC
GND ÎN GND
Consultați Imagine
Pasul 5: Conectarea senzorului PIR și a modulului
Apoi senzorul PIR a fost conectat la controlerul PIR
Board, conexiunile sunt după cum urmează
Placa de control PIR la senzorul PIR
VCC la VCC
CTRL la CTRL
GND la GND
Consultați Diagrama
Aceasta este partea care face ca totul să se întâmple. Senzorul PIR preia mișcarea oricărei creaturi cu sânge fierbinte și pornește sursa de alimentare la toate circuitele / modulele diferite. timpul pe senzorul PIR a fost ajustat conform cerințelor și în acest caz este de aproximativ 40 - 45 de secunde. Trimite 5 volți DC la toate circuitele atașate la acesta pentru o perioadă de aproximativ 40 -45 secunde.
Pasul 6: Playerul MP3 și amplificatorul
LUAȚI Modulul MP3 Player și modulul Amplificator.
MP3 Playerul pe care l-am folosit nu are nevoie de niciun buton pentru a porni, în momentul în care i se furnizează tensiunea corespunzătoare, începe automat să se redea. Aveam nevoie de o singură pistă, așa că am găsit cardul SD cu cea mai mică memorie pe care o puteam (4 GB, deoarece este aproape imposibil să obțin orice card cu capacitate mai mică în zilele noastre). Sunetele pe care le-am descărcat de pe internet, de fapt, au existat o serie de efecte sonore care au fost descărcate și toate au fost compilate pentru a crea o singură piesă MP3 utilizând software-ul de editare a sunetului. Am folosit „Wave Editor” și am încărcat în cele din urmă această singură piesă pe cardul SD. Cardul SD a fost montat în modulul MP3 Player, iar ieșirea a fost conectată la modulul amplificator pentru a obține sunetul de la difuzor.
Consultați Imagine
Cipul amplificator LM386 necesită foarte puține componente externe și oferă sunet destul de bun din difuzoarele mici. Circuitul este destul de ușor de asamblat dintr-un perfboard și mi-a luat aproximativ 15-20 de minute să-l montez. Imaginea se explică de la sine.
Pasul 7: Adunarea finală
Înainte de a monta totul în incintă, am vrut să testez totul și să așez modulele după cum este necesar și să fac conexiunile finale. După ce am fost mulțumit de lucrul pieselor. Le-am fixat în incinta plăcii de carduri făcută în acest scop.
Atașez un videoclip după asamblarea finală a prop.
Pasul 8: ÎNCHIDEREA
Incinta
Incinta a fost realizată dintr-o cutie veche de carton, vopsită în roșu. Locul pentru ochi și senzorul PIR a fost decupat folosind o lamă ascuțită. O cutie a craniului a fost lipită pe cutie și ochi etc.decupat corespunzător și conturul a fost redesenat cu un stilou permanent negru. Am făcut părul din sticle de apă aruncate, le-am tăiat în benzi subțiri și le-am lipit cu Hot Melt Glue pe cap și pe laturi. Am fixat 2 LED-uri de schimbare a culorilor pe laterale și acestea au fost conectate la ieșirea de pe placa de control PIR.
Au fost făcute găuri mici pentru difuzor și toate articolele au fost fixate cu ajutorul Hot Melt Glue pe interiorul cutiei. Cablul de alimentare a fost scos din spatele cutiei și cam atât.
Sper să vă bucurați să faceți acest Prop Halloween pentru copii !!
În curând voi atașa clipul audio utilizat în acest proiect.
Halloween fericit tuturor!
Recomandat:
Scary Pennywise: 7 pași
Scary Pennywise: o scurtă descriere a proiectului Pentru acest proiect ne-am implementat cunoștințele despre programare și realizarea circuitelor pe care le-am învățat la subiectul „Utilizări academice și terminologie specifică în limba engleză”. Scopul proiectului a fost de a proiecta
Flashing Eyes Bat Sword Decor de Halloween: 6 pași
Flashing Eyes Bat Sword Halloween Decor: Clasa de robotică este o modalitate excelentă de a învăța cum să folosiți informatica și tehnologia pentru a crea proiecte. Folosind cunoștințele mele din robotică, am creat un decor de Halloween simplu și distractiv, care este minunat pentru ușile din față, agățat de pereți și orice altceva
SimpleClean Psycho Pass Dominator Prop: 6 pași
SimpleClean Psycho Pass Dominator Prop: Aceasta este prima mea încercare de a face recuzită. Am reușit să mă grăbesc într-o săptămână de vacanță școlară, prin construirea pe loc. Acest propulsor de dominator pentru a putea transforma dintr-un paralizor neletal în modul eliminator letal, juca
Aruncator de flacără Mini Prop: 6 pași
Aruncator de flacără Mini Prop: Doriți un aruncator de flacără personal pentru topirea zăpezii, topirea zombilor sau apărare la domiciliu, dar nu doriți să cheltuiți 400 de dolari, atunci acest lucru este pentru dvs
Led Scary !: 5 pași (cu imagini)
Led Scries !: Îmi plac niște aruncători, dar pentru oameni ciudați