<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=23663&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-07-01T12:16:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23663&amp;mode</id>
<entry>
<author><name><![CDATA[Juras33]]></name></author>
<updated>2021-07-01T12:16:30+01:00</updated>
<published>2021-07-01T12:16:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=232910#p232910</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=232910#p232910"/>
<title type="html"><![CDATA[Re: Układ AHT10]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=232910#p232910"><![CDATA[
&quot; Jeśli nikt ci nie pomoże, pomóż sobie sam &quot;<br /> Wyszła mi taka biblioteka:<br /> plik  aht10.c<br /><br />[syntax=c]/*<br /> * aht10.c    atmega328p    F_CPU = 8000000 Hz<br /> *<br /> * Created on: 2021-06-26<br /> *     Author: Juras<br />*/<br />#include &lt;avr/io.h&gt;<br />#include &quot;aht10.h&quot;<br /><br />static const uint8_t AHT10_ADDR = 0x38;<br /><br />void AHT10_INIT(void) {<br />TWI_start();<br />TWI_write( AHT10_ADDR);<br />TWI_write(0xE1);<br />TWI_write(0x08);<br />TWI_write(0x00);<br />TWI_stop();<br />}<br />void AHT10_RES(void) {<br />TWI_start();<br />TWI_write( AHT10_ADDR);<br />TWI_write(0xBA);<br />TWI_stop();<br />}<br />void AHT10_POM(void) {<br />TWI_start();<br />TWI_write(0x70);<br />TWI_write(0xAC);<br />TWI_write(0x33);<br />TWI_write(0x00);<br />TWI_stop();<br />}<br />void AHT10_ZAP(void) {<br />TWI_start();<br />TWI_write(0x71);<br />AHT10_RX_DATA&#91;0&#93; = TWI_read(1);<br />AHT10_RX_DATA&#91;1&#93; = TWI_read(1);<br />AHT10_RX_DATA&#91;2&#93; = TWI_read(1);<br />AHT10_RX_DATA&#91;3&#93; = TWI_read(1);<br />AHT10_RX_DATA&#91;4&#93; = TWI_read(1);<br />AHT10_RX_DATA&#91;5&#93; = TWI_read(0);<br />TWI_stop();<br />}<br />void AHT10_GETT(void) {<br /> AHT10_ADC_RAW = ((uint32_t)(AHT10_RX_DATA&#91;3&#93; &amp; 0x0F) &lt;&lt; 16) | ((uint32_t)AHT10_RX_DATA&#91;4&#93; &lt;&lt; 8) | AHT10_RX_DATA&#91;5&#93;;<br /> AHT10_Temp = ((float)(AHT10_ADC_RAW) * 200.00 /1048576.00)-50.00;<br />}<br />void AHT10_GETH(void) {<br />AHT10_ADC_RAW = (((uint32_t)AHT10_RX_DATA&#91;1&#93;  &lt;&lt; 16) | ((uint32_t)AHT10_RX_DATA&#91;2&#93; &lt;&lt; 8) | AHT10_RX_DATA&#91;3&#93;) &gt;&gt; 4;<br />        AHT10_Humi = (float)(AHT10_ADC_RAW) * 100.00 / 1048576.00;<br />}[/syntax]<br /> <br />plik aht10.h<br /><br />[syntax=c]/*<br /> * aht10.h<br /> *<br /> *  Created on: 29 cze 2021<br /> *      Author: Juras<br /> */<br /><br />#ifndef AHT10_H_<br />#define AHT10_H_<br /><br />uint8_t  AHT10_RX_DATA&#91;6&#93;;<br />float    AHT10_Temp;<br />float    AHT10_Humi;<br />uint32_t AHT10_ADC_RAW;<br /><br /> void AHT10_INIT(void);<br /> void AHT10_RES(void);<br /> void AHT10_POM(void);<br /> void AHT10_ZAP(void);<br /> void AHT10_GETT(void);<br /> void AHT10_GETH(void);<br /><br />#endif /* AHT10_H_ */[/syntax]<br />plik do przetestowania <br /><br />[syntax=c]/*<br /> * main.c    atmega324p    F_CPU = 8000000 Hz<br /> *<br /> * Created on: 2021-06-28<br /> *     Author: Juras<br />*/<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdio.h&gt;<br /><br />#include &quot;i2c_twi.h&quot;<br />#include &quot;lcd44780.h&quot;<br />#include &quot;aht10.h&quot;<br />//******************************* definicje zmiennych globalnych i typów<br /><br />char lcd_buf&#91;10&#93;;<br /><br />/*------------------------główna funkcja programu------------------------*/<br />int main(void)<br />{<br /><br />     lcd_init();<br />      i2cSetBitrate( 100 );<br /><br />     lcd_locate(0,0);<br />     lcd_str(&quot;...start&quot;);<br /><br />     _delay_ms(1000);<br />     lcd_cls();<br /><br />/*------------------------główna pętla programu ------------------------*/<br /><br />    while(1)<br />    {<br /><br />        AHT10_INIT();<br />        AHT10_POM();<br />        _delay_ms(80);<br />        AHT10_ZAP();<br />        AHT10_GETT();<br />        AHT10_GETH();<br /><br />        sprintf(lcd_buf, &quot;%.1f&quot; , AHT10_Temp);<br />        lcd_locate(0,0);<br />        lcd_str(lcd_buf);<br />        lcd_char(0XDF);<br />        lcd_str(&quot;C&quot;);<br />        sprintf(lcd_buf, &quot;%.1f&quot; , AHT10_Humi);<br />        lcd_locate(1,0);<br />        lcd_str(lcd_buf);<br />        lcd_str(&quot; %&quot;);<br /><br />        _delay_ms(1000);<br /><br />    }<br />}[/syntax]<br />Napewno nie jest to napisane optymalnie, Mirek zrobił by to lepiej.<br />UWAGA! Aby liczby float wyświetłały się prawidłowo trzeba wykonać uzupełnienie Exlipse - post z 3 kwietnia 2013r.<br />Niestety zwiększa to kod programu o ponad 1Kb. <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />Fusy E2,D9,FF.<br />Powodzenia  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4236">Juras33</a> — 1 lip 2021, o 12:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juras33]]></name></author>
<updated>2021-03-23T16:35:15+01:00</updated>
<published>2021-03-23T16:35:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231618#p231618</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231618#p231618"/>
<title type="html"><![CDATA[Re: Układ AHT10]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231618#p231618"><![CDATA[
Wszystko byłoby dobrze ale ja znam tylko bibliotekę i2c_twi z blue book.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4236">Juras33</a> — 23 mar 2021, o 16:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[raf_w]]></name></author>
<updated>2021-03-16T22:50:30+01:00</updated>
<published>2021-03-16T22:50:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231494#p231494</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231494#p231494"/>
<title type="html"><![CDATA[Re: Układ AHT10]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231494#p231494"><![CDATA[
Ja posiłkowałem się <!-- m --><a class="postlink" href="https://youtu.be/UArviwN8h5Y" >https://youtu.be/UArviwN8h5Y</a><!-- m --> co prawda na stm32 i za wschodniej granicy ale fajnie pokazane. Można sobie przerobić.  <br /><br />Mój kod:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdio.h&gt;<br /><br /><br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;MK_I2C/mk_i2c.h&quot;<br /><br />//#include &quot;AHT10.h&quot;<br /><br /><br /><br />//******************************* definicje preprocesora<br /><br />#define AHT10_ADDR (0x38&lt;&lt;1)<br /><br /><br />//******************************* deklaracje funkcji<br /><br /><br />//******************************* definicje zmiennych globalnych i typów<br /><br />uint8_t  AHT10_RX_DATA&#91;6&#93;;<br />uint32_t AHT10_ADC_RAW;<br />float    AHT10_Temp;<br />float    AHT10_Humi;<br />uint8_t  AHT10_TmHm_CMD&#91;3&#93; = {0xAC , 0x33 , 0x00};<br /><br />char lcd_buf&#91;10&#93;;<br /><br />/*------------------------główna funkcja programu------------------------*/<br />int main(void)<br />{<br /><br />/*------------------------inicjalizacja kierunków pinów------------------------*/<br /><br />/*------------------------inicjalizacja przerwań------------------------*/<br /><br />/*------------------------inicjalizacja modułów programowych------------------------*/<br /><br /> lcd_init();<br /><br /> i2c_init(100);<br /><br /> lcd_locate(0,0);<br /> lcd_str(&quot;...start&quot;);<br /><br /> _delay_ms(1000);<br /> lcd_cls();<br /><br />/* globalne  odblokowanie przerwań */<br />//sei();<br /><br />/*------------------------główna petla programu ------------------------*/<br /><br />while(1)<br />{<br /><br />i2c_write_buf1(AHT10_ADDR, 3, AHT10_TmHm_CMD);<br />_delay_ms(80);<br />i2c_read_buf1(AHT10_ADDR, 6, AHT10_RX_DATA);<br /><br /><br />AHT10_ADC_RAW = ((uint32_t)(AHT10_RX_DATA&#91;3&#93; &amp; 0x0F) &lt;&lt; 16) | ((uint32_t)AHT10_RX_DATA&#91;4&#93; &lt;&lt; 8) | AHT10_RX_DATA&#91;5&#93;;<br />AHT10_Temp = ((float)(AHT10_ADC_RAW) * 200.00 /1048576.00)-50.00;<br /><br /><br />AHT10_ADC_RAW = (((uint32_t)AHT10_RX_DATA&#91;1&#93;  &lt;&lt; 16) | ((uint32_t)AHT10_RX_DATA&#91;2&#93; &lt;&lt; 8) | AHT10_RX_DATA&#91;3&#93;) &gt;&gt; 4;<br />AHT10_Humi = (float)(AHT10_ADC_RAW) * 100.00 / 1048576.00;<br /><br /><br />sprintf(lcd_buf, &quot;%.2f&quot; , AHT10_Temp);<br />lcd_locate(0,0);<br />lcd_str(lcd_buf);<br />sprintf(lcd_buf, &quot;%.1f&quot; , AHT10_Humi);<br />lcd_locate(1,0);<br />lcd_str(lcd_buf);<br /><br />_delay_ms(1000);<br /><br />}<br />}[/syntax]<br /><br />Wiem, że trzeba ubrać to w funkcje ale to wersja robocza ma to być mała biblioteczka. Tylko mam problem. Jak pozbyć się float-ów? Może ktoś pomoże?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10211">raf_w</a> — 16 mar 2021, o 22:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juras33]]></name></author>
<updated>2021-03-15T20:25:17+01:00</updated>
<published>2021-03-15T20:25:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231455#p231455</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231455#p231455"/>
<title type="html"><![CDATA[Re: Układ AHT10]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231455#p231455"><![CDATA[
Dzięki znalazłem bibliotekę tego układu dla Arduino.<br />trzeba ją będzie tylko przerobić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4236">Juras33</a> — 15 mar 2021, o 20:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[raczyk]]></name></author>
<updated>2021-03-15T19:36:26+01:00</updated>
<published>2021-03-15T19:36:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231453#p231453</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231453#p231453"/>
<title type="html"><![CDATA[Re: Układ AHT10]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231453#p231453"><![CDATA[
Temat ciągle jest ten sam. <strong>Dajcie mi!</strong><br />A kolego otwórz Datasheet przeczytaj a tam masz wszystkie niezbędne informacje.<br />Jak komunikować się z układem.<br />Usiądź i napisz program. Nie wiesz jak to obejrzyj filmy Mirka jak się pisze programy w C. Uwierz mi jest tego mnóstwo i to za darmo. Tylko oglądaj krok po kroku.<br /><br />A Twój układ to pikuś. Ale nota się kłania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8571">raczyk</a> — 15 mar 2021, o 19:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RadekB86]]></name></author>
<updated>2021-03-15T19:27:22+01:00</updated>
<published>2021-03-15T19:27:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231452#p231452</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231452#p231452"/>
<title type="html"><![CDATA[Re: Układ AHT10]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231452#p231452"><![CDATA[
<a href="https://obrazkiforum.atnel.pl/1837/4948099aaf0376d26788a4bd9dcbd827.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/1837/4948099aaf0376d26788a4bd9dcbd827.jpg" alt="Obrazek" /></a><br /><br />Układ jest bardzo podobny do BMP180 który jest zawarty w Yelowbooku  więc zapewne wystarczyłoby zmienić adresy w odczycie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1837">RadekB86</a> — 15 mar 2021, o 19:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juras33]]></name></author>
<updated>2021-03-15T18:52:33+01:00</updated>
<published>2021-03-15T18:52:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231451#p231451</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231451#p231451"/>
<title type="html"><![CDATA[Układ AHT10]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23663&amp;p=231451#p231451"><![CDATA[
Nie znalazłem takiego tematu na forum.<br />Układ AHT10 jest mierzy temperaturę i wilgotność, jego zaletą jest minimalny pobór energii.<br />Może ktoś ma do niego program w C.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4236">Juras33</a> — 15 mar 2021, o 18:52</p><hr />
]]></content>
</entry>
</feed>