Der Luftfeuchte-Sensor DHT11 misst relative Luftfeuchtigkeit und Temperatur, und sendet diese als digital codiertes Signal an einen Microcontroller, wozu bloß eine Datenleitung benötigt wird. Ausserdem kostet das Teil nur 80ct oder so bei chinesischen Händlern. Das ist so ein blaues Kästchen mit Löchern drin, Es ist als Arduino-Zusatzteill beliebt. Wer den Sensor mit einem 16 Microcontroller von Microchip betreiben möchte (PIC24F , DIC30F ) kann die folgende in ASM30 geschriebene Ausleseroutine verwenden. Die File läuft auf meiner Hardware einwandfrei.

Auch wer geistig noch nicht so abgebaut hat, wie ich, braucht vermutlich etliche Stunden, um so eine File selber zu schreiben und ans Laufen zu bringen. Man braucht noch die p30F4011.gld und die p30F4011.inc -file, die fügt man zum Projekt hinzu sowie diese dht11.s -Datei, buildet das mit MPLAB IDE als release und brennt es in einen DSPIC30F4011 mit der üblichen Grundbeschaltung und 4 LED. Für einen anderen Prozessor muss man die Bezeichnungen in der File und die Portauswahl eben entsprechend ändern. Das Auslese-Programm lässt sich auch als Subroutine irgendwo einbringen, wo ASM30 läuft. Wer überhaupt mit ASM30 klarkommt wird keine Probleme damit haben, zumal ja auch alles gründlich kommentiert ist. Der Code ist nicht „relocatable“ , man muß ihn also von Hand relozieren, was aber keine Mühe machen sollte. Man kann dann mit den ausgelesenen Werten machen, was man will. Der 4011-Controller hat den Vorteil, dass es den (bei Reichelt) auch in DIP gibt, also in großem bequem zu lötendem Gehäuse.
Im hier gegebenen Auslieferungszustand schaltet das Modul eine LED ein, wenn Luftfeuchte über 55% ist und eine andere LED bei Temperaturen über 26Grad. (Die Stelle suchen, wo #55 und #26 im Programm stehen, so einfach ist das dann.)

DHT11 Routine als Source-file für ASM30