Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Muszę zapalić swoje jack-o-lantern, ale w tym roku chciałem czegoś lepszego niż zwykła świeca. Chcę migotać, ale chcę pozbyć się płomienia. Każdy pożar jest niebezpieczny, szczególnie wokół dzieci, palący, roztopiony smród dyni, a zwykłe świece trzeba dość często wymieniać. Szukałem więc projektu do skopiowania, co dziwne, nie mogłem znaleźć takiego, który mi się podobał, więc sam go stworzyłem. Mój oryginalny proof of concept był na arduino, ale jest to trochę drogie jak na zwykłą świecę. Kiedy udowodniłem, że to zadziała, znalazłem sposób na zrobienie tego tanio. Oto, jak to zrobiłem, z rzeczy, które miałem pod ręką. Mój pierwszy obwód i moja pierwsza instrukcja.
Krok 1: Części
Wykorzystałem to, co miałem pod ręką. Wyszło to.1) ATtiny13 x12) Czerwona dioda x13) Żółta dioda x14) Rezystory 100 omów x25) Gniazdo 8pin x16) Przełącznik przelotowy x17) Uchwyt baterii na 2 baterie AA x18) Rezystory płyty perf będą się różnić w zależności od diod, możesz prawdopodobnie znajdź lepszy przełącznik niż ja, możesz nawet pominąć płytkę perf i podłączyć martwy błąd, jeśli chcesz.
Krok 2: Obwód
Mój podstawowy obwód, po prostu podłącz go w ten sposób.
Krok 3: Kodeks
Oto kod, którego użyłem. Po prostu błyskam diodami i staram się dodać do tego trochę losowości. Kod mógłby być lepszy przy użyciu pwm i funkcji oszczędzania energii, ale nie wiem, jak to zrobić. Mój pierwszy obwód nie-arduino i mój pierwszy instruktażowy. Efekt z dwóch diod jest zadowalający pomimo tego, jak to zrobiłem. Różna jasność, kolor i migotanie. Skompiluj i prześlij kod do tiny13 i gotowe. Możesz opublikować lepszy kod…#include int main(void) { int thePin = 0x0; długi randVal; losowy(123); //losowe ziarno DDRB = 0x3; // B0-1 ustawione na wyjście for(;;) { randVal = random(); // wybierz pin if((randVal % 2) == 0) { thePin = 0x0; } else { thePin = 0x1; } randVal = losowo(); //wysoki lub niski if((randVal % 2) == 0) { PORTB &= ~(1 << thePin); // x &= ~(1 << n); wymusza, aby n-ty bit x był równy 0. wszystkie pozostałe bity pozostawione same sobie. } else { PORTB |= (1 << thePin); // x |= (1 << n); wymusza, aby n-ty bit x był równy 1. wszystkie pozostałe bity pozostawione same sobie. } }}
Krok 4: To jest to
Możesz szlifować diody led, aby rozproszyć światło lub użyć matowych diod led, możesz również użyć 2-kolorowej czerwonej / żółtej diody LED. Umieść ją w torbie strunowej, aby nie stała się obrzydliwa, i wrzuć ją do dyni… natychmiastowo bezpłomieniowa świeca i będzie trwała godzinami i nie musisz się martwić, że dzieci się nią bawią.