Automatické krmítko pro psa
Verze 2
Po několikaletém provozu původní verze krmítka jsem vyrobil vylepšenou verzi. Použil jsem trochu jiný RTC obvod (MCP49411). Je to ale jen z toho důvodu, že jsem ho měl k dispozici. Nastavuje se, za kolik hodin se má krmítko aktivovat. Není tedy možné nastavovat čas s přesností na minuty. V případě, že je potřeba aktivovat krmítko například přesně v 16:38, je nutné počkat, když bude skutečný aktuální čas 38 minut (třeba 11:38) a pak se nastaví, že se má krmítko aktivovat za 5 hodin. Možnost použití levného ATtiny13 zůstala zachována. V případě, že se použije trochu výkonnější procesor ATtiny85, je možné pro kontrolu zjišťovat i zbývající čas do příští aktivace. V programu došlo k významné změně v systému uložení času v RTC obvodu. V původní verzi obsahoval RTC obvod reálný čas a v alarmovém registru byl uložen skutečný požadovaný čas aktivace. V této nové verzi je čas aktivace nastavený napevno na půlnoc. Tato půlnoc ale není skutečná (v programu ji označuji jako "virtuální půlnoc"). Aktuální čas v RTC obvodu je pak přizpůsobený tomu, aby virtuální půlnoc nastala v okamžiku, kdy se má krmítko skutečně aktivovat. Příklad: Skutečný čas je 10:00. Krmítko se má aktivovat v 19:00 (to znamená za 9 hodin). Do RTC se tedy uloží čas 15:00, protože 15:00 + 9 hodin = půlnoc. Když RTC doběhne do virtuální půlnoci, krmítko se aktivuje. Ve skutečnosti ale bude teprve 19:00. (Přepočet času, který se ukládá do RTC se provádí automaticky. Uživatel pouze zadává, za kolik hodin se má krmítko aktivovat.) Každý den se pak bude krmítko v nastavený čas aktivovat. Software:
krmitko2.ino (přednastaveno pro procesor ATtiny85) V případě, že budete chtít použít ořezanou verzi programu pro ATtiny13, přehoďte si definici procesorů na řádkách 48 a 49. Pro toto nové krmítko jsem vytvořil i malý plošný spoj. Data do Eagle jsou tady: krmitko2.zip Postup nastavení času aktivace:
1) Propojit čepičkou piny GND a SDA na bočním konektoru krmítka. 2) Stisknout a držet tlačítko "TEST". 3) Pískák začne krátce pískat (zhruba jedno písknutí za sekundu). Každé písknutí znamená posunutí aktivace o 1 hodinu (první pípnutí znamená zpoždění o 0 hodin = okamžitá aktivace, druhé pípnutí znamená aktivaci za hodinu .... 24. pípnutí znamená aktivaci za 23 hodin). 4) Když se ozve požadovaný počet písknutí vytáhnout propojku mezi SDA a GND (stále držet testovací tlačítko). 5) Po několika dalších sekundách se pípák znovu rozpípá (rychleji). To je signalizace, že je RTC nastavený. 6) Uvolnit tlačítko "TEST". Příklad: Krmítko se má aktivovat za 9 hodin. Propojí se piny GND a SDA. Stiskne se tlačítko "TEST". Čekat až pískák 10x pípne (počet nastavených hodin je o 1 menší, než počet pípnutí). Hned po 10. pípnutí vytáhnout propojku - tlačítko se stále drží. Počkat až začne pískák rychle pípat. Uvolnit tlačítko "TEST". Zjištění času, který zbývá do aktivace: (pouze pro procesor ATtiny85)1) Stisknout a držet tlačítko "TEST" na krmítku. 2) Krmítko provede testovací vysypání misky (včetně testu pískání pro přivolání psa). 3) Stále držet testovací tlačítko. Po několika sekundách začne pískák vypípávat čtyřmístný desítkový kód, který signalizuje zbývající počet minut do aktivace. Příklad sekvence pípání: 2x pípnutí - pauza 1 sekunda 1x pípnutí - pauza 1 sekunda 8x pípnutí - pauza 1 sekunda 3x pípnutí - dlouhá pauza (2 sekundy) Od každého počtu pípnutí se musí v každém řádu odečíst jednička. Výsledkem tedy bude číslo: (2-1) (1-1) (8-1) (3-1) = 1 0 7 2 = 1072 minut = 17 hodin 52 minut Pokud by se tlačítko "TEST" stále drželo, dojde po dlouhé pauze za posledním řádem (2 sekundy) k opakování sekvence pípání s aktualizovaným časem. Video ukázka: Nastavení aktivace za 3 hodiny (4 pípnutí s propojkou) a následná kontrola, za kolik minut se krmítko opravdu aktivuje.
|