Hallo liebes Forum, ich versuche derzeit mit Hilfe von DS1990A iButtons und einem ATMega32 Controller eine Art Anwesenheitskontrolle zu realisieren. Ich habe hier zwei iButtons und zwei Reader. Meine Vorstellungen sind eigentlich nicht allzu Anspruchsvoll. Ich möchte lediglich, dass die iButtons jeweils genau einen Port auf High/Low setzen, je nach dem, ob der jeweilige iButton verbunden ist, oder nicht. Sprich ein iButton mit einer individuellen Seriennummer schaltet genau einen Port. Ich habe mich in die Programmierung der iButtons eingelesen, aber leider bin ich blutiger Anfänger. Geschrieben habe ich bislang folgendes: $crystal = 16000000 $regfile = "m32def.dat" Config 1wire = Portb.0 Config Portc = Output Dim Rom_data(8) As Byte Do Rom_data(1) = 1wsearchfirst() If Err = 1 Then Portc = 0 End If If Err = 0 Then If Rom_data(8) = &H2F Then Portc.1 = 1 Elseif Rom_data(8) = &H69 Then Portc.7 = 1 End If End If Loop So funktioniert es natürlich nur mit einem Button zur Zeit, leider habe ich aber ja zwei iButtons. Und es könnten ja auch beide zur gleichen Zeit anwesend sein. Daran scheitere ich leider zur Zeit. Es wäre schön, wenn mir jemand eine Lösung vor mein Problem aufzeigen könnte. Schonmal danke im voraus!
Habe mein Problem gelöst! Ich habe die beiden Seriennummern der iButtons in vorher in ein Array geschrieben und prüfe dann mit dem 1wverify-Befehl in einer Schleife ab, ob der jeweilige iButton vorhanden ist, oder nicht.
Eshco schrieb: > Es wäre schön, wenn mir jemand eine Lösung vor mein Problem aufzeigen > könnte. Schonmal danke im voraus! Also, wenn es "1wSearchFirst()" gibt, wird es wahrscheinlich auch "1wSearchNext()" geben, oder ?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.