Kuidas tuvastada žeste Arduino ja APDS-9960 anduriga

  • APDS-9960 tuvastab žestid, läheduse, värvid ja ümbritseva valguse.
  • See suhtleb I2C siini kaudu ja töötab 3.3 V pingega.
  • Seda on lihtne ühendada ja programmeerida sellistel platvormidel nagu Arduino.
  • On Adafruiti teeke, mis hõlbustavad selle integreerimist ja kasutamist.

apds-9960

Andur APDS-9960, väike insenerikunsti pärl, on hämmastav komponent, mis võimaldab tuvastada liigutusi ja lähedust ning mõõta ümbritsevat valgust ja värve. Seda kasutatakse tipptasemel elektroonikaseadmetes, nagu Samsung Galaxy S5, ja see on tänapäeval käeulatuses igale elektroonikahuvilisele, kes töötab selliste platvormidega nagu Arduino. Tänu oma võimele tuvastada žeste vahemikus 5–20 cm ja hõlpsasti integreerida teiste seadmetega, on see ideaalne valik neile, kes soovivad oma projektidesse lisada žestide juhtimise.

Selles artiklis uurime põhjalikult, kuidas see andur töötab ja kuidas seda Arduinoga ühendada, pöörates tähelepanu selle paljudele kasutusvõimalustele ja pakkudes koodinäiteid, mis võimaldavad teil sellega kiiresti töötada.

Mis on APDS-9960 andur?

El APDS-9960 See on andur, mis ühendab endas neli peamist funktsiooni: liigutuste tuvastamine, lähedus, värv ja ümbritsev valgus. See on seade, mis edastab oma näidud I2C sideprotokolli abil, mis hõlbustab oluliselt selle kasutamist mikrokontrolleritega nagu Arduino. Selle vooruste hulgas paistab silma selle võime mõõta värve ja ümbritsevat valgust ning tuvastada žeste ilma kontaktita, tuvastades liigutusi, nagu vasakule, paremale, üles, alla, lähedal ja kaugel.

See andur töötab tänu integratsioonile a infrapuna kiirgaja ja neli suunatavad fotodioodid, mis võimaldavad tuvastada ja arvutada läheduses asuvate objektide liikumissuunda. Lisaks on sellel võimalus mõõta ümbritseva valguse hulka ja tuvastada RGB värvi.

APDS-9960 anduri ühendamine Arduinoga

apds9960

Ühendamiseks APDS-9960 Arduinoga peate lihtsalt looma side bussi kaudu I2C. See andur töötab pingel 3.3 V, seega on ülioluline teha sobivad ühendused, et vältida selle kahjustamist, eriti kui töötate 5V Arduino. Sel juhul on soovitav kasutada a loogikataseme adapter I2C siini pinge alandamiseks.

Pins ühendamiseks:
  • GND Arduino GND tihvti.
  • VDC Arduino 3.3 V viigu külge.
  • SDA Arduino SDA tihvti.
  • SCL Arduino SCL-tihvtile.

Kui teie Arduino mudel on 5 V, tuleb ilmselgelt rakendada täiendavaid ettevaatusabinõusid, kuigi mõnel juhul on teatatud, et andur võib töötada ilma kahjustamata. See pole aga pikas perspektiivis täiesti kindel.

Arduino raamatukogud ja kood

APDS-9960 kasutamiseks koos Arduinoga on üks lihtsamaid viise kasutada poolt välja töötatud raamatukogu Adafruit, mis lihtsustab selle kasutamist. Saate selle alla laadida aadressilt GitHub ja installige see otse Arduino arenduskeskkonda.

Põhinäide: kuvage žeste jadapordi kaudu

Selles esimeses näites loetakse tuvastatud žeste ja kuvatakse need jadapordi kaudu. Liigutuste tuvastamiseks viige lihtsalt käsi üle anduri 5–20 cm kaugusel:

#include "Adafruit_APDS9960.h"

Adafruit_APDS9960 apds;

void setup() {
  Serial.begin(115200);
  if (!apds.begin()) {
    Serial.println("Error al inicializar el sensor, comprueba el cableado");
    while (1);
  }
  apds.enableGesture(true);
}

void loop() {
  uint8_t gesture = apds.readGesture();
  if (gesture == APDS9960_DOWN) Serial.println("Abajo");
  if (gesture == APDS9960_UP) Serial.println("Arriba");
  if (gesture == APDS9960_LEFT) Serial.println("Izquierda");
  if (gesture == APDS9960_RIGHT) Serial.println("Derecha");
}

See kood on vaid näide sellest, mida saate teha žestianduriga nagu APDS-9960. Kui annate käe üle seadme, tuvastab programm žesti ja kuvab tulemuse jadapordi konsoolil.

Täpsem näide: LED-märgutuli vilgub liigutuse alusel

Selle teise näite puhul ühendame tuvastatud žestid LED integreeritud tahvlisse. Olenevalt tuvastatud žestist vilgutame LED-i teatud arv kordi:

#include "Adafruit_APDS9960.h"

Adafruit_APDS9960 apds;

void setup() {
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  if (!apds.begin()) {
    Serial.println("Error al inicializar el sensor");
    while (1);
  }
  apds.enableGesture(true);
}

void loop() {
  uint8_t gesture = apds.readGesture();
  if (gesture == APDS9960_DOWN) blink(1);
  if (gesture == APDS9960_UP) blink(2);
  if (gesture == APDS9960_LEFT) blink(3);
  if (gesture == APDS9960_RIGHT) blink(4);
}

void blink(int times) {
  for (int i = 0; i < times; i++) {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(100);
    digitalWrite(LED_BUILTIN, LOW);
    delay(100);
  }
}

Levinud probleemid ja lahendused

Kuigi APDS-9960 Tegemist on üsna jõulise anduriga, tõsi, valgus- või häiretega keskkondades võivad näidud ebaõnnestuda. Lisaks ei pruugi see mitteideaalsetes tingimustes kasutamisel liikumist tuvastada või isegi valepositiivseid tulemusi anda.

Veel üks aspekt, mida meeles pidada, on see, et see andur sõltub suuresti õigest ümbritsevast valgustusest ja kuigi see on väga tundlik, ei pruugi see hästi töötada objektidega, näiteks läikivate pindade või kinnastega, kuna need ei pruugi valgust õigesti peegeldada. kiirgab infrapuna valgust.

Selle seadme kasutatav I2C-protokoll on üsna lihtne, kuid siiski on oluline jälgida, et ühendused oleksid õiged ja pingega ei tekiks probleeme.

APDS-9960 andur on suurepärane tööriist projektide jaoks, mis soovivad integreerida žesti ja läheduse tuvastamise. See on ökonoomne, I2C kaudu hõlpsasti integreeritav ja sellel on teegid, mis lihtsustavad selle kasutamist. Kuigi see võib mõnes keskkonnas probleeme tekitada, muudab selle reguleeritav tundlikkus ja võimalus töötada klaasi taga mitmekülgseks valikuks. Esitatud koodinäidete abil saate selle anduriga töötada ja avastada oma projektides selle kogu potentsiaali.


Ole esimene kommentaar

Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.