
Witam! Jest to część druga tego artykułu : https://majsterkowo.pl/5-prostych-projektow-avr-w-c-czesc-1/ W tej część znajdują się projekty : Grające Attiny Zapis stanu LED do EEPROM Długowieczne miganie 3 Grające Attiny Pomysł na ten projekt powstał gdy programowałem przerwania zegarowe w projekcie z mruganiem sterowanym przyciskiem. Chodzi o wykorzystanie opcji kontroli pinu sygnałem z komparatora do generowania różnych tonów. A następnie wykorzystaniu tych tonów do zagrania jakiejś prostej melodii. Schemat : Schemat ten jest kolejną modyfikacją schematu bazowego z początku artykułu. Z tym, że tym razem do pinu PB0 podpięta jest baza tranzystora BD911 który bezpośrednio kontroluje prąd płynący przez głośnik SP1. Kiedy na pinie PB0 panuje stan wysoki, prąd płynie przez dwa rezystory 220 omów ( razem 440 omów) do bazy tranzystora, powoduje to, że zaczyna również płynąć prąd z kolektora do emitera. Zamyka to obwód głośnika i powoduje wychylenie membrany. Kiedy natomiast na pinie PB0 panuje stan niski, nic takiego się nie dzieje i obwód głośnika pozostaje otwarty (membrana wraca do położenia początkowego). W ten sposób podając sygnał o pewnej częstotliwości na pin PB0 można uzyskać dźwięk o tej samej częstotliwości z głośnika. Jedyne więc co musimy zrobić to wygenerować sygnał o odpowiedniej częstotliwości Do wygenerowania tego sygnału postanowiłem wykorzystać timer 0 oraz komparator A. Jak już pisałem przy poprzednim projekcie, istnieje możliwość kontrolowania wyjścia cyfrowego za pomocą komparatora. Jak widać sygnał z komparatora może zmieniać stan pinu na niski, wysoki lub przełączać stan pinu. Komparator A może kontrolować pin OC0A (PB0). W przypadku tego projektu najlepsza będzie opcja 2 czyli zmiana stanu pinu. Od razu uzyskamy bowiem sygnał prostokątny o częstotliwości równej połowie częstotliwości......
Czytaj dalej...