Zdravím všetkých borcov na FÓRE Bascom.
Senzor DHT11-teplota a vlhkosť / čínska náhrada vlhkostného senzoru SHT-11 / má podľa DATAshetu komunikovať (interface)
po 1WIRE.
TESTOVAL som v Bascomu , TESTOVAL som v C_čku na ATmega8 ...... NIKDE to nechodí .
Rozchodil niekdo z vás tento senzor ???
Len na doplnenie uvádzam , že DS18B20 - senzor teploty v Bascomu na ATmega8 --výborný , presnosť 0,5 st C.
Ďakujem vopred !
Senzor DHT11 v Bascom
Moderátori: psichac, Moderátori
-
- Okoloidúci
- Príspevky: 1
- Dátum registrácie: 19 Júl 2020, 10:18
- otep69
- Stály člen
- Príspevky: 208
- Dátum registrácie: 31 Okt 2008, 00:00
- Bydlisko: Jarok
- Vek: 35
- Kontaktovať používateľa:
Re: Senzor DHT11 v Bascom
Nazdar,
Tak sa mi marí, že DHT11 a aj DHT22 sice komunikuju "one wire", ale využívajú svoj vlastný protokol, takže original one wire komunikácia ti moc nepomôže.
Možno doma nájdem zdroják čo som mal pre tento snímač napísaný.
Alebo si skús prebehnúť toto:
Tak sa mi marí, že DHT11 a aj DHT22 sice komunikuju "one wire", ale využívajú svoj vlastný protokol, takže original one wire komunikácia ti moc nepomôže.
Možno doma nájdem zdroják čo som mal pre tento snímač napísaný.
Alebo si skús prebehnúť toto:
Kód: Vybrať všetko
https://github.com/fengcda/DHT_Sensor_AVR_Library
0
Teší ma Peter.
F*ck me I am Famous ...
Čo nejde silou, pôjde silou ešte väčšou.
F*ck me I am Famous ...
Čo nejde silou, pôjde silou ešte väčšou.
- Mek
- Zaslúžilý člen
- Príspevky: 1279
- Dátum registrácie: 15 Okt 2015, 20:49
- Bydlisko: Žilina
- Vek: 37
- Kontaktovať používateľa:
Re: Senzor DHT11 v Bascom
Nie je to sice Bascom, ale C, ale mozno sa zide...
Robil som malu meteostanicu s DHT22 a pouzil som na to kniznicu dhtxx (co implikuje ze aj DHT11 by mala byt podporovana). Prikladam k prispevku. Pouziva sa jednoducho:
... a potom v obsluhe prerusenia na spracovanie staci spracovat premenne temperature a humidity.
temperature = 235 znamena 23,5 C, humidity 678 znamena 67,8%.
Snad ti to pomoze.
Robil som malu meteostanicu s DHT22 a pouzil som na to kniznicu dhtxx (co implikuje ze aj DHT11 by mala byt podporovana). Prikladam k prispevku. Pouziva sa jednoducho:
Kód: Vybrať všetko
#define TEMPERATURE_UNKNOWN -1000
#define HUMIDITY_UNKNOWN -1000
volatile int temperature = TEMPERATURE_UNKNOWN; // this is temperature * 10 to not deal with floats, decimal point is fixed (same for humidity)
volatile int humidity = HUMIDITY_UNKNOWN;
int main(void)
{
for (;;)
{
dhtxxconvert(DHTXX_DHT22, &PORTD, &DDRD, &PIND, (1 << 2)); // PD2
_delay_ms(1000);
int temp = 0; // returned temp and hum are *10 so they are ints
int hum = 0;
cli(); // important - interrupts must be disabled while reading
readResult = dhtxxread(DHTXX_DHT22, &PORTD, &DDRD, &PIND, (1 << 2), &temp, &hum); // PD2
sei();
if (readResult == DHTXX_ERROR_OK)
{
temperature = temp;
humidity = hum;
} else {
temperature = TEMPERATURE_UNKNOWN;
humidity = HUMIDITY_UNKNOWN;
}
_delay_ms(5000);
}
}
temperature = 235 znamena 23,5 C, humidity 678 znamena 67,8%.
Snad ti to pomoze.
- Prílohy
-
- dhtxx.zip
- (1.85 KiB) 89 stiahnutí
0
... byvaly spravca Hospudky u amplionu, Martinekk-ov brat. Nemam vystudovane elektro, je to len moje hobby. Povolanim som SW inzinier.
Moja databaza suciastok: ELPARTS
Moj velky elektro projekt: MEGA TRANSISTOR CLOCK
Moja databaza suciastok: ELPARTS
Moj velky elektro projekt: MEGA TRANSISTOR CLOCK
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok