Zrovna dokončuji program pro ATtiny202, který nahradí teplotní senzor Oregon Sientific THN132N a zobrazí teplotu na displeji základnové stanice Oregon Sientific. Data jsou zabezpečena kontrolním součtem a navíc ještě CRC. Pro sichr se ještě posílají 2x za sebou viz popis protokolu zde (čidlo THN132N používá verzi 2.1). Reálná data zachycená z přenosu originálního čidla. Jde o tzv. Manchester kód který pak posílám na vysílač 433 MHz.
Pro generování stejných dat, jako u originálního čidla, používám u ATtiny202:
RTC pro probuzení MCU z režimu spánku každých 30 sekund
ADC pro měření interní teploty MCU s přesností na desetiny °C
USART v synchronním režimu pro posílání dat rychlostí 1024 bit/s
CCL programovatelnou logiku pro generování Manchester kódu
TCB pro generování pauzy 9,36 ms mezi dvěma sériemi odesílaných dat
AC komparátor pro sledování poklesu napětí baterie AA pod 1,1 V
Prenos cisla z jednoho arduina na druhy pomoci TX,RX
Re: Prenos cisla z jednoho arduina na druhy pomoci TX,RX
Zkoušení na breadboardu. Zbývá už jen nechat vyrobit plošný spoj s měničem napětí 1,5 V na 3,3V (MCP16251) a dát do krabičky.
Na osciloscopu je vidět číslo 25,1°C. Žlutá = XCK 1024 Hz, fialová = generováný signál (číslice "5"), modrá = signál z přijímače 433 MHz - odhalil jsem tím špatný kontakt u vysílače, údaje se nevysílaly na displej.
V programu (C++) není použita žádná knihovna. Lze ho také použít k zobrazení jakéhokoliv číselného údaje +-xx.x na displeji základnové stanice Oregon.
Na osciloscopu je vidět číslo 25,1°C. Žlutá = XCK 1024 Hz, fialová = generováný signál (číslice "5"), modrá = signál z přijímače 433 MHz - odhalil jsem tím špatný kontakt u vysílače, údaje se nevysílaly na displej.
V programu (C++) není použita žádná knihovna. Lze ho také použít k zobrazení jakéhokoliv číselného údaje +-xx.x na displeji základnové stanice Oregon.
Re: Prenos cisla z jednoho arduina na druhy pomoci TX,RX
Věc se podařilo dotáhnout do zdárného konce. Jen s pájením malých součástech nejsem ještě tak zběhlý. Vše ale funguje jak má. ATtiny202 (U2) po probuzení ze spánku měří každých 43 sekund s přesností na 0,1°C svou vnitřní teplotu a posílá ji na displej Oregon Scientific.
U1 je zvyšující regulátor napětí (Boost) 1,5 na 3,3 V MCP16251 s velmi malým odběrem (4 µA) v klidovém stavu. Popis "R1" mí být správně pod odporem pod U1.
UPDI slouží pro programování ATtiny202 pomocí programátoru Microchip MPLAB Snap a MPLAB X IDE. Vlastní program používá skoro všechny funkce ATtiny202:
U1 je zvyšující regulátor napětí (Boost) 1,5 na 3,3 V MCP16251 s velmi malým odběrem (4 µA) v klidovém stavu. Popis "R1" mí být správně pod odporem pod U1.
UPDI slouží pro programování ATtiny202 pomocí programátoru Microchip MPLAB Snap a MPLAB X IDE. Vlastní program používá skoro všechny funkce ATtiny202:
- RTC hodiny reálného času pro generování probuzení ze spánku
- USART pro synchronní generování vysilaných dat rychlostí 1 024 bit/s v Manchester kódu (pomocí programovatelné logiky CCL)
- ADC pro měření vnitřní teploty chipu
- AC Analogový komparátor pro zjištění, zda napětí baterie 1,5 nekleslo pod 1,1 V (a zobrazení stavu na displeji)
- EVSYS Event systém pro zahájení měření teploty bez zásahu procesoru
- TCB Čítač pro generování pauzy 9,34 ms mezi dvěma sadami odesílených dat
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti