Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 17 sty 2025, o 07:11


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 21 lis 2013, o 18:06 
Offline
Nowy

Dołączył(a): 21 lis 2013
Posty: 9
Pomógł: 0

Witam,
Proszę o pomoc z odczytem danych z czujnika wilgotności. Jestem na etapie inicjalizacji tzn. wysłania impulsu START do czujnika.
Wg noty katalogowej http://www.adafruit.com/datasheets/DHT22.pdf
czujnik powinien odpowiedzieć stanem niskim (1) przez 80us oraz stanem wysokim (0) przez 80us. Udało mi się to uzyskać. Wyniki otrzymuję w hyperterminal.

Czujnik jest podpięty jak tutaj http://www.pocketmagic.net/wp-content/u ... _dht22.png
Jednak do PD2.


Nie wiem jak odzyskać dane o wartości temp. i wilgotności.

"DATA=8 bit integral RH data+8 bit decimal RH data+8 bit integral T data+8 bit decimal T data+8 bit checksum"

Czyli należy odebrać 40bit danych.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Czyli wg noty katalogowej.
1. PC przez 500us utrzymuje stan niski na linii.
2. PC przez 40us utrzymuje stan wysoki i czeka na odpowiedź czujnika
3. Czujnik utrzymuje stan niski na linii przez 80us oraz wysoki przez 80us.
4. Czujnik zaczyna transmisję, 50us stan niski, oraz odpowiednio stan wysoki przez 26-28us to logiczne 0 lub 70us stan wysoki to logiczne 1.
5. i znowu jak w pkt. 4

Proszę o sprawdzenie kodu programu. Na razie mam problem z wysłaniem temp1 do terminala (krzaki).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2013, o 10:40 
Offline
Nowy

Dołączył(a): 21 lis 2013
Posty: 9
Pomógł: 0

Nikt nie jest w stanie pomóc? Taka funkcja:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wyświetla w terminalu: 1n1ooo.....oooooo czyli cały czas stan wysoki od czujnika. Czy czujnik może być uszkodzony czy to jednak wina kodu?


Udało mi się sprawdzić czujnik na płytce arduino. Działa. Czyli wina leży po stronie programu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2013, o 17:49 
Offline
Nowy

Dołączył(a): 21 lis 2013
Posty: 9
Pomógł: 0

Sporo błędów wywala ten program. WinAvr, Programmers Notepad.

Compiling C: dht.c
avr-gcc -c -mmcu=atmega16 -I. -gstabs -DF_CPU=1000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./dht.lst -std=gnu99 -MMD -MP -MF .dep/dht.o.d dht.c -o dht.o
In file included from dht.c:7:
dht11.h:27: warning: function declaration isn't a prototype
dht11.h:28: warning: function declaration isn't a prototype
In file included from dht.c:10:
uart.h:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'UART_H'
In file included from dht.c:10:
uart.h:193:2: error: #endif without #if
dht.c: In function 'main':
dht.c:17: warning: implicit declaration of function 'uart_init'
make.exe: *** [dht.o] Error 1

> Process Exit Code: 2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 7 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO