Chatea con nosotros si tienes alguna pregunta.
Módulo sensor APDS-9030 de actividad
Módulo sensor APDS-9030 de actividad
Módulo sensor APDS-9030 de actividad
Módulo sensor APDS-9030 de actividad
Módulo sensor APDS-9030 de actividad
Módulo sensor APDS-9030 de actividad

Módulo sensor APDS-9030 de actividad

KS0267

Nuevo

Módulo sensor APDS-9030 de actividad y proximidad. Marca Keyestudio.

DISPONIBLE PARA ENTREGA INMEDIATA.
21.000 $
Cantidad

Comprar por WhatsApp

DESCRIPCIÓN

El módulo sensor de actitud Keyestudio APDS-9930 utiliza principalmente el chip APDS-9930, el cual en un solo paquete de 8 pines puede proporcionar funciones de sensor de luz ambiental compatible con la interfaz I2C y un sensor de proximidad LED infrarrojo. El sensor de luz ambiental usa un diodo de luz doble para aproximarse a la respuesta visual de la luz baja humana bajo 0.01 lux de iluminación, y su alta sensibilidad permite que el dispositivo funcione en la parte posterior del vidrio oscuro.

El sensor de proximidad que está completamente ajustado puede detectar objetos de 100 mm y exime los requisitos de calibración de fábrica del equipo terminal así como de los subcomponentes. Desde la luz del sol hasta la habitación oscura, la función de detección de proximidad del sensor de proximidad puede funcionar bien. Este módulo de lente micro óptica añadida puede proporcionar transmisión y recepción de energía de infrarrojos eficientes, lo que puede reducir el consumo total de energía. Además, su máquina de estado interna puede hacer que el dispositivo entre en un modo de baja potencia, lo que genera un consumo de energía promedio muy bajo.

pulgar

canal

CARACTERÍSTICAS

  • Módulo óptico integrado con ALS, LED infrarrojo y detector de proximidad;
  • Sensor de luz ambiental, similar a la respuesta visual del ojo humano;  
  • Función de interrupción programable con umbrales superior e inferior;
  • Resolución de hasta 16 bits;
  • Alta sensibilidad de operación en la parte posterior del vidrio oscuro;
  • 0.01lux bajo rendimiento del lumen;
  • Detección de proximidad, totalmente calibrada para detección de 100 mm;
  • Integrar LED infrarrojo y controlador LED síncrono;
  • Eliminar la calibración de fábrica para sensores de proximidad;
  • Temporizador de espera programable, consumo de energía del estado de espera: 90 μA (valor típico);
  • El rango programable es de 2.7 milisegundos a 8 segundos;
  • Compatible con la interfaz I2C, hasta 400kHz (modo rápido I2C);
  • Pin de interrupción dedicado;
  • Potencia del modo de reposo - 2.2μA (valor típico).

DETALLES TÉCNICOS

  • Voltaje de trabajo: DC 3.3-3.8V 
  • Corriente de salida: 0-20mA 
  • Rango de temperatura: -40 ℃ -85 ℃


CONEXIONES DEL MÓDULO 

IMPORTANTE: ¡El APDS-9960 solo puede aceptar 3.3V!

Pines de funcionamiento del Módulo sensor de actividad con APDS-9960

  • Pin 1: 3.3V - VCC - Power 
  • Pin 2: GND - GND - Tierra 
  • Pin 3: A4 - SDA - I2C Datos 
  • Pin 4: A5 - SCL - I2C Reloj 
  • Pin 5: 2 - INT - Interrupción 
  • Pin 6: 13 - - - LED

VISTA DE ENSAMBLE

pulgar

CÓDIGO DE PRUEBA

#include <Wire.h>
#include <SparkFun_APDS9960.h>

// Pins
#define APDS9960_INT 2 // Necesita ser un pin de interrupción
#define LED_PIN 13 // LED para mostrar la interrupción

// Constantes
#define LIGHT_INT_HIGH 1000 // Alto nivel de luz para la interrupción
#define LIGHT_INT_LOW 10 // Nivel de luz baja para interrupción

// Variables globales
SparkFun_APDS9960 apds = SparkFun_APDS9960 ();
uint16_t ambient_light = 0;
uint16_t red_light = 0;
uint16_t green_light = 0;
uint16_t blue_light = 0;
int isr_flag = 0;
uint16_t umbral = 0;

void setup () { 
  // Establecer el LED como salida
  pinMode (LED_PIN, SALIDA);
  pinMode (APDS9960_INT, INPUT);
  // Inicializar el puerto serie
  Serial.begin (9600);
  Serial.println ();
  Serial.println (F ("-------------------------------------"));
  Serial.println (F ("SparkFun APDS-9960 - Interrupciones de luz"));
  Serial.println (F ("-------------------------------------"));
  // Inicia la rutina del servicio de interrupción
  attachInterrupt (0, interruptRoutine, FALLING);
  // Inicializar APDS-9960 (configurar I2C y valores iniciales)
  if (apds.init ()) {
    Serial.println (F ("inicialización APDS-9960 completa"));
  } else {
    Serial.println (F ("Algo salió mal durante APDS-9960 init!"));
  }
  // Establecer umbrales de interrupción altos y bajos
  if (! apds.setLightIntLowThreshold (LIGHT_INT_LOW)) {
    Serial.println (F ("Error al escribir bajo umbral"));
  }
  if (! apds.setLightIntHighThreshold (LIGHT_INT_HIGH)) {
    Serial.println (F ("Error al escribir alto umbral"));
  }
  // Comience a ejecutar el sensor de luz APDS-9960 (sin interrupciones)
  if (apds.enableLightSensor (false)) {
    Serial.println (F ("Sensor de luz se está ejecutando ahora"));
  } else {
    Serial.println (F ("¡Algo salió mal durante el inicio del sensor de luz!"));
  }
  // Leer umbrales de interrupción altos y bajos
  if (! apds.getLightIntLowThreshold (threshold)) {
    Serial.println (F ("Error al leer el umbral bajo"));
  } else {
    Serial.print (F ("Low Threshold:"));
    Serial.println (umbral);
  }
  if (! apds.getLightIntHighThreshold (threshold)) {
    Serial.println (F ("Error al leer el umbral alto"));
  } else {
    Serial.print (F ("High Threshold:"));
    Serial.println (umbral);
  }
  // Habilita las interrupciones
  if (! apds.setAmbientLightIntEnable (1)) {
    Serial.println (F ("Error al habilitar interrupciones"));
  }
  // Espere a que finalice la inicialización y la calibración
  retraso (500);
}
void loop () { 
  // Si ocurre una interrupción, imprima los niveles de luz
  if (isr_flag == 1) {
    
    // Leer los niveles de luz (ambiente, rojo, verde, azul) e imprimir
    if (! apds.readAmbientLight (luz_de_ambiente) ||
          ! apds.readRedLight (red_light) ||
          ! apds.readGreenLight (green_light) ||
          ! apds.readBlueLight (blue_light)) {
      Serial.println ("Error al leer los valores de luz");
    } else {
      Serial.print ("Interrupt! Ambiente:");
      Serial.print (ambient_light);
      Serial.print ("R:");
      Serial.print (red_light);
      Serial.print ("G:");
      Serial.print (green_light);
      Serial.print ("B:");
      Serial.println (blue_light);
    }  
    // Enciende el LED por medio segundo
    digitalWrite (LED_PIN, ALTO);
    retraso (500);
    digitalWrite (LED_PIN, BAJO);
    
    // Restablecer indicador y borrar interrupción APDS-9960 (¡IMPORTANTE!)
    isr_flag = 0;
    if (! apds.clearAmbientLightInt ()) {
      Serial.println ("Error al borrar la interrupción");
    }  
  }
}
void interruptRoutine () {
  isr_flag = 1;
}

RESULTADO DE LA PRUEBA

Cableado como el diagrama anterior y grabación del código, después de encenderlo, abra el monitor serie, como se muestra en el gráfico a continuación.


pulgar


KS0267

Referencias específicas

Novedad.....

productos relacionados

16 otros productos en la misma categoría:

    

Boletín

Ingrese su correo