İçindekiler:
- Gereçler
- Adım 1: Farklı Modüller
- Adım 2: Montaj Bölüm 1
- Adım 3: Montaj Bölüm 2
- Adım 4: Gözleri Bağlama
- Adım 5: PIR Sensörü ve Modülünün Bağlanması
- 6. Adım: MP3 Çalar ve Amplifikatör
- 7. Adım: Son Montaj
- Adım 8: MUHAFAZA
Video: Halloween Scary Eyes Prop: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Yıllar içinde çeşitli projeler yapılırken, Kullanılmayan farklı modüllerin tüm koleksiyonu ve en azından bazılarını aynı anda hem eğlenceli hem de yaratıcı olacak bir şey için kullanmak istedim.
Fikirler için “instructables.com Sitesi”nden geçerken, bu “Cadılar Bayramı” için bir şeyler yapmak için karıştırılabileceğini düşündüğüm birkaç projeye rastladım.
Unexpected Maker Steve Quinn'e fikirlerini kullanmaları için teşekkür etmeliyim.
Gereçler
KULLANILAN ÜRÜNLER VE MODÜLLER
Kullanılan Modüller
1 Bağımsız Atmega8 Kurulu
5 Volt Çıkış için 2 PIR Tabanlı Kontrol Kartı
3 LM386 Amplifikatör Kartı
4 Genel MP3 Çalar Modülü
5 MAX7219 8x8 LED Modülü
6 PIR Modülü (Genel)
7 4” 4 Ohm Hoparlör
Diğer materyaller
a. Boş Karton Kutu
B. Boş Tek Kullanımlık Su Şişeleri
C. Renk Değiştiren LED 5V
NS. çeşitli teller
e. Tutkal tabancası
F. Havya
G. Muhtelif Aletler ve Kesiciler
H. 12V 1A kademeli Aşağı Trafo
Önemli
1 Arduion IDE
AVR Chips için 2 Programlama Kartı
3 Programlama (Yazma) Yazılımı
Adım 1: Farklı Modüller
İlk olarak, farklı modüller oluşturmaya bakacağız, kesinlikle tüm elektronikler için sadece bir PCB yapabilir ve projenin gayet iyi çalışmasını sağlayabilir, ancak benim için fikir, daha önce yapmış olduğum farklı öğeleri farklı projeler için kullanmaktı ve şimdi onlara olan ihtiyaç sona erdi. sadece bu eşyaları yeniden kullanmak istedim.
ATmega8 Kurulu
ATmega8 çipini herhangi bir harici kristal olmadan kullanıyorum. Aslında, bu panolar bazı P10 16x32 LED Modüllerini çalıştırmak için yapıldı ve bu projeden birkaç tane kaldı. Kartın resmi ve PCB Düzeni aşağıdaki gibidir (Resimlere Bakınız). “Eğitilebilirler” üzerine kendi Arduino Board'unuzu yapmakla ilgili sayısız makale var. Etrafta yatmış olabileceğiniz herhangi bir eski Arduino Board'u kullanabilirsiniz.
PIR Denetleyici Kartı
Bu PIR Panosu, bazı küçük LED Tabanlı festival dekorasyonlarını Açmak ve Kapatmak için yapıldı ve şimdi öylece duruyordu ve onu kullanmaya karar verdim. Devre Düzeni resimlerde gösterilmiştir
THE LM 386 Amplifikatör Kartı
Bu, MP3 Çalar Modülünden gelen ses çıkışını güçlendiren amplifikatör modülüdür. düzen ve devre oldukça basit ve resimler her şeyi söylüyor. Devre düzeni ve tamamlanmış panonun resmi açıklayıcıdır.
MP3 Çalar Modülü
Resimde gösterilen MP3 Çalar Modülünü kullandım. Amazon vb.'de kolayca bulunabilir, ucuz ve kullanımı kolaydır. Bu modülün en iyi yanı, oynamaya başlamak için herhangi bir ek komut veya bağlantı gerektirmemesidir. Panoya uygun güç sağlandığı anda görevini yapmaya başlar.
MAX7219 8x8 LED Modüller
Bu 8x8 LED Ekran Modülleri Amazon'da hazır olarak mevcuttur. Kullandıklarımın resimleri sağlanmıştır.
PIR Modülü
Hazır bulunan PIR Sensör Modülünü kullandım. Amazon vb.'de mevcuttur, ucuzdur ve kullanımı kolaydır. Resimler referans için verilmiştir.
Adım 2: Montaj Bölüm 1
Konsept, tüm bu modülleri birleştirmek ve biri pervanenin önünden geçtiğinde devreye girecek bir Cadılar Bayramı Prop yapmaktı. Bunun için 12 voltluk güç kaynağını PIR Kontrol Panosuna bağladım, bu da 7805 IC yardımıyla voltajı 5V DC'ye indirdi ve bu 5V DC Voltaj PIR Sensörüne ve diğer modüllere iletildi., ATmega8 Kartı, Amplifikatör Modülü ve MP3 Çalar Modülü PIR Sensörünün önüne biri geldiğinde. Akış Şeması her şeyi söylüyor.
Gördüğümüz gibi, PIR Sensörü ATmega8 Board, Amplifier Module ve MP3 Player Module'ü tetikler, ATmega8 LED Matrix "Eyes"i kontrol eder, MP3 Player ses efektlerini çalar ve Amplifier modülü sinyali hoparlöre gönderir..
Arduino Kodu, koddaki zamanın değiştirilmiş olması dışında, Steve Quinn'in talimatından doğrudan bir kaldırmadır. Kullanılan kod aşağıda verilmiştir. INO dosyası da ektedir.
kod
// D10 = Dijital O/P CS Pin
// D11 = Dijital O/P Saat Pimi
// D12 = Dijital O/P Veri Pimi
//
#Dahil etmek
#Dahil etmek
const int numDevices = 2; // kullanılan MAX7219 sayısı
const int veriPin = 12;
const int clkPin = 11;
const int csPin = 10;
LedControl lc = LedControl(dataPin, clkPin, csPin, numDevices);
// Bu kodu Arduino geliştirme ortamına bırakın
#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 yapısı {
const işaretsiz karakter dizisi1[8];
}
ikiliArrayType;
binaryArrayType binaryArray[40] =
{
{ // SolGöz1, 0
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, { // SağGöz1, 1
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, { // SolGöz2, 2
B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000
}, { // SağGöz2, 3
B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000
}, { // SolGöz3, 4
B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000
}, { // SağGöz3, 5
B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000
}, { // SolGöz4, 6
B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000
}, { // SağGöz4, 7
B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000
}, { // SolGöz5, 8
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000010, B01111100
}, { // SağEye5, 9
B01111100, B10000010, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, { // SolEye6, 10
B01111110, B10000001, B10000001, B10011001, B10011001, B10000010, B10000100, B01111000
}, { // SağEye6, 11
B01111000, B10000100, B10000010, B10011001, B10011001, B10000001, B10000001, B01111110
}, { // SolEye7, 12
B01111110, B11000001, B10000001, B10011001, B10011010, B10000100, B10001000, B01110000
}, { // SağEye7, 13
B01110000, B10001000, B10000100, B10011010, B10011001, B10000001, B11000001, B01111110
}, { // SolEye8, 14
B00111110, B01000001, B10000001, B10011001, B10011010, B10000100, B01001000, B00110000
}, { // SağEye8, 15
B00110000, B01001000, B10000100, B10011010, B10011001, B10000001, B01000001, B00111110
}, { // SolEye9, 16
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, { // SağEye9, 17
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, { // SolEye10, 18
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, { // SağGöz10, 19
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, { // SolEye11, 20
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, { // SağEye11, 21
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, { // SolEye12, 22
B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110
}, { // SağEye12, 23
B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110
}, { // SolEye13, 24
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110
}, { // SağGöz13, 25
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110
}, { // SolEye14, 26
B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000
}, { // SağGöz14, 27
B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000
}, { // SolGöz15, 28
B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000
}, { // SağGöz15, 29
B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000
}, { // SolEye16, 30
B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000
}, { // SağGöz16, 31
B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000
}, { // SolGöz17, 32
B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00000000
}, { // SağGöz17, 33
B00000000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000
}, { // SolGöz18, 34
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110
}, { // SağGöz18, 35
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110
}, { // SolGöz19, 36
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110
}, { // SağGöz19, 37
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110
}, { // SolGöz20, 38
B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110
}, { // SağGöz20, 39
B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110
}
};
typedef yapısı {
int frameCount; // işaretçiyi animasyon karesini belirten binaryArray içine indeksle
int frameDelay; // Bu animasyonlu kareyi görüntülemek için yaklaşık MiliSaniye cinsinden gecikme
int çerçeveParlaklık; // 0 … 15, Belirli bir çerçeve için led matrisinin yoğunluğu
} Çerçeve tipi;
frameType film =
{
// Goz kirpmak
{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {SolEye2, 5, 1}, // Tekrar tam geniş
{SolGöz1, 1500, 2}, // kaşlarını çatmak
{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}
};
void delayMillis(int milisaniye)
{
for (int i = 0; i < milisaniye; i++)
gecikmeMikrosaniye(1000);
}
geçersiz kurulum() {
for (int x = 0; x < numDevices; x++) {
lc.shutdown(x, yanlış); //MAX72XX, başlangıçta güç tasarrufu modunda
lc.setYoğunluk(x, 1); // Parlaklığı varsayılan değere ayarla
lc.clearDisplay(x); // ve ekranı temizle
}
}
boşluk döngüsü () {
lc.setYoğunluk(0, 3);
lc.setIntensity(1, 3);
while (doğru) {
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);
}
}
}
Adım 3: Montaj Bölüm 2
Arduino IDE'yi çalıştırıp çalıştırdıktan sonra, kodu kopyalamanız ve kodu derlemeniz/doğrulamanız gerekir. Kodu derlediğinizde, bilgisayarın TEMP klasöründe HEX dosyası oluşturulur. Arduino IDE'yi kapatmadan önce, temp klasöründen HEX dosyasını kopyalayabilirsiniz ve çalışması için ATmega8 Chip'e yazmamız gereken bu dosyadır.
Kodu derlerken kartı “Arduino NG or Older” ve işlemciyi “ATmega8” olarak seçtim ve derledikten sonra Arduino IDE'yi kapatmadan önce bilgisayarın Temp Klasöründen HEX dosyasını kopyaladım.
Bu HEX dosyası, harici bir AVR Burner ile ATmega8 Chip'e yakıldı. Bunun için “Extreme Burner_AVR” yazılımını ve bir AVR Burner Board kullandım. Panonun resmi ektedir. Kendinizi rahat hissettiğiniz herhangi bir AVR programlama yazılımını kullanabilirsiniz.
Harici bir programlayıcı kullanmamın nedeni, bootloader'ı Atmega8 yongalarına yakmak istemediğim ve bootloader olmadan normal Arduino Board veya Arduion IDE ile çalışmayacak olmalarıydı. Kodu Arduino IDE ile derledikten sonra HEX dosyalarını çıkarmak oldukça kolay ve ben de öyle yaptım.
NOT
Harici bir programlayıcı kullanırken doğru sigorta biti ayarlarını seçmek ÇOK ÖNEMLİDİR.
Bu durumda, harici kristal kullanmadığımız ve ATmega8 Chip'in dahili saatine güvendiğimiz için sigorta bitlerini buna göre yapılandırmamız önemlidir. Aşağıdaki sigorta ayarlarını seçtim.
Lfuse- E4
Sigorta - D9
BU NE ANLAMA GELİYOR
Harici kristal veya rezonatör kullanmadığımız anlamına gelir
Saat 8 mHz dahili saate ayarlanmıştır
ATmega8 Çip programlandıktan sonra, projeyi bir araya getirme ve test etme zamanı gelmişti.
Adım 4: Gözleri Bağlama
MAX7219 8x8 LED Matrix aşağıdaki gibi bağlanmıştır.
MAX7219 Matrix'e ATmega8 Kurulu
IO Pin D10 - CS PIN
IO Pin D11 - CLK PIN
IO Pin D12 - DIN PIN
VCC'DEN VCC'YE
GND'DEN GND'YE
resme bakın
Adım 5: PIR Sensörü ve Modülünün Bağlanması
Daha sonra PIR Sensörü, PIR Kontrolörüne bağlandı
Pano, bağlantılar aşağıdaki gibidir
PIR Kontrol Kartından PIR Sensörüne
VCC'den VCC'ye dönüştürücü
CTRL'den CTRL'ye
GND'den GND'ye dönüştürücü
Şemaya bakın
Her şeyin gerçekleşmesini sağlayan kısım bu. PIR Sensörü, herhangi bir sıcak kanlı canlının hareketini algılar ve tüm farklı devrelere/modüllere giden güç kaynağını açar. PIR Sensör üzerindeki süre ihtiyaca göre ayarlanmıştır ve bu durumda yaklaşık 40 - 45 saniyedir. Yaklaşık 40 -45 saniyelik bir süre boyunca kendisine bağlı tüm devrelere 5 volt DC gönderir.
6. Adım: MP3 Çalar ve Amplifikatör
SONRAKİ MP3 Çalar Modülü ve Amplifikatör Modülü.
Kullandığım MP3 Player'ın açılması için herhangi bir tuşa basılmasına gerek yok, uygun voltaj sağlandığı anda otomatik olarak çalmaya başlıyor. Sadece bir parçaya ihtiyacım vardı, bu yüzden bulabildiğim en düşük belleğe sahip SD kartı buldum (4 GB çünkü bu günlerde daha düşük kapasiteli herhangi bir kart bulmak neredeyse imkansız). İnternetten indirdiğim sesler, aslında indirilmiş bir takım ses efektleri vardı ve hepsi ses editörü yazılımı kullanılarak tek bir MP3 parçası yapmak için derlendi. “Wave Editor” kullandım ve sonunda sadece bu parçayı SD Karta yükledim. SD Kart MP3 Çalar Modülüne takıldı ve hoparlörden sesi almak için çıkış Amplifikatör Modülüne bağlandı.
resme bakın
LM386 Amplifier Chip çok az harici bileşen gerektirir ve küçük hoparlörlerden oldukça iyi ses verir. Devrenin bir perfboard montajı oldukça kolaydır ve bunu monte etmek yaklaşık 15-20 dakikamı aldı. Resim oldukça açıklayıcı.
7. Adım: Son Montaj
Her şeyi muhafazaya yerleştirmeden önce her şeyi test etmek istedim ve modülleri gerektiği gibi yerleştirdim ve son bağlantıları yaptım. Parçaların çalışmasından memnun kaldıktan sonra. Onları bu amaç için yapılmış Karton Muhafazanın içine sabitledim.
Pervanenin son montajından sonra bir video ekliyorum.
Adım 8: MUHAFAZA
Kuşatma
Muhafaza, kırmızıya boyanmış eski bir mukavva kutudan yapılmıştır. Gözlerin ve PIR sensörünün yeri keskin bir bıçak kullanılarak kesildi. Kafatasının bir çıktısı kutuya ve gözlere vb. yapıştırıldı.uygun şekilde kesildi ve anahat siyah bir Kalıcı Marker kalemle yeniden çizildi. Saçları dökülen su şişelerinden yaptım, ince şeritler halinde kestim ve Hot Melt Glue ile başlarına ve yanlarına yapıştırdım. Yanlara 2 adet renk değiştiren led sabitledim ve bunlar PIR kontrol panosundan çıkışa bağlandı.
Hoparlör için küçük delikler açılmış ve tüm parçalar kutunun iç kısmındaki Hot Melt Glue yardımı ile sabitlenmiştir. Güç kablosu kutunun arkasından çıkarıldı ve hepsi bu.
Umarım bu Halloween Prop'u çocuklar için yapmaktan zevk alırsınız !!
Yakında bu projede kullanılan Ses Klipsini ekleyeceğim.
Herkese Mutlu Cadılar Bayramı !!
Önerilen:
Hareketli Animatronik Gözlü Halloween Balkabağı - Bu Balkabağı Gözünü Yuvarlayabilir!: 10 Adım (Resimlerle)
Hareketli Animatronik Gözlü Halloween Balkabağı | Bu Kabak Gözünü Yuvarlayabilir!: Bu Eğitilebilir Kitapta, gözü hareket ettiğinde herkesi korkutan bir Cadılar Bayramı balkabağı yapmayı öğreneceksiniz. Ultrasonik sensörün tetik mesafesini doğru değere ayarlayın (9. adım) ve balkabağınız şeker almaya cesaret eden herkesi taşa çevirecektir
SimpleClean Psycho Pass Dominator Prop: 6 Adım
SimpleClean Psycho Pass Dominator Prop: Bu benim prop yapımında ilk denemem. Bunu bir haftalık okul tatilinde, yerinde inşa ederek acele etmeyi başardım. Ölümcül Olmayan Paralyser'dan Lethal Eliminator Mode'a dönüşebilmek için bu baskın pervane, uygun olanı oynayın
Motion Follow Animatronics Eyes: 8 Adım (Resimlerle)
Motion Follow Animatronics Eyes: Bu Arduino projesi, hareketi yakalamak için bir Optik Akış Sensörü (ADNS3080) kullanır. Daha sonra servoları hareket ettirmek için verileri çevirerek gözler hareket eden bir nesneyi takip ediyormuş gibi görünmesini sağlar. Bu kolay bir yapı değildir. 3d baskı, lehimleme, bazı genel teknikler gerektirir
Mini Prop Alev Silahı: 6 Adım
Mini Prop Alev Silahı: Kar eritmek, zombileri eritmek veya ev savunması için kişisel bir alev makinesi mi istiyorsunuz, ancak 400$ harcamak istemiyor musunuz, o zaman bu sizin için
Yaşam Boyu Robot Prop: 6 Adım
Life Size Robot Prop: Liza Trainer, yıllar boyunca oldukça harika şeyler ortaya çıkardı. İşte, şaşırtıcı olmayan bir şekilde basit bir fikirle başlayan birçok kreasyonundan biri. Keyfini çıkarın :).Pekala çocuklar, sorunu görüyorum. Hayır, intihal yapmıyorum, Liza bir arkadaş ve