<?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=7334&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-06-10T11:33:14+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=7334&amp;mode</id>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2014-06-10T11:33:14+01:00</updated>
<published>2014-06-10T11:33:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83940#p83940</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83940#p83940"/>
<title type="html"><![CDATA[Re: ATmega8 + DHT11 + LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83940#p83940"><![CDATA[
Masz na PW <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 10 cze 2014, o 11:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mateusz_dan]]></name></author>
<updated>2014-06-10T11:06:54+01:00</updated>
<published>2014-06-10T11:06:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83938#p83938</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83938#p83938"/>
<title type="html"><![CDATA[Re: ATmega8 + DHT11 + LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83938#p83938"><![CDATA[
Jeśli jest taka możliwość to podeślij ten kod to zobaczę jak to zrealizowałeś.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3095">mateusz_dan</a> — 10 cze 2014, o 11:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2014-06-09T22:00:02+01:00</updated>
<published>2014-06-09T22:00:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83907#p83907</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83907#p83907"/>
<title type="html"><![CDATA[Re: ATmega8 + DHT11 + LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83907#p83907"><![CDATA[
Zrobiłem kiedyś na pająku taki systemik pokazujący temperaturę i wilgotność na DHT. Do tej pory działa na tym pająku. Jak chcesz mogę Ci podrzucić mój kod.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 9 cze 2014, o 22:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daniel880]]></name></author>
<updated>2014-06-09T21:33:34+01:00</updated>
<published>2014-06-09T21:33:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83906#p83906</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83906#p83906"/>
<title type="html"><![CDATA[Re: ATmega8 + DHT11 + LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83906#p83906"><![CDATA[
Mógłbyś użyć jakiegoś układu, który fizycznie przełączałby się i raz podawał sygnał z DHT11 a raz z DS18B20.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2328">Daniel880</a> — 9 cze 2014, o 21:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-06-07T18:35:08+01:00</updated>
<published>2014-06-07T18:35:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83640#p83640</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83640#p83640"/>
<title type="html"><![CDATA[Re: ATmega8 + DHT11 + LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83640#p83640"><![CDATA[
Ta biblioteka wykorzystuje do komunikacji 1-wire ,tylko<br />bez adresowania układu dlatego że czujnik nie jest przystosowany<br />do pracy na magistrali ,ale jako &quot;single&quot; bez adresu<br /><br />Nie miałem styczności z tym czujnikiem a więc moja wiedza jest <br />czysto teoretyczna <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> tak wyczytałem w pdf-ie <br />i tak zrozumiałem - na ile znam angielski <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Jeśli chciałbyś wykorzystać DHT11 z DS-em to musiałbyś <br />podłączyć go do innego pinu uC bo raczej na tej samej magistrali<br />będzie to niemożliwe.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 7 cze 2014, o 18:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mateusz_dan]]></name></author>
<updated>2014-06-07T16:58:55+01:00</updated>
<published>2014-06-07T16:58:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83635#p83635</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83635#p83635"/>
<title type="html"><![CDATA[ATmega8 + DHT11 + LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7334&amp;p=83635#p83635"><![CDATA[
Witam.<br /><br />Kolejny problem i mnóstwo pytań przysporzył mi czujnik DHT11, który od paru dni próbuje rozgryźć. Jest to cyfrowy czujnik który obsługuje interfejs 1-wire. Pobrałem bibliotekę do tegoż czujnika, skonfigurowałem port pod który jest podłączony i jakoś to działa. Pokazuje temperaturę, wilgotność. Zrobiłem kilka testów w różnych warunkach i temperatura jak i wilgotność zmieniają swoje wartości. Teraz mam pytanie czy mój czujnik DHT11 wykorzystuje interfejs 1-wire? Chyba nie... Z tego co wyczytałem i zauważyłem to działa on, ale nie na 1-wire. Co zrobić aby działał na 1-wire? Muszę mieć inne biblioteki? Jak zrobić aby działa z DS18B20? Czy mogę wykorzystać kod Mirka z 1-wire DS18B20 i dołączyć do tego w jakiś sposób DHT11?<br /><br />main.c<br />[syntax=c]int main(void)<br />{<br />lcd_init();/* inicjalizacja LCD */<br />while(1)<br />{<br />lcd_locate(0,0);<br />lcd_str(&quot;Wilg.&quot;);<br />lcd_locate(0,6);<br />lcd_int(dht11_gethumidity());<br /><br />lcd_locate(1,0);<br />lcd_str(&quot;Temp.&quot;);<br />lcd_locate(1,6);<br />lcd_int(dht11_gettemperature());<br />}<br />}[/syntax]<br /><br /><br />dht11.c<br />[syntax=c]DHT11 Library 0x01<br /><br />copyright (c) Davide Gironi, 2011<br /><br />Released under GPLv3.<br />Please refer to LICENSE file for licensing information.<br />*/<br /><br /><br />#include &lt;stdio.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;dht11.h&quot;<br /><br />#define DHT11_ERROR 255<br /><br />/*<br /> * get data from dht11<br /> */<br />uint8_t dht11_getdata(uint8_t select) {<br />uint8_t bits&#91;5&#93;;<br />uint8_t i,j = 0;<br /><br />memset(bits, 0, sizeof(bits));<br /><br />//reset port<br />DHT11_DDR |= (1&lt;&lt;DHT11_INPUTPIN); //output<br />DHT11_PORT |= (1&lt;&lt;DHT11_INPUTPIN); //high<br />_delay_ms(100);<br /><br />//send request<br />DHT11_PORT &amp;= ~(1&lt;&lt;DHT11_INPUTPIN); //low<br />_delay_ms(18);<br />DHT11_PORT |= (1&lt;&lt;DHT11_INPUTPIN); //high<br />_delay_us(1);<br />DHT11_DDR &amp;= ~(1&lt;&lt;DHT11_INPUTPIN); //input<br />_delay_us(39);<br /><br />//check start condition 1<br />if((DHT11_PIN &amp; (1&lt;&lt;DHT11_INPUTPIN))) {<br />return DHT11_ERROR;<br />}<br />_delay_us(80);<br />//check start condition 2<br />if(!(DHT11_PIN &amp; (1&lt;&lt;DHT11_INPUTPIN))) {<br />return DHT11_ERROR;<br />}<br />_delay_us(80);<br /><br />//read the data<br />for (j=0; j&lt;5; j++) { //read 5 byte<br />uint8_t result=0;<br />for(i=0; i&lt;8; i++) {//read every bit<br />while(!(DHT11_PIN &amp; (1&lt;&lt;DHT11_INPUTPIN))); //wait for an high input<br />_delay_us(30);<br />if(DHT11_PIN &amp; (1&lt;&lt;DHT11_INPUTPIN)) //if input is high after 30 us, get result<br />result |= (1&lt;&lt;(7-i));<br />while(DHT11_PIN &amp; (1&lt;&lt;DHT11_INPUTPIN)); //wait until input get low<br />}<br />bits&#91;j&#93; = result;<br />}<br /><br />//reset port<br />DHT11_DDR |= (1&lt;&lt;DHT11_INPUTPIN); //output<br />DHT11_PORT |= (1&lt;&lt;DHT11_INPUTPIN); //low<br />_delay_ms(100);<br /><br />//check checksum<br />if (bits&#91;0&#93; + bits&#91;1&#93; + bits&#91;2&#93; + bits&#91;3&#93; == bits&#91;4&#93;) {<br />if (select == 0) { //return temperature<br />return(bits&#91;2&#93;);<br />} else if(select == 1){ //return humidity<br />return(bits&#91;0&#93;);<br />}<br />}<br /><br />return DHT11_ERROR;<br />}<br /><br />/*<br /> * get temperature (0..50C)<br /> */<br />int8_t dht11_gettemperature() {<br />uint8_t ret = dht11_getdata(0);<br />if(ret == DHT11_ERROR)<br />return -1;<br />else<br />return ret;<br />}<br /><br />/*<br /> * get humidity (20..90%)<br /> */<br />int8_t dht11_gethumidity() {<br />uint8_t ret = dht11_getdata(1);<br />if(ret == DHT11_ERROR)<br />return -1;<br />else<br />return ret;<br />}[/syntax]<br /><br /><br />dht11.h<br />[syntax=c]DHT11 Library 0x01<br /><br />copyright (c) Davide Gironi, 2011<br /><br />Released under GPLv3.<br />Please refer to LICENSE file for licensing information.<br /><br />References:<br />  - DHT-11 Library, by Charalampos Andrianakis on 18/12/11<br /><br />*/<br /><br /><br />#ifndef DHT11_H_<br />#define DHT11_H_<br /><br />#include &lt;stdio.h&gt;<br />#include &lt;avr/io.h&gt;<br /><br />//setup parameters<br />#define DHT11_DDR DDRC<br />#define DHT11_PORT PORTC<br />#define DHT11_PIN PINC<br />#define DHT11_INPUTPIN PC3<br /><br />extern int8_t dht11_gettemperature();<br />extern int8_t dht11_gethumidity();<br /><br />#endif[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3095">mateusz_dan</a> — 7 cze 2014, o 16:58</p><hr />
]]></content>
</entry>
</feed>