Liepsnos žvakė iš Attiny13: 4 žingsniai
Liepsnos žvakė iš Attiny13: 4 žingsniai
Anonim

Man reikia uždegti žibintus, bet šiemet norėjau kažko geresnio už įprastą žvakę. Noriu mirksėti, bet noriu atsikratyti liepsnos. Bet koks gaisras yra pavojingas, ypač aplink vaikus, apniukę tirpstantys moliūgai dvokia, o įprastas žvakes reikia keisti gana dažnai. Taigi ieškojau projekto, kurį norėčiau nukopijuoti, kaip bebūtų keista, neradau man patinkančio, todėl sukūriau jį pats. Mano originalus koncepcijos įrodymas buvo arduino, tačiau tai yra šiek tiek brangu už paprastą žvakę. Kai įrodžiau, kad tai veiks, radau būdą tai padaryti pigiai. Štai kaip aš tai padariau, iš turimų daiktų. Mano pirmoji grandinė ir mano pirmoji pamokoma.

1 žingsnis: dalys

Naudojau tai, ką turėjau po ranka. 1) ATtiny13 x12) Raudona lemputė x13) Geltona lemputė x14) 100 omų rezistoriai x25) 8 kontaktų lizdas x16) per skylės jungiklį x17) Baterijų laikiklis 2AA baterijoms x18) Periferiniai rezistoriai gali skirtis priklausomai nuo jūsų šviesos diodų. tikriausiai rasite geresnį jungiklį nei aš, jei norite, netgi galite praleisti „perf board“ir prijungti ją prie negyvos klaidos.

2 žingsnis: grandinė

Mano pagrindinė grandinė, tiesiog prijunkite ją taip.

3 žingsnis: Kodas

Čia yra mano naudojamas kodas. Aš tiesiog mirksiu šviesos diodais ir bandau pridėti tam tikrą atsitiktinumą. Kodas galėtų būti geresnis naudojant pwm ir energijos taupymo funkcijas, bet aš nežinau, kaip tai padaryti. Mano pirmoji ne arduino grandinė ir pirmoji pamokoma. Dviejų lempučių poveikis yra patenkinamas, nepaisant to, kaip aš tai padariau. Skirtingas ryškumas, spalva ir mirgėjimas. Sukompiliuokite ir įkelkite kodą į tiny13, ir jums gera eiti. Nesivaržykite paskelbti geresnio kodo …#include int main (void) {int thePin = 0x0; ilgas randVal; atsitiktinis (123); // atsitiktinė sėkla DDRB = 0x3; // B0-1 nustatytas kaip (;;) {randVal = random (); // pasirinkite smeigtuką, jei ((randVal % 2) == 0) {thePin = 0x0; } else {thePin = 0x1; } randVal = atsitiktinis (); // didelis arba žemas if ((randVal % 2) == 0) {PORTB & = ~ (1 << thePin); // x & = ~ (1 << n); priverčia n -ąjį bitą x būti 0. visi kiti bitai palikti vieni. } else {PORTB | = (1 << thePin); // x | = (1 << n); priverčia n -ąjį bitą x būti 1. visi kiti bitai palikti vieni. }}}

4 žingsnis: Štai taip

Galite šlifuoti šviesos diodus, kad išsklaidytumėte šviesą, arba naudokite matinius ledus, taip pat galite naudoti 2 spalvų raudoną/geltoną lemputę. Įdėkite jį į užtrauktuko maišelį, kad jis nebūtų grubus, ir nuleiskite jį į moliūgą … akimirksniu liepsnas žvakę, ir ji tarnaus valandų valandas, ir jums nereikia jaudintis, kad vaikai su ja susipainios.

Rekomenduojamas: