18. Door sensor
This example of digital input uses a door sensor to detect and report via the Internet two events: open door (Open) and closed door (Closed). It also sends the door status if requested by external event State.
With this sensor you can connect to the Internet doors, windows, drawers or anything that opens and closes. The sensor consists of a reed switch and a magnet. The reed switch contacts are of magnetic material and the external magnet acts directly on them (Figure 1).
Figure 1 - how the reed switch works
Figure 1 - Door sensor circuit
Connect the Door sensor as shown in Figure 1:
- a PIN to GND,
- other PIN to D3.
Note: PINs can also be inverted.
Write a sketch K to define:
- the input connection: Door :: D3
- the events to send: Closed, Open
- the external event: State
- the commands: start, msg
- the rule for send the door status when asked through the external event State
Door :: D3
Closed = Door==0
Open = Door==1
State = 0
msg = [date,time,sn,Door]
start = [led=Door *]
State -> msg
or simply load the sketch in the workspace with the command
] load e18_door_sensor
The following equivalences are valid:
- x == 0 <-> x == false <-> ! x
- x! = 0 <-> x == true <-> x
So you can also define:
Closed = !Door
Open = Door
3. Try and learn
Fix the magnet on the door and Smick with the reed switch on its frame.
Open the door
the Open event happens and is sent over the Internet; the status LED turns on.
Close the door
the Closed event happens and is sent over the Internet; the status LED turns off.
Via internet send to Smick the State external event
Smick reply with a message containing the door status over the date, time and its serial number
Door=0 indicates closed door and Door=1 indicates open door.
In this lesson you learned or repeated:
- how to use a Door sensor
- how to send and receive events over the Internet.