1-Wire DS2411 Universal-Adapter THT

Als kleines Weihnachtsprojekt habe ich mir mal gedacht eine Platine zu entwerfen die es einem ermöglicht diverse Sensoren und Module, welche z.B. für die Arduino™ Welt existieren, an die Hausautomatisierung per 1-Wire Bus anzubinden.

Es gibt von Feuchtesensoren über Geräuscherkennungsmodulen bis hin zu den bekannten
HC-SR 501 PIR Sensoren viele die mit dieser Platine einfach angebunden werden können.

Die einzigste Voraussetzung ist das die Module mit 5V arbeiten und einen digitalen Ausgang besitzen. Bei den meisten dieser Module kann man über ein Potentiometer eine Schaltschwelle einstellen.

Die Platine sieht so aus…

1-Wire-Universal-Adapter-II-PCB-TOP 1-Wire DS2411 Universal-Adapter THTAuf der Platine werkelt ein ATTINY13A-PU, die Software für den Mikrocontroller habe ich in Bascom geschrieben. Ändert sich das Signal am Digitaleingang wird ein Interrupt (Int0) ausgelöst, danach erfolgt die Auswertung und Reaktion je nachdem welche Jumper gesetzt sind.

Hier nun das Bascom Programm…

'
' 1-Wire Universal II Board Rev. 1.0
'
' Software Version: 1.1
'
' Copyright 2018 by IT-WNS,Thomas Heldt
' Web: https://blog.thomasheldt.de
'
' Mikrocontroller: ATTINY13A
'
'-------------------- Allgemeine Controller Konfiguration ---------------------
$regfile "attiny13a.dat"

$crystal = 1200000

$hwstack = 20
$swstack = 20
$framesize = 20

'------------------ Pins definieren und konfigurieren -------------------------

Ds2411port Alias Portb.0
Ds2411pin Alias Pinb.0
Inputport Alias Portb.1
Inputpin Alias Pinb.1
J1port Alias Portb.3
J3port Alias Portb.2
J2port Alias Portb.4
J1pin Alias Pinb.3
J3pin Alias Pinb.2
J2pin Alias Pinb.4

Config Ds2411port = Output                                  'PB0 als Ausgang für den DS2411 setzen
Config Inputport = Input                                    'PB1 als Signal Eingang setzen
Config J1port = Input                                       'PB3 = Jumper J1 auf Eingang setzen  (Flanke)
Config J2port = Input                                       'PB4 = Jumper J2 auf Eingang setzen  (Modus)
Config J3port = Input                                       'PB2 = Jumper J3 auf Eingang setzen  (Zeit)

J1port = 1                                                  'PullUp an J1 / PB3 aktivieren
J2port = 1                                                  'PullUp an J2 / PB2 aktivieren
J3port = 1                                                  'PullUp an J3 / PB4 aktivieren

'------------------------- Variable definieren --------------------------------

Dim Action As Bit

'---------------------- Interrupt konfigurieren -------------------------------
If J1pin = 1 Then
   Config Int0 = Rising
Else
   Config Int0 = Falling
End If

On Int0 Int0_int

' ---------------------- Interrupts aktivieren -------------------------------
Enable Int0
Enable Interrupts

'------------------ Nicht benötigte Hardware deaktivieren --------------------
Stop Adc
Stop Ac

'--------------------------- Hauptschleife -----------------------------------
Do
   If J2pin = 0 Then
      Ds2411port = Inputpin

      If J3pin = 0 Then
         Wait 3
      End If
   Else
      If Action = 1 Then
         Disable Int0

         Action = 0
         Ds2411port = 1

         If J3pin = 1 Then
            Wait 3
         Else
            Wait 5
         End If

         Ds2411port = 0

         Enable Int0
      End If
   End If
Loop

End

' Interrupt Serviceroutine
Int0_int:
   Action = 1
Return

zip 1-Wire DS2411 Universal-Adapter THT
1-Wire-Universal-Adapter-ATTINY13a.zip
Downloads: 6, Filesize: 1.5 KB, Filedate: 26 Dez. 2018

Und hier noch eine Version ganz ohne Interrupts und ohne Variablen…

'
' 1-Wire Universal II Board Rev. 1.0
'
' Software Version: 2.1
'
' Copyright 2018 by IT-WNS,Thomas Heldt
' Web: https://blog.thomasheldt.de
'
' Mikrocontroller: ATTINY13A
'
'-------------------- Allgemeine Controller Konfiguration ---------------------
$regfile "attiny13a.dat"

$crystal = 9600000

$hwstack = 10
$swstack = 10
$framesize = 10

'------------------ Pins definieren und konfigurieren -------------------------

Ds2411port Alias Portb.0
Inputport Alias Portb.1
Inputpin Alias Pinb.1
J1port Alias Portb.3
J3port Alias Portb.2
J2port Alias Portb.4
J1pin Alias Pinb.3
J3pin Alias Pinb.2
J2pin Alias Pinb.4

Config Ds2411port = Output                                  'PB0 als Ausgang für den DS2411 setzen
Config Inputport = Input                                    'PB1 als Signal Eingang setzen
Config J1port = Input                                       'PB3 = Jumper J1 auf Eingang setzen  (Flanke)
Config J2port = Input                                       'PB4 = Jumper J2 auf Eingang setzen  (Modus)
Config J3port = Input                                       'PB2 = Jumper J3 auf Eingang setzen  (Zeit)

J1port = 1                                                  'PullUp an J1 / PB3 aktivieren
J2port = 1                                                  'PullUp an J2 / PB2 aktivieren
J3port = 1                                                  'PullUp an J3 / PB4 aktivieren

'------------------ Nicht benötigte Hardware deaktivieren --------------------
Stop Adc
Stop Ac

'--------------------------- Hauptschleife -----------------------------------
Do
   If J2pin = 0 Then
      Ds2411port = Inputpin

      If J3pin = 0 Then
         Wait 3
      End If
   Else
      If J1pin = 1 And Inputpin = 1 Then
         Ds2411port = 1

         If J3pin = 1 Then
            Wait 3
         Else
            Wait 5
         End If
      End If

      If J1pin = 0 And Inputpin = 0 Then
         Ds2411port = 1

         If J3pin = 1 Then
            Wait 3
         Else
            Wait 5
         End If
      End If

      If J1pin = 1 And Inputpin = 0 Then
         Ds2411port = 0
      End If

      If J1pin = 0 And Inputpin = 1 Then
         Ds2411port = 0
      End If
   End If
Loop

End
zip 1-Wire DS2411 Universal-Adapter THT
1-Wire-Universal-Adapter-ATTINY13a-V2.zip
Downloads: 12, Filesize: 1.4 KB, Filedate: 27 Dez. 2018

Fertig aufgebaut sieht die Platine wie folgt aus…

1-Wire-Universal-Adapter-II-PCB-fertig 1-Wire DS2411 Universal-Adapter THT
Folgende Funktionen bietet die Platine (3 Jumper):

  • J1 = Erkennung des Flankenwechsels am Digitaleingang auf steigend oder fallend konfigurierbar
  • J2 = Direktmodus, Status am Digitaleingang wird direkt über den DS2411 signalisiert
  • J3 = Für kurze Signale am Digitaleingan kann eine Signalisierung mit 5 oder 10 Sekunden eingestellt werden

Weiterhin kann ein PullUp oder PullDown Widerstand für den Digitaleingang bei Bedarf auf der Platine eingelötet werden.

Hier ein Testaufbau mit einem HC-SR 501 PIR Sensor…

1-Wire-Universal-Adapter-II-mit-PIR-Sensor 1-Wire DS2411 Universal-Adapter THTGetestet habe ich es direkt mit dem 1-Wire Viewer und es funktioniert wunderbar 😉

1-Wire-Viewer-mit-USB-1-Wire-Adapter-und-erkanntem-DS2411 1-Wire DS2411 Universal-Adapter THTMan sieht das bei einer Bewegung vor dem PIR Sensor 2 I-Buttons erkannt werden, einer von meinem USB 1-Wire Adapter und der DS2411 vom Universal Adapter. Nach der per Jumper eingestellten Zeit verschwindet der DS2411 wieder vom Bus.

1-Wire-Viewer-nur-mit-USB-1-Wire-Adapter 1-Wire DS2411 Universal-Adapter THTBereits getestet habe ich bisher folgende Module und Sensoren:

    • Mikrofon Geräuschsensor KY-037
    • HC-SR 501 PIR Sensor
    • OKY3551-1 Schalter Modul
    • Bodenfeuchtesensor
    • SW-420 Vibrationssensor
    • 24GHZ Radarsensor
    • LDR Lichtsensor Modul

Sicher gibt es noch weitere Module/Sensoren die mit diesem Universal-Adapter angebunden werden können. Der Universal-Adapter funktioniert mit jeder Hausautomatisierung die den DS2411 (I-Button) per 1-Wire Bus erkennen kann. Bei vielen angeschlossenen Universal-Adaptern, bzw. vielen Modulen / Sensoren, kann es nötig sein ein extra 5V Netzteil für den 1-Wire Bus zu installieren.

Die Platine und den Bausatz mit programmiertem Mikrocontroller kann man jetzt schon im Blog Shop vorbestellen, Auslieferung ab ca. 20 Januar 2019.

Verlinke diesen Beitrag:

<a href="https://blog.thomasheldt.de/1-wire-ds2411-universal-adapter-ii-tht/">1-Wire DS2411 Universal-Adapter THT</a>

2 Gedanken zu „1-Wire DS2411 Universal-Adapter THT

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.