Raspberry Pi kontaktron czujnik otwarcia okien i drzwi + układ MCP23017

kontaktron_1

Budując inteligenty dom, nie można pominąć kwestii bezpieczeństwa. Informację o otwartych oknach i drzwiach dostarczyć nam mogą różnego rodzaju kontaktrony. W tym przykładzie użyto najprostszego kosztującego niecałe 7 zł kontaktronu dedykowanego do drzwi .

Podłączenie bezpośrednie kontaktronu do Rpi

Połączenie to jest niezwykle proste.

  • krótszy przewód wpinamy do GND RPi – niebieska zworka na zdjęciu -> linia GND
  • dłuższy np. do PIN 16 (GPIO 23) – zielona zworka na zdjęciu

 

Dzięki możliwości tworzenia przez RPi wewnętrznych rezystorów pull-up nie musimy dodawać dodatkowego rezystora.  Oddalenie magnesów kontaktrona na więcej niż 2,5 cm powoduje powstanie stanu niskiego. Połączenie styków czyli np. zamknięcie drzwi powoduje znowu powstanie stanu wysokiego.

W poniższym skrypcie ustawiono pin 23 do którego podłączony jest drugi przewód kontaktronu w tryb Pull-Up (rezystor podciągający).

kontaktron_3

Podłączenie kontaktronu do układu MCP23017

  • układ MCP23017 ma wewnętrzne rezystory Pull-Up.Nie posiada rezystorów Pull-Down. W przypadku podłączenia do szyny I2C zaleca się jednak używania zewnętrznych rezystorów Pull-Up.
  • należy pamiętać, że mniejsze rezystory szybciej działają jako Pull-Up ale istnieje niebezpieczeństwo uszkodzenia pinu lub całego układu MCP23017 . Dla napięcia 5V odpowiedni będzie w tym przypadku rezystor 10k ohm dla 3,3V 4,7k Ohm (przy długości kabli +/- 20 cm). Rezystor podciągający używamy aby jednoznacznie określić stan na danym pinie: wysoki/niski.
  • krótszy kabel (-) do GND płytki
  • dłuższy kabel (+) poprzez rezystor 4,7k Ohm do pinu
  • dioda LED czerwona (+) poprzez rezystor (tutaj 75 Ohm) do GPA3 (pin 68) MCP23017
  • dioda LED czerwona (-) do GND płytki
  • kontaktron krótszy przewód do GND
  • kontaktron dłuższy przewód poprzez rezystor 4,7k Ohm do GPA1 (pin 66) MCP23017

kontaktron_4

W poniższym skrypcie stan niski czyli otwarcie drzwi powoduje zapalenie diody podłączonej również do układu MCP23017.

Warto zobaczyć

https://learn.adafruit.com/adafruits-raspberry-pi-lesson-12-sensing-movement/hardware
http://rocode.com/sensors/
https://learn.sparkfun.com/tutorials/pull-up-resistors/what-is-a-pull-up-resistor

Kontaktron do kupienia w:

http://botland.com.pl/czujniki-magnetyczne/3104-czujnik-otwarcia-drzwiokien-kontaktron.html