Regulace topení s Atmega, Ds18S20 (teď LM35) a GM37-14+L298N

Můžeš to klidně udělat tak, že vyšleš “Skip ROM” a “Start konverze” - tím spustíš konverzi na všech čidlech současně. Počkáš 750ms (nebo třeba celou vteřinu) a pak vyčteš teploty z jednotlivých čidel. Nepředpokládám, že bys tam dal takovou blbost jako Delay_ms(1000), ale že během té vteřiny program normálně poběží. Vyčtení všech čidel nelze udělat najednou, musíš je číst každé zvlášť pomocí ROM code. Jakmile vyčteš všechny hodnoty, vrátíš se zase na začátek. Zápis/čtení jednoho bitu trvá 60us + alespoň 1us jako mezibitová mezera => řekněme tedy 62us na 1 bit. Nejdelší paket je dlouhý 19 bytů - tedy 152 bitů. A to je adresace pomocí ROM code + vyčtení celého ScratchPad. Při 62us na bit to trvá 62152=9424us - tedy s rezervou 10ms na jedno čidlo. Na čtení teploty Ti stačí přečíst ze ScratchPad jen první 2 byty - tedy i s adresou to dělá 12 bytů - tedy 96 bitů. 6296=5952us => necelých 6ms na 1 čidlo. 12 čidel tedy přečteš za 72 ms. Navíc je nemusíš číst všechny v jednom bloku, ale v každé smyčce programu přečíst jedno.

Časy nejsou vymyšlené - všechno je vyčtené z datasheetu od DS18B20. A jsme zase u toho :

ČÍST DATASHEETY, ČÍST DATASHEETY, ČÍST DATASHEETY !!!