Mündəricat:
- Təchizat
- Addım 1: Fərqli Modullar
- Addım 2: Məclis 1 -ci hissə
- Addım 3: 2 -ci hissə
- Addım 4: Gözləri birləşdirin
- Addım 5: PIR Sensor və Modulunun Bağlanması
- Addım 6: MP3 Çalar və Gücləndirici
- Addım 7: Son Qurultay
- Addım 8: QAPA
Video: Halloween Scary Eyes Prop: 8 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
İllər ərzində müxtəlif layihələr həyata keçirərkən, bir
İstifadə edilməmiş ətrafında yatan müxtəlif modulların bütün kolleksiyası və ən azı bəzilərini eyni zamanda əyləncəli və yaradıcı olacaq bir şey üçün istifadə etmək istədim.
Fikirlər üçün "Instructables.com Saytı" ndan keçərək, bu "Halloween" üçün bir şey hazırlamaq üçün qarışdırıla biləcəyini düşündüyüm bir neçə layihəyə rast gəldim.
Fikirlərindən istifadə etdiyi üçün gözlənilməz yaradıcı Steve Quinnə kredit verməliyəm.
Təchizat
İstifadə olunan maddələr və modullar
İstifadə olunan modullar
1 tək başına Atmega8 lövhəsi
5 Volt Çıxış üçün 2 PIR əsaslı İdarəetmə Paneli
3 LM386 gücləndirici lövhəsi
4 Ümumi MP3 Çalar Modulu
5 MAX7219 8x8 LED Modulu
6 PIR Modulu (Ümumi)
7 4”4 Ohm Dinamik
Digər Materiallar
a. Boş karton qutu
b. Boş Tək İstifadə Su Şüşələri
c. Rəng dəyişən LED 5V
d. Müxtəlif tellər
e. Yapışqan Tabancası
f. Lehimleme dəmir
g. Müxtəlif alətlər və kəsicilər
h. 12V 1A pilləli aşağı transformator
Əhəmiyyətli
1 Arduion IDE
2 AVR çipləri üçün proqramlaşdırma lövhəsi
3 Proqramlaşdırma (Yanan) Proqramı
Addım 1: Fərqli Modullar
Əvvəlcə fərqli modulların hazırlanmasına baxacağıq
Əlbəttə ki, bütün elektroniklər üçün yalnız bir PCB düzəldə bilər və layihəni yaxşı işlədə bilər, amma mənim üçün fikir əvvəllər hazırladığım fərqli əşyaları fərqli layihələr üçün istifadə etmək idi və indi ehtiyac artıq bitdi. sadəcə həmin əşyaları yenidən istifadə etmək istədim.
ATmega8 lövhəsi
Xarici bir kristal olmadan ATmega8 çipindən istifadə edirəm. Əslində, bu lövhələr bəzi P10 16x32 LED Modullarını işlətmək üçün hazırlanmışdır və bu layihədən bir neçə qalıqım qalmışdır. Lövhənin və PCB Layoutunun şəkli aşağıdakı kimidir (Şəkillərə baxın). Öz Arduino lövhənizi "göstərişli" etməklə bağlı saysız -hesabsız məqalələr var. Ətrafınızda yatan hər hansı bir köhnə Arduino lövhəsindən istifadə edə bilərsiniz.
PIR İdarəetmə Paneli
Bu PIR lövhəsi, bəzi kiçik LED əsaslı festival bəzəklərini açmaq və söndürmək üçün hazırlanmışdır və indi yalnız yalan danışırdı və istifadə etməyə qərar verdim. Circuit Layout şəkillərdə göstərilmişdir
THE LM 386 Gücləndirici lövhə
Bu MP3 Çalar Modulundan səs çıxışını gücləndirən gücləndirici moduldur. sxemi və sxemi olduqca sadədir və şəkillər hər şeyi deyir. Circuit layout və tamamlanmış lövhənin şəkli özünü izah edir.
MP3 pleyer modulu
Şəkildə göstərilən MP3 Çalar Modulundan istifadə etmişəm. Amazon və s. -də asanlıqla mövcuddur, ucuzdur və istifadəsi asandır. Bu xüsusi modulun ən yaxşı tərəfi, oynamağa başlamaq üçün heç bir əlavə əmr və ya əlaqə tələb etməməsidir. İdarə heyətinə lazımi güc verildiyi anda öz işini görməyə başlayır.
MAX7219 8x8 LED Modulları
Bu 8x8 LED Ekran Modulları Amazonda asanlıqla mövcuddur və istifadə etdiyim şəkillər verilir.
PIR modulu
Hazır olan PIR Sensor Modulundan istifadə etdim. Amazonda və s. Mövcuddur, ucuzdur və istifadəsi asandır. Şəkillər istinad üçün verilir.
Addım 2: Məclis 1 -ci hissə
Konsepsiya, bütün bu modulları birləşdirmək və kimsə rekvizitin qarşısından keçəndə aktivləşəcək bir Halloween Pervanesi hazırlamaq idi. Bunun üçün 12 voltluq enerji təchizatını 7805 IC -nin köməyi ilə 5V DC -ə endirən PIR İdarəetmə Lövhəsinə qoşdum və bu 5V DC Gərginliyi PIR Sensoruna və digər modullara ötürüldü., ATmega8 Board, Gücləndirici Modulu və MP3 Çalar Modulu, kimsə PIR Sensorunun qarşısına çıxanda. Axın cədvəli hər şeyi deyir.
Gördüyümüz kimi, PIR Sensoru ATmega8 Kartını, Gücləndirici Modulunu və MP3 Çalar Modulunu işə salır, ATmega8 "Gözlər" LED Matrisini idarə edir, MP3 Pleyer səs effektlərini ifa edir və Gücləndirici modulu siqnalı dinamikə göndərir..
Arduino Kodu, vaxtın kodda dəyişdirilməsi istisna olmaqla, Steve Quinn -in göstərişlərindən birbaşa uzaqlaşmadır. İstifadə olunan kod aşağıda verilmişdir. INO faylı da əlavə olunur.
Kod
// D10 = Rəqəmsal O/P CS Pin
// D11 = Rəqəmsal O/P Saat Pimi
// D12 = Rəqəmsal O/P Məlumat Pin
//
#daxil edin
#daxil edin
const int numDevices = 2; // istifadə olunan MAX7219 sayı
const int dataPin = 12;
const int clkPin = 11;
const int csPin = 10;
LedControl lc = LedControl (dataPin, clkPin, csPin, numDevices);
// Bu kodu Arduino inkişaf mühitinə atın
#Define LeftEye1 0
#Sağ Gözü təyin et1 1
#defteftyeye2 2
#Sağ Gözü təyin et2 3
#Define LeftEye3 4
#Sağ Gözü təyin et3 5
#Define LeftEye4 6
#Sağ Gözü təyin et 4 7
#Define LeftEye5 8
#Sağ Gözü təyin edin5 9
#Define LeftEye6 10
#Sağ Gözü6 11
#Define LeftEye7 12
#SağEye7 13
#Define LeftEye8 14
#Sağ Eye8 15
#Define LeftEye9 16
#Sağ Gözü9 17
#define LeftEye10 18
#Sağ Gözü10 19
#define LeftEye11 20
#SağEye11 21
#define LeftEye12 22
#Sağ Gözə12 23
#Define LeftEye13 24
#Sağ Gözü13 25
#Sol Gözü14 26
#Sağ Gözü14 27
#define LeftEye15 28
#Sağ Gözü15 29
#Sol Gözü16 30
#Sağ Gözə16 31
#Sol Gözü17 32
#Sağ Gözü17 33
34
#sağEye18 35
36
37
38
#Sağ Gözü20 39
typedef quruluşu {
const imzasız char array1 [8];
}
binaryArrayType;
binaryArrayType binaryArray [40] =
{
{// Sol Göz1, 0
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Sağ Göz1, 1
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Sol Göz2, 2
B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000
}, {// Sağ Göz2, 3
B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000
}, {// Sol Göz3, 4
B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000
}, {// Sağ Göz3, 5
B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000
}, {// Sol Göz4, 6
B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000
}, {// Sağ Göz 4, 7
B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000
}, {// Sol Göz 5, 8
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000010, B01111100
}, {// Sağ Göz 5, 9
B01111100, B10000010, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Sol Göz6, 10
B01111110, B10000001, B10000001, B10011001, B10011001, B10000010, B10000100, B01111000
}, {// Sağ Göz 6, 11
B01111000, B10000100, B10000010, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Sol Göz 7, 12
B01111110, B11000001, B10000001, B10011001, B10011010, B10000100, B10001000, B01110000
}, {// Sağ Göz 7, 13
B01110000, B10001000, B10000100, B10011010, B10011001, B10000001, B11000001, B01111110
}, {// Sol Göz8, 14
B00111110, B01000001, B10000001, B10011001, B10011010, B10000100, B01001000, B00110000
}, {// Sağ Göz8, 15
B00110000, B01001000, B10000100, B10011010, B10011001, B10000001, B01000001, B00111110
}, {// Sol Göz 9, 16
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Sağ Göz 9, 17
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// Sol Göz 10, 18
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// Sağ Göz10, 19
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// Sol Göz 11, 20
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// Sağ Göz 11, 21
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// Sol Göz 12, 22
B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110
}, {// Sağ Göz 12, 23
B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110
}, {// Sol Göz 13, 24
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110
}, {// Sağ Göz 13, 25
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110
}, {// Sol Göz 14, 26
B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000
}, {// Sağ Göz 14, 27
B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000
}, {// Sol Göz 15, 28
B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000
}, {// Sağ Göz 15, 29
B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000
}, {// Sol Göz 16, 30
B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000
}, {// Sağ Göz 16, 31
B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000
}, {// Sol Göz 17, 32
B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00000000
}, {// Sağ Göz 17, 33
B00000000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000
}, {// Sol Göz 18, 34
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110
}, {// Sağ Göz 18, 35
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110
}, {// Sol Göz 19, 36
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110
}, {// Sağ Göz 19, 37
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110
}, {// Sol Göz 20, 38
B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110
}, {// Sağ Göz 20, 39
B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110
}
};
typedef quruluşu {
int frameCount; // binaryArray -də animasiya çərçivəsini göstərən indeks göstəricisi
int frameDelay; // Bu cizgi çərçivəsini göstərmək üçün MilliSaniyələrdə təxminən gecikmə
int frameLuminance; // 0… 15, müəyyən bir çərçivə üçün led matrisin intensivliyi
} frameType;
frameType film =
{
// Göz qırp
{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {Sol Göz2, 5, 1}, // Yenidən tam
{Sol Göz1, 1500, 2}, // qaşqabaq
{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}
};
boş gecikməMillis (int milisaniyə)
{
üçün (int i = 0; i <milisaniyə; i ++)
gecikmə Mikrosaniyələr (1000);
}
boş quraşdırma () {
üçün (int x = 0; x <numDevices; x ++) {
lc.kapatma (x, yalan); // MAX72XX işə salındıqda enerji qənaət rejimindədir
lc.setIntensity (x, 1); // Parlaqlığı standart dəyərə qoyun
lc.clearDisplay (x); // və ekranı silin
}
}
boşluq döngəsi () {
lc.setIntensity (0, 3);
lc.setIntensity (1, 3);
while (doğru) {
for (int a = 0; a <(sizeof (film) / sizeof (frameType)); a ++)
{
üçün (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);
}
}
}
Addım 3: 2 -ci hissə
Arduino IDE -ni işə saldıqdan sonra kodu kopyalamalı və kodu tərtib etməli/yoxlamalısınız. Kodu tərtib edərkən, HEX faylı kompüterin TEMP qovluğunda yaradılır. Arduino IDE -ni bağlamadan əvvəl, HEX faylını müvəqqəti qovluqdan kopyalaya bilərsiniz və bu faylın işləməsi üçün ATmega8 çipinə yazmağımız lazım olan sənəddir.
Kodu tərtib edərkən lövhəni "Arduino NG və ya Köhnə" və prosessoru "ATmega8" olaraq seçdim və tərtib etdikdən sonra Arduino IDE -ni bağlamadan əvvəl HEX faylını kompüterin Temp Qovluğundan kopyaladım.
Bu HEX faylı xarici AVR Burner ilə ATmega8 Çipinə yandırıldı. Bu məqsədlə "Extreme Burner_AVR" proqramından və AVR Burner Board -dan istifadə etdim. Lövhənin şəkli əlavə olunur. Rahat olduğunuz hər hansı bir AVR proqramlaşdırma proqramından istifadə edə bilərsiniz.
Xarici bir proqramçıdan istifadə etməyimin səbəbi, yükləyicini Atmega8 çiplərinə yandırmaq istəməməyim və normal Arduino lövhəsində və ya Arduion IDE ilə işləməmələri idi. Arduino IDE ilə kodu tərtib etdikdən sonra HEX sənədlərini çıxarmaq olduqca asandır və mənim etdiyim budur.
QEYD
Xarici bir proqramçıdan istifadə edərkən düzgün qoruyucu bit parametrlərini seçmək çox vacibdir.
Bu vəziyyətdə, xarici kristal istifadə etmədiyimizdən və ATmega8 Çipinin daxili saatına güvəndiyimizdən, sigorta bitlərini buna uyğun olaraq konfiqurasiya etməyimiz vacibdir. Aşağıdakı qoruyucu parametrləri seçdim.
Lfuse- E4
Hfuse - D9
BU NƏDİR
Yəni xarici kristal və ya rezonatordan istifadə etmirik
Saat 8mHz daxili saata qurulmuşdur
ATmega8 Çipi proqramlaşdırıldıqdan sonra, layihəni yığmaq və sınamaq vaxtı gəldi.
Addım 4: Gözləri birləşdirin
MAX7219 8x8 LED Matrix aşağıdakı kimi bağlanmışdır.
ATmega8 Board MAX7219 Matrix
IO Pin D10 -dan CS PIN -ə
IO Pin D11 PİNİ TIKLAYIN
IO Pin D12 PİN DİN
VCC -dən VCC -yə
GND -dən GND -ə
Şəkilə baxın
Addım 5: PIR Sensor və Modulunun Bağlanması
Sonra PIR Sensoru PIR Nəzarətçisinə qoşuldu
Lövhə, əlaqələr aşağıdakı kimidir
PIR Sensoruna PIR İdarəetmə Paneli
VCC - VCC
CTRL - CTRL
GND - GND
Diaqrama baxın
Hər şeyi reallaşdıran da budur. PIR Sensoru, hər hansı bir isti qanlı varlığın hərəkətini alır və bütün fərqli sxemlərə/modullara enerji təchizatı açır. PIR Sensorundakı vaxt tələbata uyğun olaraq tənzimlənmişdir və bu vəziyyətdə təxminən 40-45 saniyədir. Təxminən 40-45 saniyə ərzində ona bağlı olan bütün dövrələrə 5 volt DC göndərir.
Addım 6: MP3 Çalar və Gücləndirici
Növbəti MP3 Pleyer Modulu və Gücləndirici Modulu.
İstifadə etdiyim MP3 Pleyerin açılması üçün heç bir düyməyə basılması lazım deyil, ona müvafiq gərginlik verildiyi anda avtomatik olaraq çalmağa başlayır. Yalnız bir parçaya ehtiyacım var idi, buna görə ən aşağı yaddaşa malik SD kartı tapdım (4 GB, çünki bu günlərdə daha az tutumlu bir kart əldə etmək demək olar ki, mümkün deyil). İnternetdən yüklədiyim səslər, əslində yüklənmiş bir sıra səs effektləri vardı və hamısı səs redaktoru proqramından istifadə edərək vahid MP3 parçasını hazırlamaq üçün tərtib edilmişdi. "Dalğa Redaktoru" ndan istifadə etdim və nəhayət bu parçanı SD Karta yüklədim. SD Kart MP3 Pleyer Moduluna quraşdırılmış və dinamikdən səs çıxarmaq üçün çıxış Gücləndirici Moduluna qoşulmuşdur.
Şəkilə baxın
LM386 Gücləndirici Çip çox az xarici komponent tələb edir və kiçik dinamiklərdən kifayət qədər yaxşı səs çıxarır. Bir dövrə taxtasının yığılması olduqca asandır və onu yığmaq təxminən 15-20 dəqiqə çəkdi. Şəkil olduqca özünü izah edir.
Addım 7: Son Qurultay
Hər şeyi korpusa yerləşdirməzdən əvvəl, hər şeyi sınamaq və lazım olduğu kimi modulları düzəltmək istədim və son əlaqələri qurdum. Parçaların işindən razı qaldıqdan sonra. Onları bu məqsədlə hazırlanmış Kart Kartı Qutusunun içərisinə düzəltdim.
Pervanenin son montajından sonra bir video əlavə edirəm.
Addım 8: QAPA
Mühafizə
Korpus qırmızı rəngə boyanmış köhnə karton lövhə qutusundan hazırlanmışdır. Gözlər və PIR sensoru üçün yer iti bıçaqla kəsilmişdir. Kəllə nüsxəsi qutuya və gözlərə yapışdırıldı.uyğun olaraq kəsildi və kontur qara Daimi İşarə qələmi ilə yenidən çəkildi. Saçları atılmış su şüşələrindən hazırladım, incə zolaqlara kəsdim və başına və yanlarına Hot Melt Glue ilə yapışdırdım. Yanlarda 2 rəng dəyişən LED quraşdırdım və bunlar PIR idarəetmə lövhəsindəki çıxışa qoşuldu.
Dinamik üçün kiçik deşiklər edildi və bütün əşyalar qutunun içindəki Hot Melt Glue köməyi ilə düzəldildi. Elektrik kabeli qutunun arxasından çıxarıldı və bununla əlaqədar.
Ümid edirəm uşaqlar üçün bu Halloween Prop hazırlamaqdan zövq alırsınız !!
Tezliklə bu layihədə istifadə olunan Audio Klipi əlavə edəcəyəm.
Hamıya Halloween mübarək !!
Tövsiyə:
Bir IoT Halloween Balqabağı - Arduino MKR1000 və Blynk Tətbiqi ilə İdarəetmə LEDləri ???: 4 Addım (Şəkillərlə)
Bir IoT Halloween Balqabağı | Bir Arduino MKR1000 və Blynk Tətbiqi ilə İdarə LEDləri ???: Hamıya Salam, Bir neçə həftə əvvəl Halloween idi və ənənəmə uyğun olaraq balkonum üçün gözəl bir balqabaq hazırladım. Balqabağım açıq havada olduğu üçün, şamı yandırmaq üçün hər axşam çölə çıxmağın olduqca əsəbi olduğunu başa düşdüm. Və mən
SimpleClean Psycho Pass Dominator Prop: 6 addım
SimpleClean Psycho Pass Dominator Prop: Bu, rekvizit hazırlamaqda ilk cəhdimdir. Məktəb tətilinin bir həftəsində, yerində tikinti yolu ilə bunu tələsdirə bildim. Ölümcül olmayan bir paralizatordan Ölümcül Eliminator Rejiminə keçə bilmək üçün bu dominant dəstəyi uyğun olaraq oynayacaq
Mini Prop Flamethrower: 6 addım
Mini Prop Flamethrower: Qarın əriməsi, zombilərin əriməsi və ya ev müdafiəsi üçün şəxsi bir alov qurğusu istəyirsiniz, ancaq 400 dollar xərcləmək istəmirsinizsə, bu sizin üçündür
Singing Bust Prop: 7 addım
Singing Bust Prop: Haunted Mansion -da oxuyan büstlərin necə işlədiyini və ya hətta onları yaxşı etməyə çalışmaq istədiyini heç düşündünüzmü bu Təlimat onları necə düzəltməyinizi və həqiqətən sadə olduğunu göstərəcək
Life Size Robot Prop: 6 addım
Həyat Ölçüsü Robot Prop: Liza Təlimçisi illər ərzində olduqca zəhmli şeylər ortaya qoydu. Budur, sadə bir fikirlə başlayan, təəccüblü olmayan bir çox yaradıcılığından biridir. Zövq alın :). Yaxşı uşaqlar, problemi görürəm. Xeyr, mən plagiat deyiləm, Liza dostdur və