Alarm­an­la­ge mit einem Gesten-Sensor

Lese­zeit: 3 Minu­ten
Navi­ga­ti­on

Der APDS-9960 ana­ly­siert mit Hil­fe einer Infrarot-LED Bewe­gun­gen in sei­nem Sicht­be­reich. Dabei kann er vier Rich­tun­gen (links, rechts, nach vorn, nach hin­ten) unter­schei­den, die Hand­be­we­gun­gen vom Sen­sor weg und zum Sen­sor hin erken­nen und die Far­ben Rot, Grün und Blau „sehen“.
Er wird über ➨I2C angesteuert.

Benö­tig­te Bauteile:

  • LED
  • APDS-9960
  • Wider­stand > 100 Ω 
  • Laut­spre­cher
  • Lei­tungs­dräh­te

Baue die Schal­tung auf.
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Der Sen­sor muss zwin­gend an 3,3 V ange­schlos­sen wer­den.
Ach­te auf die Anord­nung der Pins, die sich je nach Modell unter­schei­den können.

Benö­tig­te Biblio­thek:
Sketch → Biblio­thek ein­bin­den → Biblio­the­ken verwalten

# include <Arduino_APDS9960.h>

int LED = 7;

// LED beim Start aus
bool Status = false;

int LAUTSPRECHER = 6;

Der setup-Teil:

void setup()
{
  pinMode(LED, OUTPUT);
  Serial.begin(9600);

  // APDS.begin() -> Sensor starten
  if (!APDS.begin())
  {
    Serial.println("Sensor nicht entdeckt, bitte Kabel testen!");
  }

  else Serial.println("Initialisierung erfolgreich!");
}

Der loop-Teil:

void loop()
{
  // Entfernung des Objektes lesen
  if (APDS.proximityAvailable())
  {
    int Naehe = APDS.readProximity();  

    // zu Kontrollzwecken Variable Naehe anzeigen
    // Serial.println(Naehe);

    /*
      maximaler Abstand: 255
      250 ca. 15 cm
      100 ca. 7 cm
      50  ca. 5 cm
      minimaler Abstand: 0
    */
    if (Naehe < 100) LEDSchalten(true);
    else LEDSchalten(false);
  }
}

Jetzt fehlt nur noch die Metho­de LED­Schal­ten(). Ihr wird als Para­me­ter true oder fal­se über­ge­ben. Alle LEDs wer­den ent­we­der ein­ge­schal­tet (true) oder aus­ge­schal­tet (fal­se).

void LEDSchalten(bool Status)
{
  digitalWrite(LED, Status);
  if (Status) tone(LAUTSPRECHER, 1000);
  else noTone(LAUTSPRECHER);
}


Ver­wand­te Aufgaben:


Letzte Aktualisierung: 26. Nov 2020 @ 7:46