Mundarija:

Xellouin qo'rqinchli ko'zlar: 8 qadam
Xellouin qo'rqinchli ko'zlar: 8 qadam

Video: Xellouin qo'rqinchli ko'zlar: 8 qadam

Video: Xellouin qo'rqinchli ko'zlar: 8 qadam
Video: Mutant qo`zichoqni fermer oilasi asrab oldi ammo u... 2024, Noyabr
Anonim
Halloween qo'rqinchli ko'zlar
Halloween qo'rqinchli ko'zlar
Halloween qo'rqinchli ko'zlar
Halloween qo'rqinchli ko'zlar
Halloween qo'rqinchli ko'zlar
Halloween qo'rqinchli ko'zlar
Halloween qo'rqinchli ko'zlar
Halloween qo'rqinchli ko'zlar

Yillar mobaynida turli loyihalarni amalga oshirishda a

ishlatilmay yotgan turli xil modullarning to'liq to'plami va men hech bo'lmaganda ulardan ba'zilarini bir vaqtning o'zida qiziqarli va ijodiy bo'lishi uchun ishlatmoqchi edim.

Fikrlar uchun "Instructables.com sayti" orqali o'tib, men bu "Xellouin" uchun biror narsa qilish uchun ularni bir -biriga aralashtirish mumkin deb o'yladim.

Men o'z g'oyalarini ishlatgani uchun kutilmagan ishlab chiqaruvchi Stiv Quinnga kredit berishim kerak.

Ta'minotlar

FOYDALANILGAN MADDALAR VA MODULLAR

Ishlatilgan modullar

1 yolg'iz Atmega8 taxtasi

5 voltli chiqish uchun 2 ta PIR asosidagi boshqaruv paneli

3 LM386 kuchaytirgich paneli

4 umumiy MP3 pleer moduli

5 MAX7219 8x8 LED modullari

6 ta PIR moduli (umumiy)

7 4”4 Ohmli dinamik

Boshqa materiallar

a. Bo'sh karton quti

b. Bo'sh bir martalik suv idishlari

v. Rangni o'zgartirish LED 5V

d. Turli xil simlar

e. Yelimli qurol

f. Lehimlash temir

g. Har xil asboblar va kesgichlar

h. 12V 1A pastga tushadigan transformator

Muhim

1 Arduion IDE

2 AVR chiplari uchun dasturiy kengash

3 Dasturlash (yonish) dasturi

1 -qadam: Har xil modullar

Turli xil modullar
Turli xil modullar
Turli xil modullar
Turli xil modullar
Turli xil modullar
Turli xil modullar

Birinchidan, biz turli xil modullarni ishlab chiqarishni ko'rib chiqamiz

Albatta, barcha elektronika uchun bitta PCB yasash mumkin edi va loyiha juda yaxshi ishlay olardi, lekin men uchun ilgari tayyorlagan turli xil buyumlarni turli loyihalar uchun ishlatish kerak edi va endi ularga ehtiyoj tugadi. faqat o'sha narsalarni qayta ishlatmoqchi edim.

ATmega8 platasi

Men ATmega8 chipini tashqi kristalsiz ishlataman. Aslida, bu taxtalar P10 16x32 LED modullarini ishlatish uchun qilingan va menda bu loyihadan qolganlari bor edi. Kengash va tenglikni sxemasi rasmi quyidagicha (rasmlarga qarang). O'zingizning Arduino taxtangizni "o'rgatish mumkin" haqida ko'p sonli maqolalar mavjud. Siz yotishingiz mumkin bo'lgan eski Arduino taxtasidan foydalanishingiz mumkin.

PIR boshqaruv paneli

Ushbu PIR taxtasi LED -ga asoslangan kichik bayram bezaklarini yoqish va o'chirish uchun qilingan va hozir u shunchaki yotibdi va men uni ishlatishga qaror qildim. O'chirish sxemasi rasmlarda ko'rsatilgan

LM 386 kuchaytirgich paneli

Bu MP3 pleer modulidan ovoz chiqarishni kuchaytiradigan kuchaytirgich moduli. sxemasi va sxemasi juda oddiy va rasmlar hammasini aytadi. O'chirish sxemasi va to'ldirilgan taxtaning tasviri o'z -o'zidan tushunarli.

MP3 pleer moduli

Men rasmda ko'rsatilgan MP3 pleer modulidan foydalandim. U Amazon va boshqalarda mavjud, arzon va ulardan foydalanish oson. Ushbu modulning eng yaxshi tomoni shundaki, u o'ynashni boshlash uchun hech qanday qo'shimcha buyruq yoki ulanishni talab qilmaydi. Kengashga tegishli quvvat berilgach, u o'z vazifasini bajarishni boshlaydi.

MAX7219 8x8 LED modullari

Bu 8x8 LED displeyli modullar Amazonda osonlikcha mavjud bo'lib, men ishlatganlarning rasmlari taqdim etiladi.

PIR moduli

Men hozirda mavjud bo'lgan PIR Sensor modulidan foydalandim. U Amazonda va boshqalarda mavjud, u arzon va ulardan foydalanish oson. Rasmlar ma'lumot olish uchun berilgan.

2 -qadam: Assambleya 1 -qism

Assambleyaning 1 -qismi
Assambleyaning 1 -qismi

Kontseptsiya bu modullarning barchasini birlashtirib, kimdir rekvizit oldidan o'tganda faollashtiriladigan Xellouin bayramini yasash edi. Buning uchun men 12 voltli quvvat manbaini PIR boshqaruv kengashiga uladim, bu esa o'z navbatida 7805 IC yordamida 5V DC ga tushdi va bu 5V DC kuchlanish PIR sensori va boshqa modullarga uzatildi., ATmega8 taxtasi, kuchaytirgich moduli va MP3 pleer moduli, kimdir PIR sensori oldiga kelganida. Oqim jadvali hammasini aytadi.

Ko'rib turganimizdek, PIR sensori ATmega8 kartasini, kuchaytirgich modulini va MP3 pleer modulini ishga tushiradi, ATmega8 "ko'zlar" LED matritsasini boshqaradi, MP3 pleer ovoz effektlarini ijro etadi va kuchaytirgich moduli signalni karnayga yuboradi..

Arduino kodi - bu Stiv Kvinning ko'rsatmalaridan to'g'ridan -to'g'ri o'chirish, faqat vaqt kodda o'zgartirilgan. Amaldagi kod quyida keltirilgan. INO fayli ham biriktirilgan.

Kodeks

// D10 = Raqamli O/P CS pin

// D11 = Raqamli O/P soat pimi

// D12 = Raqamli O/P ma'lumot pimi

//

#qo'shing

#qo'shing

const int numDevices = 2; // ishlatilgan MAX7219 soni

const int dataPin = 12;

const int clkPin = 11;

const int csPin = 10;

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

// Ushbu kodni Arduino rivojlanish muhitiga qo'ying

#Define LeftEye1 0

#o'ngEye1ni belgilang 1

#chap ko'zni belgilang2 2

#o'ng ko'zni belgilang2 3

#Chap Ko'zni belgilang3 4

#o'ngEye3 ni aniqlang 5

#chap ko'zni aniqlang 4 6

#o'ngEye4ni aniqlang 4 7

#chap ko'zni aniqlang5 8

#o'ng ko'zni aniqlang5 9

#chap ko'zni aniqlang 6 10

#o'ngEye6 ni belgilang 11

#Chap Ko'zni belgilang7 12

#O'ng ko'zni belgilang7 13

#Chap Ko'zni aniqlang8 14

#o'ngEye88 ni aniqlang

#Chap Ko'zni aniqlang 16 16

#o'ngEye99 ni belgilang

#Davlat Chap Ko'z10 18

#o'ngEye10 ni belgilang 19

#chap ko'zni aniqlang 11 20

#o'ng ko'zni aniqlang 21 21

22

23

#Chap Ko'zni aniqlang 13 24

25

26

27

28

29

30

#o'ng ko'zni aniqlang 31 31

32

#33

34

35

36

37

38

39

typedef tuzilishi {

const unsigned char qator1 [8];

}

binaryArrayType;

binaryArrayType binaryArray [40] =

{

{// Chap Ko'z1, 0

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

}, {// o'ng ko'z1, 1

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

}, {// Chap Ko'z2, 2

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

}, {// o'ng ko'z2, 3

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

}, {// Chap Ko'z3, 4

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

}, {// o'ng ko'z3, 5

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

}, {// Chap Ko'z4, 6

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

}, {// o'ng ko'z4, 7

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

}, {// Chap Ko'z5, 8

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

}, {// o'ng ko'z 5, 9

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

}, {// Chap Ko'z6, 10

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

}, {// o'ng ko'z 6, 11

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

}, {// Chap Ko'z7, 12

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

}, {// o'ng ko'z 7, 13

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

}, {// Chap Ko'z8, 14

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

}, {// o'ng ko'z8, 15

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

}, {// Chap Ko'z9, 16

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

}, {// o'ng ko'z 9, 17

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

}, {// Chap Ko'z10, 18

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

}, {// RightEye10, 19

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

}, {// Chap Ko'z11, 20

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

}, {// o'ng ko'z 11, 21

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

}, {// Chap Ko'z12, 22

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

}, {// o'ng ko'z 12, 23

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

}, {// Chap Ko'z13, 24

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

}, {// o'ng ko'z 13, 25

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

}, {// Chap Ko'z14, 26

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

}, {// o'ng ko'z 14, 27

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

}, {// Chap Ko'z15, 28

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

}, {// o'ng ko'z 15, 29

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

}, {// Chap ko'z 16, 30

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

}, {// o'ng ko'z 16, 31

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

}, {// Chap Ko'z17, 32

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

}, {// o'ng ko'z 17, 33

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

}, {// Chap Ko'z18, 34

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

}, {// RightEye18, 35

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

}, {// Chap Ko'z19, 36

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

}, {// o'ng ko'z 19, 37

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

}, {// Chap Ko'z20, 38

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

}, {// o'ng ko'z 20, 39

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

}

};

typedef tuzilishi {

int frameCount; // indikator ko'rsatgichi animatsion ramkani bildiruvchi binaryArray

int frameDelay; // Bu animatsion kadrni ko'rsatish uchun Milisaniyadagi taxminan kechikish

int frameLuminance; // 0… 15, berilgan ramka uchun bosh matritsaning intensivligi

} frameType;

frameType film =

{

// Ko'z yuming

{Chap ko'z1, 1000, 1}, {chap ko'z2, 5, 1}, {chap ko'z3, 10, 1}, {chap ko'z4, 10, 1}, {chap ko'z 17, 100, 1}, {chap ko'z4, 10, 1}, {chap ko'z3), 10, 1}, {Chap Ko'z2, 5, 1}, // Yana to'liq

{LeftEye1, 1500, 2}, // qoshlarini burish

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

};

bo'sh kechikish Millis (int millisekundlarda)

{

uchun (int i = 0; i <millisekundlar; i ++)

kechikish mikrosaniyalari (1000);

}

bo'sh o'rnatish () {

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

lc.shutdown (x, noto'g'ri); // MAX72XX ishga tushganda quvvatni tejash rejimida

lc.setIntensivlik (x, 1); // Yorqinlikni standart qiymatga o'rnating

lc.clearDisplay (x); // va displeyni tozalang

}

}

void loop () {

lc.setIntensity (0, 3);

lc.setIntensity (1, 3);

while (rost) {

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

{

uchun (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 -qadam: 2 -qism

O'rnatish 2 -qism
O'rnatish 2 -qism

Arduino IDE -ni ishga tushirgandan so'ng, siz kodni nusxalashingiz va kodni kompilyatsiya qilishingiz/tasdiqlashingiz kerak. Kodni kompilyatsiya qilganingizda, HEX fayli kompyuterning TEMP papkasida yaratiladi. Arduino IDE -ni yopishdan oldin, siz HEX faylini temp papkasidan nusxalashingiz mumkin va bu faylni ishlashi uchun biz ATmega8 chipiga yozishimiz kerak.

Kodni tuzayotganda men taxtani "Arduino NG yoki Older" va protsessorni "ATmega8" deb tanladim va kompilyatsiya qilgandan so'ng, Arduino IDE yopilishidan oldin HEX faylini kompyuterning Temp papkasidan nusxa ko'chirdim.

Bu HEX fayli tashqi AVR Burner bilan ATmega8 chipiga yoqilgan. Buning uchun men "Extreme Burner_AVR" dasturidan va AVR Burner Board -dan foydalandim. Kengashning rasmiga ilova qilingan. O'zingizga qulay bo'lgan har qanday AVR dasturiy ta'minotidan foydalanishingiz mumkin.

Tashqi dasturchidan foydalanishning sababi shundaki, men yuklagichni Atmega8 chiplariga yoqishni xohlamadim va yuklovchisiz ular oddiy Arduino kartasida yoki Arduion IDE bilan ishlamaydi. Kodni Arduino IDE bilan kompilyatsiya qilganingizdan so'ng HEX fayllarini chiqarib olish juda oson va men shunday qildim.

ESLATMA

Tashqi dasturchidan foydalanganda sug'urta bitining to'g'ri sozlamalarini tanlash juda muhim.

Bunday holda, biz tashqi kristallni ishlatmayapmiz va ATmega8 chipining ichki soatiga tayanamiz, shuning uchun sug'urta bitlarini shunga mos ravishda sozlashimiz kerak. Men quyidagi sug'urta sozlamalarini tanladim.

Lfuse- E4

Hfuse - D9

Bu nimani anglatadi

Demak, biz tashqi kristal yoki rezonatordan foydalanmayapmiz

Soat 8 MGts ichki soatga o'rnatiladi

ATmega8 chipi dasturlashtirilgach, loyihani yig'ish va uni sinab ko'rish vaqti keldi.

4 -qadam: Ko'zlarni bog'lash

Ko'zlarni bog'lash
Ko'zlarni bog'lash
Ko'zlarni bog'lash
Ko'zlarni bog'lash

MAX7219 8x8 LED matritsasi quyidagi tarzda ulangan.

ATmega8 kartasi MAX7219 matritsasiga

IO Pin D10 dan CS PIN kodiga

PIN kodini bosish uchun IO Pin D11

IO Pin D12 TO DIN PIN

VCC VCC ga

GND - GND

Rasmga qarang

5 -qadam: PIR sensori va modulini ulash

PIR sensori va modulini ulash
PIR sensori va modulini ulash
PIR sensori va modulini ulash
PIR sensori va modulini ulash
PIR sensori va modulini ulash
PIR sensori va modulini ulash
PIR sensori va modulini ulash
PIR sensori va modulini ulash

Keyin PIR sensori PIR boshqaruvchisiga ulandi

Kengash, ulanishlar quyidagicha

PIR sensori uchun PIR boshqaruv paneli

VCC - VCC

CTRL - CTRL

GND dan GNDgacha

Diagramma ga qarang

Bu hammasini amalga oshiradigan qism. PIR sensori har qanday issiq qonli mavjudotning harakatini oladi va har xil sxemalar/modullarning quvvat manbaini yoqadi. PIR sensori vaqti talabga muvofiq sozlangan va bu holda bu 40-45 soniyani tashkil qiladi. Taxminan 40-45 soniya davomida unga ulangan barcha kontaktlarning zanglashiga 5 voltli shaharni yuboradi.

6 -qadam: MP3 pleer va kuchaytirgich

MP3 pleer va kuchaytirgich
MP3 pleer va kuchaytirgich
MP3 pleer va kuchaytirgich
MP3 pleer va kuchaytirgich
MP3 pleer va kuchaytirgich
MP3 pleer va kuchaytirgich

KEYINGI MP3 pleer moduli va kuchaytirgich moduli.

Men ishlatgan MP3 pleerni yoqish uchun hech qanday tugmani bosishning hojati yo'q, unga kerakli kuchlanish berilgan vaqtda u avtomatik ravishda o'ynay boshlaydi. Menga faqat bitta trek kerak edi, shuning uchun men xotirasi past bo'lgan SD -kartani topdim (4 Gb, chunki shu kunlarda sig'imi pastroq kartani olish deyarli mumkin emas). Men internetdan yuklagan tovushlar, aslida bir qancha ovoz effektlari yuklangan va ularning hammasi ovozli muharrir dasturidan foydalanib bitta MP3 trekni yaratish uchun tuzilgan. Men "To'lqin muharriri" dan foydalandim va nihoyat, bu trekni SD -kartaga yukladim. SD -karta MP3 pleer moduliga o'rnatildi va karnaydan ovoz olish uchun chiqish kuchaytirgich moduliga ulandi.

Rasmga qarang

LM386 kuchaytirgich chipi juda kam tashqi komponentlarni talab qiladi va kichik karnaylardan yaxshi ovoz chiqaradi. Perforator taxtasini yig'ish sxemasi juda oson va uni yig'ishimga 15-20 daqiqa vaqt ketdi. Rasm o'z -o'zidan tushunarli.

7 -qadam: Yakuniy yig'ilish

Image
Image
QO'ShIMChA
QO'ShIMChA

Hamma narsani korpusga joylashtirishdan oldin, men hamma narsani sinab ko'rishni va modullarni kerakli tarzda joylashtirishni va oxirgi ulanishlarni o'rnatishni xohlardim. Men qismlarning ishlashidan qoniqdim. Men ularni shu maqsadda tayyorlangan kartalar taxtasi korpusiga o'rnatdim.

Men rekvizitning yakuniy yig'ilishidan so'ng videoni biriktiraman.

8 -qadam: INCLOSURE

QO'ShIMChA
QO'ShIMChA
QO'ShIMChA
QO'ShIMChA
QO'ShIMChA
QO'ShIMChA

Qoplama

Korpus eski karton qutidan qilingan, qizil rangga bo'yalgan. Ko'zlar va PIR sensori uchun joy o'tkir pichoq yordamida kesilgan. Bosh suyagining izi qutiga va ko'zlarga yopishtirilgan.mos ravishda kesilgan va kontur qora Doimiy marker qalam bilan qayta chizilgan. Men sochlarni tashlab yuborilgan suv idishlaridan yasadim, ingichka bo'laklarga bo'lib, boshiga va yonlariga Hot Melt elim bilan yopishtirdim. Men yon tomonga 2 ta rang o'zgaruvchan LEDni o'rnatdim va ular PIR boshqaruv panelidan tashqariga ulangan.

Karnay uchun kichik teshiklar qilingan va barcha buyumlar qutining ichki qismidagi Hot Melt elim yordamida tuzatilgan. Quvvat kabeli qutining orqa qismidan chiqarildi va bu haqida.

Umid qilamanki, siz ushbu Halloween bayramini bolalar uchun qilishdan zavqlanasiz !!

Yaqinda men ushbu loyihada ishlatiladigan audioklipni qo'shaman.

Hammaga Xellouin bayrami muborak !!

Tavsiya: