Hodiny s Atmega8
Moderátor: Moderátoři
Dovolil bych si tvrdit, že s RTC si pomůžeš. Už jenom kvůli tomu, že na knoflíkovou baterku poběží několik let. Taky proto ho vyrábí …
Jestli trváš na Arduinu, tak příkladů na internetu jsou mraky i v češtině. Ale myslím si, že obecně Arduino není vhodný framework pro aplikace, kde záleží na spotřebě.
Jestli trváš na Arduinu, tak příkladů na internetu jsou mraky i v češtině. Ale myslím si, že obecně Arduino není vhodný framework pro aplikace, kde záleží na spotřebě.
Ne ne FHonza, arduino mě už leze krkem. Právě proto, že je toho všude plno. Zapojení arduino+ ds1307 a ds3231 jsem viděl a ze zvědavosti vyzkoušel mnoho. Chtěl bych to vyřešit s tím RTC a proto prolézám net křížem krážem. Když narazím na nějaký kód, který propojuje atmegu8 a ds1307 tak ho nejdřív pročítám, abych ho trochu pochopil a pak ho zkouším použít. Samozřejmě ho musím upravit podle mého zapojení. Jenže jak už jsem psal, neumím programovat avr jako většina z vás tady a nikdy se mi nepodaří upravit vše tak, aby mi to fungovalo i když při kompilaci nevyskočí žádná chybová hláška.
Proto se obracím na toto fórum jestli by mi někdo nepomohl.
Proto se obracím na toto fórum jestli by mi někdo nepomohl.
Mnohem lepší je dát sem kus kódu a diskutovat nad ním. V té knížce, co jsem odkazoval, je pěkný příklad. Použitá knihovna (v textu je odkaz ke stažení) je pěkně okomentovaná. I²C není nic složitého, obzvlášť když bude jeden master a jeden slave.
Edit: případně pěkný popis s příklady je zde.
Edit: případně pěkný popis s příklady je zde.
No jo, pro tebe to není nic složitého, ale co já "Céčkový panic"?
Já jsem zatím zvládnul přehodit segment displeje 1 a 2 z pinů 27 a 28 (SDA, SCL) atmegy na piny 23 a 24, abych mohl připojit ds1307 na SDA a SCL procesoru. Chvilku mi trvalo než jsem přišel na to jakou adresu mám zapsat, aby se segmenty zase rozsvítily, ale přišel jsem na to. No a teď už jen upravit původní kód. Na tu knihu jsem se díval. Obzvláště na článek "TWI", ale nejsem z toho dvakrát moudrý.
Ten odkaz na knihovnu jsem nějak přehlédl. Stáhnu a budu zkoušet s popsaným kódem.
Já jsem zatím zvládnul přehodit segment displeje 1 a 2 z pinů 27 a 28 (SDA, SCL) atmegy na piny 23 a 24, abych mohl připojit ds1307 na SDA a SCL procesoru. Chvilku mi trvalo než jsem přišel na to jakou adresu mám zapsat, aby se segmenty zase rozsvítily, ale přišel jsem na to. No a teď už jen upravit původní kód. Na tu knihu jsem se díval. Obzvláště na článek "TWI", ale nejsem z toho dvakrát moudrý.
Ten odkaz na knihovnu jsem nějak přehlédl. Stáhnu a budu zkoušet s popsaným kódem.
"TWI" je to samé co I²C, ale to asi víš.. Já neznám ATmega8, tak nevím jestli má HW I²C (a nechce se mi to zjišťovat), ale pokud má, tak v podstatě ani nemusíš moc studovat, jak to pracuje. Ale SPI je (alespoň dle mého názoru) příjemnější než I²C.
Navíc to řešíš zbytečně, když to máš do auta. Píchni napájení displeje (přes patřičné obvody, samozřejmě) na spínačku a MCU nech běžet na autobaterku, a je po problému.
Proto jsem psal to co jsem psal, mám z toho pocit, že sis toho chtěl naložit víc, než uneseš. Škoda času, elektronika není zas tak fajn věc, jak to vypadá, ale to je na tobě. Život umí překvapit.
Navíc to řešíš zbytečně, když to máš do auta. Píchni napájení displeje (přes patřičné obvody, samozřejmě) na spínačku a MCU nech běžet na autobaterku, a je po problému.
Proto jsem psal to co jsem psal, mám z toho pocit, že sis toho chtěl naložit víc, než uneseš. Škoda času, elektronika není zas tak fajn věc, jak to vypadá, ale to je na tobě. Život umí překvapit.
Mahoney, něco podobného mě už taky napadlo. Hodiny bych napájel normálně přes spínací skříňku a autobaterii bych přímo napojil na místo cr2032 ( vše samozřejmě přes stabilizátory). Tak bych mohl nechat tu úpravu co jsem udělal, že zhasne displej při odpojení napájení.
S tím ds1307 jsem to chtěl udělat, že se mi to zdá jednodušší, ale vidím, že je to složité na úpravu kódu, když tady nikdo nenabídne konkrétnější řešení.
S tím ds1307 jsem to chtěl udělat, že se mi to zdá jednodušší, ale vidím, že je to složité na úpravu kódu, když tady nikdo nenabídne konkrétnější řešení.
ATmega 8 má hardwarové I²C (TWI). TWI tomu museli v Atmelu říkat, protože název I²C měl chráněn tuším Philips.
Případně použij (nebo alespoň nakoukni) nějakou hotovou knihovnu. Namátkou třeba: ds1307. Tam je to i s příklady.
Případně použij (nebo alespoň nakoukni) nějakou hotovou knihovnu. Namátkou třeba: ds1307. Tam je to i s příklady.
Tak jsem zkoušel tu DS1307 rozchodit a pořád se mi to nedaří. Shlédl jsem spoustu videí, prošel spoustu webů a zkoušel a zkoušel a zkoušel, ale nic. Prostě to neumím. A vím, že neumím správně nastavit adresy.
A tak mě napadlo, než upravovat původní program, nebude jednodušší udělat na toto zapojení nový?
Troufnul by si někdo z vás na to? Samozřejmě bych to nechtěl zadarmo. Každá práce má být odměněna.
A tak mě napadlo, než upravovat původní program, nebude jednodušší udělat na toto zapojení nový?
Troufnul by si někdo z vás na to? Samozřejmě bych to nechtěl zadarmo. Každá práce má být odměněna.