Arduino AP3216
тел. +7(499)347-04-82
Описание Arduino AP3216
Вот подробное описание модуля AP3216 (датчик освещенности (ALS) + приближения (PS) + инфракрасный светодиод) и его совместимость с Arduino.
1. Общее описание
AP3216 — это комбинированный оптический датчик в одном корпусе (6-pin OPN или 8-pin OPLGA), выпускаемый компанией EM Microelectronic (по некоторым данным — также производство интегральными схемами других ODM, но официальный мануал обычно подписан EMU). Датчик объединяет в себе:
- Ambient Light Sensor (ALS) — датчик внешнего освещения (от 1 до ~65535 люкс);
- Proximity Sensor (PS) — датчик приближения (до ~1–10 см, с помощью ИК-светодиода);
- Infrared LED (IR LED) — встроенный инфракрасный излучатель.
Модуль поддерживает интерфейс I²C и может быть интегрирован в проекты на Arduino (все модели: Uno, Nano, Mega, ESP8266, ESP32 и т.п.).
2. Технические характеристики
| Параметр | Значение |
|----------|----------|
| Напряжение питания | 2.5V – 3.6V (логические уровни 1.8V–3.6V) |
| Ток покоя | < 50 µA (в режиме ALS, без PS) |
| Рабочий ток с ALS+PS | около 400 µA (средний) |
| Дальность определения (PS) | 1–10 мм (зависит от рефлективности объекта, подходит для бесконтактного переключения) |
| Разрешение ALS | до 1 люкс |
| Максимальное значение ALS | 65535 люкс (16 бит) |
| Дистанция обнаружения IR | До 10 см (тип.) |
| Интерфейс | I²C (адрес 0x1E или 0x1C по умолчанию) |
| Частота тактирования I²C | до 400 кГц |
| ИК-светодиод (встроенный) | Длина волны 940 нм |
| Температура эксплуатации | -40°C ÷ +85°C |
| Корпус | 6-pin OPN или 8-pin OPLGA |
| Габариты модуля (ADCMP – APDS-3216) | 6.5×2×1.2 мм (разные выводы) |
Примечание. На рынке существуют альтернативные обозначения:
AP3216C,AP3216K,APDS‑9260, но AP3216 — это конкретный чип EM.
3. Парт-номера (маркировка модуля/чина)
| Производитель | Номенклатура |
|---------------|--------------|
| EM Microelectronic | AP3216C (наиболее распространён в Китае, дешёвый модуль для Arduino) |
| OSRAM (не путать) | Отличается — их AP3216 это модуль RGB-пиксельный, не путать! |
| На печатной плате | Часто всего четыре и более символа — 3216, полное обозначение редко наносят |
| Редко (но есть) — Aldafruit/Aliexpress | Лот подписан GY-AP3216 (полноценный модуль)
| Артикул готового модуля для Arduino | Описание |
|--------------------------------------|----------|
| MOD-AP3216 (личная распайка) | Распространён на AliExpress/Ozobot как готовый датчик с пайкой под макетку |
| GY-3216 | Типовая китайская версия на одном чипе (без кварца/регулятора) |
На заметку: AP3216 не следует путать с модулем ADPS-9960 (более поздний от Broadcom, поддерживает тоже ALS+PS+gesture+RGB). Совместимости библиотек между ними нет.
4. Подключение и совместимые Arduino-платформы
| Плата | Количество шин I²C | Примечание | |-------|---------------------|------------| | Arduino Uno / Nano | 1 | Адрес 0x1С — по умолчанию AP3216 отвечает только на адрес 0x1E (см. даташит, версия C). При использовании модуля 0x1E – не конфликтует с SDL/SDA и A4/A5. | | Arduino Mega 2560 | 2 | Адресации переключать не нужно. | | Arduino Due (3.3V) | direct compatible – модуль работает на 3.3V – идеально подходит | | ESP8266 (NodeMCU, Wemos D1) | Адрес 0x1E/0x1C | Работает при напряжении 3.3V – модуль питается без внешнего конвертера | | ESP32 | Любая прошивка (I²C + 3.3V) | Библиотеки пробуйте здесь: AP3216_TFU (порт под Arduinolibrary — Wire based)| | STM32 | 3V-анплитуды / поддержка адреса для 1E | Использование через рабочую шину без уровней |
⚠ Требуется питание 3.3 В — многие 5Vптные выводы микроконтроллера (Avr c питанием 5 В) недопустимы -> используйте конвертер уровней или прыгающие перемычки (ток очень мал).
5. Arduino среда и библиотеки
Основные библиотеки — редко стандарт, поиск в GitHub vs Arduino IDE:
Установить: (рекомендуемая стабильная):
- Имя:
AP3216by LaskaKit/TechiePete. - Установка: Arduino → Sketch → Include Library → Manage Libraries...→ search → "AP3216"
- Альтернатива — ручной Github: Adafruit не выпускала (вам придётся читать маны; могу дать код если надо).
Схема простого кода (очень упрощённо, принцип):
#include <Wire.h>
#include "AP3216.h"
AP3216 ap3216;
void setup() {
Serial.begin(115200);
Wire.begin();
if (!ap3216.begin()) {
Serial.println("AP3216 not found.");
}
}
void loop() {
int proximity = ap3216.readProximity();
float ambient = ap3216.readAmbientLight();
Serial.print("ALS: "); Serial.println(ambient);
Serial.print("Prox: "); Serial.println(proximity);
delay(500);
}
6. Особенности и ограничения
- AP3216 не поддерживает жесты (Gesture) и цветоизмерения.
- Данные для выделённой коррекции как драйвер освещения — только иррефлективное поле.
- 0 point proximity (нет зависимости при 0 см / за стенкой).
- Исправима масса для диапазона D2D – очень малы поля (для конта выключателя, безконтактной сушки — ок).
Где купить: AliExpress, TÀObǎo, eBay (лучше партия «GravityAP3216», CqL-онлайн, I2C-модуль два штырька 3.3 × GND = OK).
Известен под совместимыми частями (на плате того же поколения): adps-912, LIDAR aton — заплата, от них разница в интерфейсных байтах?
Краткое резюме
Парт-номер → AP3216C/ generic B0816....
Для Arduino → ищи по метке: GY-AP3216-3V3 или именуется как APDS 3216 ali-buy cheap.
Модуль не дорогой (примерно $1.5, на 2025), хорош для экспериментов с ИКприближением/гладким светоcнимателем.
Если нужно — могу скинуть код для прерываний калибровки порога касания (в IDE + чтение Inter) ; Под AI преобразования готов!