Az APDS-9960 egy kombinált érzékelő modul, közelítés érzékelő, szín érzékelő (RGB értékekkel megadja, milyen színű tárgyat tartasz elé) és irány érzékelő (érzékeli, merre haladt el előtte valami). Tesztelés céljából valamikor régebben vettem egy darabot, így fiókban leledzett egy darabig. Adafruit valamint Sparkfun és kínai gyártók is gyártják a modult. A lenti képen egy kínai darab van. Ezek a kínai darabok gyengébb minőségűek, gesztus érzékelő funkciójuk sokat téveszt. Közelítés érzékelésre megfelel.
Ezt használtam én is, ugyanis a fürdőszoba ajtóm sínen elcsúsztatható és rendszerint mögé került a kapcsoló.
A modult illeszteni kell az 5V Arduino Uno-hoz. Azt a hibát tapasztaltam, hogy a Sparkfun által írt könyvtár gesztus funkciója nem működik ezzel a kínai verzióval (fórumokban is jelzik) . Adafruit viszont igen, de elég sokat téveszt. Szín és közelítési funkció működik mindkét könyvtár esetében. Ennek ellenére Sparkfun-t használtam és közelítési funkciót. Csak teszteléskor használtam Arduino Uno-t, az áramkör már Arduino Pro Minivel készült a méret miatt, valamint azt a típust választottam ami 3,3V-on működik, így elhagyható a szintillesztés.
Modul lábkiosztása:
- VL – szenzor infra LED tápellátás 3.3V (össze van kötve VCC lábbal PS jumperen keresztül )
- GND – test
- VCC – 3,3V
- SDA – adat
- SCL – órajel
- INT – megszakítás
A modul I2C buszon kommunikál az Arduino Uno-val.
Áramkör:
Nem vittem túlzásba a kódolást (a példaprogramot módosítottam egy kicsit) Az egész áramkör egy relét kapcsol ki-be amikor el van takarva a szenzor. Tehát ha az ajtó eltakarja a szenzort, bekapcsolja a relét, ha újra eltakarja, kikapcsolja. Az áramkör csak változásra reagál.
Szkript:
A szkript használatához szükséges a következő könyvtár telepítése Arduinoba:
https://github.com/sparkfun/APDS-9960_RGB_and_Gesture_Sensor
Szkript és alkatrészlista itt letölthető.
Eredmény: