Arduino Uno – это мощная и универсальная платформа для создания прототипов электронных устройств. Одним из распространенных датчиков, который часто используется с Arduino для измерения уровня освещенности, является GY-2561. В этой статье мы рассмотрим, как подключить и использовать цифровой датчик освещенности GY-2561 с Arduino Uno.
Модуль GY-2561 представляет собой цифровой датчик освещенности, основанный на технологии Silicon Labs. Он обеспечивает точные измерения освещенности в широком диапазоне. Основные характеристики GY-2561 включают:
- Диапазон измерений: от 0.1 до 40000 люкс
- Цифровой выход с разрешением 16 бит
- Интерфейс I2C для передачи данных
- Низкое энергопотребление
- Встроенный фильтр для улучшения стабильности измерений
Arduino Uno – это одна из самых популярных моделей микроконтроллера в семействе Arduino. Она оснащена микроконтроллером ATmega328P, имеет 14 цифровых входов/выходов, 6 аналоговых входов, UART, I2C, SPI и другие интерфейсы. Основные характеристики Arduino Uno:
- Микроконтроллер ATmega328P
- Рабочее напряжение 5 В
- Частота процессора 16 МГц
- 32 КБ флэш-памяти, 2 КБ ОЗУ
- USB-интерфейс для программирования и питания
Схема подключения
Подключение модуля GY-2561 к Arduino Uno довольно просто и осуществляется по интерфейсу I2C.
Таблица распиновки
GY-2561 | Arduino Uno |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
- VCC (GY-2561) к 5V (Arduino Uno): Подключите питание модуля к 5V на Arduino Uno.
- GND (GY-2561) к GND (Arduino Uno): Подключите землю модуля к земле на Arduino Uno.
- SDA (GY-2561) к A4 (Arduino Uno): Подключите линию данных (SDA) к соответствующему пину на Arduino Uno.
- SCL (GY-2561) к A5 (Arduino Uno): Подключите линию тактового сигнала (SCL) к соответствующему пину на Arduino Uno.
Библиотеки
Для работы с GY-2561 в среде Arduino IDE может потребоваться библиотека Wire.h. Она включена в стандартную поставку Arduino IDE, и дополнительных шагов по установке не требуется.
Пример кода
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <Wire.h> #define GY2561_ADDRESS 0x23 // Адрес датчика на шине I2C void setup() { Serial.begin(9600); // Инициализация Serial Wire.begin(); // Инициализация шины I2C } void loop() { unsigned int data = 0; Wire.beginTransmission(GY2561_ADDRESS); // Начало передачи данных по шине I2C Wire.write(0x10); // Регистр для начала измерения Wire.endTransmission(); // Завершение передачи delay(120); // Задержка для завершения измерения Wire.requestFrom(GY2561_ADDRESS, 2); // Запрос данных от датчика (2 байта) if (Wire.available() == 2) { data = Wire.read() << 8 | Wire.read(); // Считывание данных Serial.print("Освещенность: "); Serial.print(data); Serial.println(" лк"); } delay(1000); // Задержка между измерениями } |
В этой статье мы рассмотрели процесс подключения цифрового датчика освещенности GY-2561 к Arduino Uno. Модуль GY-2561 обеспечивает высокоточные измерения освещенности, а совместное использование с Arduino Uno делает его легким в использовании в различных проектах. Надеемся, что данное руководство поможет вам успешно интегрировать этот датчик в ваши электронные проекты.