wolf112
29.12.2011, 18:50
Hallo ich lese hier schon lange im Forum und habe mich nun endlich dazu entschieden auch ein Projekt zu starten.
Da ich noch ein Anfänger mit Mikrocontrollern bin, will ich eine einfache kleine Wetterstation bauen, die ich später noch erweitern kann.
Sie soll mir erstmal nur über ein LCD die Luftfeuchtigkeit und die Temperatur ausgeben.
Ich hab die Schaltung aufgebaud, aber der Sensor funktioniert nicht so wie ich es will.
Als Sensor verwende ich den HYT 271 (https://www.roboternetz.de/community/www.reichelt.de/Sensoren/HYT-271/index.html?;ACTION=3;LA=2;ARTICLE=105997;GROUPID=3 190;artnr=HYT+271;SID=10TvtLr38AAAIAAE8C430fdeee68 05abf7281a972f1d747919790).
Das LCD kann ich soweit schon ganz gut ansteuern, aber beim Sensor hapert es.
Deshalb habe ich ein programm geschrieben, das überprüfen soll, ob das Byte an den Slave gesendet wurde.
Es läuft bis I2cstart, aber wenn er das Byte senden soll hängt er sich auf.:(
Er schrieb erst nach ungefähr einer stunde (Hatte länger nicht drauf geguckt) die Zwei auf den Bildschirm.
$regfile = "m32def.dat"
$crystal = 1000000
'LCD initialisieren
Config Lcd = 20 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Cursor Off
Cls
Locate 1 , 1
Lcd " I2C Ueberpruefung"
Locate 2 , 1
Lcd "Programmstatus: "
Lcd "1"
'I2C starten
I2cinit
I2cstart
I2cwbyte &H28 'Adresse des Slaves
I2cstop
Locate 2 , 17
Lcd "2"
Do
Loop
End
Ich hoffe ihr könnt mir helfen, denn ich hab bei Google und auch hier im Forum nichts gefunden.
Ich bin für jede Hilfe dankbar.
PS: Die Leitungen SCL und SDA hab ich über 10kOhm Pullups mit 5V verbunden.
PPS: Ich weiss, dass "fliegende" Schaltungen nicht gut sind, aber auf der Unterseite ist viel mit Silberdraht verlötet.
20993
Da ich noch ein Anfänger mit Mikrocontrollern bin, will ich eine einfache kleine Wetterstation bauen, die ich später noch erweitern kann.
Sie soll mir erstmal nur über ein LCD die Luftfeuchtigkeit und die Temperatur ausgeben.
Ich hab die Schaltung aufgebaud, aber der Sensor funktioniert nicht so wie ich es will.
Als Sensor verwende ich den HYT 271 (https://www.roboternetz.de/community/www.reichelt.de/Sensoren/HYT-271/index.html?;ACTION=3;LA=2;ARTICLE=105997;GROUPID=3 190;artnr=HYT+271;SID=10TvtLr38AAAIAAE8C430fdeee68 05abf7281a972f1d747919790).
Das LCD kann ich soweit schon ganz gut ansteuern, aber beim Sensor hapert es.
Deshalb habe ich ein programm geschrieben, das überprüfen soll, ob das Byte an den Slave gesendet wurde.
Es läuft bis I2cstart, aber wenn er das Byte senden soll hängt er sich auf.:(
Er schrieb erst nach ungefähr einer stunde (Hatte länger nicht drauf geguckt) die Zwei auf den Bildschirm.
$regfile = "m32def.dat"
$crystal = 1000000
'LCD initialisieren
Config Lcd = 20 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Cursor Off
Cls
Locate 1 , 1
Lcd " I2C Ueberpruefung"
Locate 2 , 1
Lcd "Programmstatus: "
Lcd "1"
'I2C starten
I2cinit
I2cstart
I2cwbyte &H28 'Adresse des Slaves
I2cstop
Locate 2 , 17
Lcd "2"
Do
Loop
End
Ich hoffe ihr könnt mir helfen, denn ich hab bei Google und auch hier im Forum nichts gefunden.
Ich bin für jede Hilfe dankbar.
PS: Die Leitungen SCL und SDA hab ich über 10kOhm Pullups mit 5V verbunden.
PPS: Ich weiss, dass "fliegende" Schaltungen nicht gut sind, aber auf der Unterseite ist viel mit Silberdraht verlötet.
20993