İçindekiler:

Attiny13'ten Alevsiz Mum: 4 Adım
Attiny13'ten Alevsiz Mum: 4 Adım

Video: Attiny13'ten Alevsiz Mum: 4 Adım

Video: Attiny13'ten Alevsiz Mum: 4 Adım
Video: Микроконтроллер ATtiny13 и язык Arduino. Подключение и прошивка. 2024, Kasım
Anonim
Attiny13'ten Alevsiz Mum
Attiny13'ten Alevsiz Mum

Fenerlerimi yakmam gerekiyor ama bu yıl normal bir mumdan daha iyi bir şey istedim. Titremek istiyorum ama alevden kurtulmak istiyorum. Herhangi bir yangın, özellikle çocukların çevresinde tehlikelidir, yanık erimiş balkabakları kokar ve normal mumların oldukça sık değiştirilmesi gerekir. Bu yüzden kopyalayacak bir proje aradım, garip bir şekilde beğendiğim bir proje bulamadım ve kendim yarattım. Orijinal konsept kanıtım bir arduino üzerindeydi, ancak bu basit bir mum için biraz pahalı. İşe yarayacağını kanıtladığımda, ucuza yapmanın bir yolunu buldum. İşte elimde olan şeylerden nasıl yaptım. İlk devrem ve ilk talimat kitabım.

Adım 1: Parçalar

Parçalar
Parçalar

Elimdekileri kullandım. Bu çıktı.1) ATtiny13 x12) Kırmızı led x13) Sarı led x14) 100 ohm direnç x25) 8pin soket x16) delik anahtarı x17) 2AA piller için pil tutucu x18)Perf boardrezistörler ledlerinize göre değişir, yapabilirsiniz muhtemelen benden daha iyi bir anahtar bulursunuz, hatta mükemmel tahtayı atlayabilir ve isterseniz ölü böceği bağlayabilirsiniz.

Adım 2: Devre

Devre
Devre

Temel devrem, sadece bu şekilde bağlayın.

Adım 3: Kod

İşte kullandığım kod. Sadece ledleri yakıyorum ve ona biraz rastgelelik eklemeye çalışıyorum. Kod, pwm ve güç tasarrufu özelliklerini kullanarak daha iyi olabilirdi, ancak bunların hiçbirini nasıl yapacağımı bilmiyorum. İlk arduino olmayan devrem ve ilk talimatım. Nasıl yaptıysam da iki ledin etkisi tatmin edici. Değişken parlaklık, renk ve titreme. Kodu minik13'e derleyip yükleyin, işte hazırsınız. Daha iyi kod göndermekten çekinmeyin…#include int main(void) { int thePin = 0x0; uzun randVal; rastgele(123); //rastgele tohum DDRB = 0x3; // B0-1 for(;;) çıktısına ayarlandı { randVal = random(); // bir pin seçin if((randVal % 2) == 0) { thePin = 0x0; } başka { thePin = 0x1; } randVal = rastgele(); //yüksek veya düşük if((randVal % 2) == 0) { PORTB &= ~(1 << thePin); // x &= ~(1 << n); x'in n'inci bitini 0 olmaya zorlar. diğer tüm bitler yalnız bırakılır. } else { PORTB |= (1 << pin); // x |= (1 << n); x'in n'inci bitini 1 olmaya zorlar. diğer tüm bitler yalnız bırakılır. } }}

Adım 4: İşte Bu

bu kadar
bu kadar

Işığı dağıtmak için ledleri zımparalayabilir veya buzlu led kullanabilirsiniz, 2 renk kırmızı/sarı led de kullanabilirsiniz. Kabarmaması için kilitli poşete koyun ve balkabağının içine bırakın… anında alevsiz mum ve saatlerce sürecek ve onunla uğraşan çocuklar hakkında endişelenmenize gerek yok.

Önerilen: