SchemaTheek
 
Home Nieuws Forum Schema's Artikelen Magazine Downloads Links Shops Zoeken
 
Controle Paneel
Gebruikersnaam
Wachtwoord
  Onthoud mij
» Wachtwoord?
» Registreren
Site info
» Het Team
» Contact
» FAQ
» Leden
» Upload Archief
Stats
Totaal online: 7
7 gasten
0 leden:
Schema's > Computer & Microcontroller > Arduino DHT11 lowcost Temperature & Humidity sensor
Schema informatie
pascalbianca
Moeilijkheidsgraad: Aantal punten:
Hits: 3189 Aantal stemmen: 61
Gepost op: 07-03-2014 Stem:
» 0 reacties    

Schema
Arduino DHT11 lowcost Temperature & Humidity sensor

Onderdelenlijst & Commentaar


De DHT11 Lowcost Temperature & Humidity sensor van Arduino is een veel gebruikte temperatuur en vochtigheids sensor die niet prijzig is.
Om deze aan de praat te krijgen kun je het beste een analoge poort gebruiken.
Onderstaande code werkt perfect op een 18F4620.
Wil je de code op een andere IC gebruiken pas dan even de poort aan in de Symbol DHT11poort = LATA.5.


Code
Dim DataIn As Byte 'hi pulse from sensor
Dim Temp As Word
Dim Hum As Word
Dim ChkSum As Byte
Dim Index As Byte

Symbol DHT11poort = LATA.5

DelayMS 500
Clear
Cls

Print At 1,2,"DHT11 Sensor"
DelayMS 3000
Cls

While 1 = 1

Temp=0:Hum = 0:ChkSum=0

TRISA.5 = 0 'portb o/p
DHT11poort=1 'make high
DelayMS 50 'wait for a while
DHT11poort=0elayMS 180 'send 18ms low
DHT11poort=1elayUS 30 'send 30us hi
DataIn = PulsIn DHT11poort,1 'wait for hi


If DataIn < 33 Then
Cls
Print At 1,1, "DataIn = ",Dec DataIn ' if < 80us loop
Print At 2,1, "Sensor not ready" ' if < 80us loop
GoTo SNR
EndIf

For Index = 15 To 0 Step -1
DataIn = PulsIn DHT11poort,High 'recieve pulses from sensor
If DataIn > 18 Then SetBit Hum,Index
Next Index

For Index = 15 To 0 Step -1
DataIn = PulsIn DHT11poort,High 'recieve pulses from sensor
If DataIn > 18 Then SetBit Temp,Index
Next Index

For Index = 7 To 0 Step -1
DataIn = PulsIn DHT11poort,High
If DataIn > 18 Then SetBit ChkSum,Index
Next Index


Cls
Print At 3,1,"Check Sum = ",Dec ChkSum
Print At 4,1,"H:",Dec Hum.HighByte," %"
Print At 4,10,"T:",Dec Temp.HighByte,0,"C"


If ChkSum <> (Temp.HighByte + Hum.HighByte) Then
Cls
Print At 3,1,"Check Sum Error!"
EndIf

SNR:

DelayMS 1000

Wend


Active Topics

» De tuin.
» Wipschakelaar met neon...
» Peltier regelaar met m...
» Mini domotica systeem
» Lengteaanslag verstekzaag
» printplaat
» Show je mini projecten
» Makita BMR102
» voeding Compaq serie P...
» buggy "The end"

» Meer actieve topics

Advertenties

ElektronicaStynus

© 2004-2017 SchemaTheek
Laadtijd: 0.04988 sec.