Charakter projektu:
- uczę się
- miniaturowa zabawka (załóżmy breloczek do kluczy)
- 1 przycisk (MAGIC BUTTON w skrócie MB) do obsługi całości
- generuje dźwięki w zależności od sposobu przyciskania MB
- bez wyświetlaczy diod itp.
- zasada działania podobna do psa: zawołasz go to się z Tobą bawi do momentu gdy przestaniesz, chwilę czeka i jeżeli dalej nic to idzie spać.
- MINIMALIZACJA POBORU ENERGII !
Funkcje Magic Button:
1. 5 sek - wychodzi z głębokiego snu typu: Power-down Mode
2. coś generuje i czekając na reakcję użytkownika (naciskanie MB)
3. jeżeli nie ma reakcji przechodzi do Idle Mode i czeka czujnie licząc upływający czas
4. Jeżeli nie podejmiesz zabawy w ciągu np. 1 minuty zasypia: Power-down Mode
W trakcie zabawy reaguje w różny sposób na przyciskanie MB. Zlicza ilości oraz długości przyciśnięć i generuje różne dźwięki.
Schemat banalnie prosty:
O co pytam?
Chciałbym poznać Wasze zdanie na temat czy do takich funkcjonalności dobrze dobrałem zasady podłączenia przycisku i doboru przerwań:
INT0
Będzie sterowany timerem wewnętrznym. Ma za zadanie:
- wychodzić z Idle mode
- bada stan przycisku na porcie PB3
- zliczać czas reakcji użytkownika,
- zlicza czasy przyciśnięć klawisza
- generuje kolejną próbkę dźwięku (jakieś piszczenie zależne od sytuacji).
- gdy już się nie bawimy (np 1 minutę) to włącza przerwanie INT1 i zasypia w power down.
INT1
Wyzwalane poziomem bo ma budzić się za pomocą niego z power down (jedyna funkcja przrwania). Po zbudzeniu przerwanie samo się wyłącza, bo jego włączeniem zajmie się INT0 ponownie tuż przed wejściem do power down, gdy użytkownik po długim czasie nie używa urządzenia.
CLK
Kwarc zewnętrzny lub nawet RC wewnętrzne. Czy RC wewnętrzne zużywa więcej energii niż kwarc zewnętrzny?
SLEEP Idle mode
Pomiędzy przerwaniami INT0 cały czas śpi w idle mode
- uczę się
- miniaturowa zabawka (załóżmy breloczek do kluczy)
- 1 przycisk (MAGIC BUTTON w skrócie MB) do obsługi całości
- generuje dźwięki w zależności od sposobu przyciskania MB
- bez wyświetlaczy diod itp.
- zasada działania podobna do psa: zawołasz go to się z Tobą bawi do momentu gdy przestaniesz, chwilę czeka i jeżeli dalej nic to idzie spać.
- MINIMALIZACJA POBORU ENERGII !
Funkcje Magic Button:
1. 5 sek - wychodzi z głębokiego snu typu: Power-down Mode
2. coś generuje i czekając na reakcję użytkownika (naciskanie MB)
3. jeżeli nie ma reakcji przechodzi do Idle Mode i czeka czujnie licząc upływający czas
4. Jeżeli nie podejmiesz zabawy w ciągu np. 1 minuty zasypia: Power-down Mode
W trakcie zabawy reaguje w różny sposób na przyciskanie MB. Zlicza ilości oraz długości przyciśnięć i generuje różne dźwięki.
Schemat banalnie prosty:
O co pytam?
Chciałbym poznać Wasze zdanie na temat czy do takich funkcjonalności dobrze dobrałem zasady podłączenia przycisku i doboru przerwań:
INT0
Będzie sterowany timerem wewnętrznym. Ma za zadanie:
- wychodzić z Idle mode
- bada stan przycisku na porcie PB3
- zliczać czas reakcji użytkownika,
- zlicza czasy przyciśnięć klawisza
- generuje kolejną próbkę dźwięku (jakieś piszczenie zależne od sytuacji).
- gdy już się nie bawimy (np 1 minutę) to włącza przerwanie INT1 i zasypia w power down.
INT1
Wyzwalane poziomem bo ma budzić się za pomocą niego z power down (jedyna funkcja przrwania). Po zbudzeniu przerwanie samo się wyłącza, bo jego włączeniem zajmie się INT0 ponownie tuż przed wejściem do power down, gdy użytkownik po długim czasie nie używa urządzenia.
CLK
Kwarc zewnętrzny lub nawet RC wewnętrzne. Czy RC wewnętrzne zużywa więcej energii niż kwarc zewnętrzny?
SLEEP Idle mode
Pomiędzy przerwaniami INT0 cały czas śpi w idle mode