|
Ультрафиолетовый датчик Arduino
с использованием VEML6075
В этом руководстве по УФ-датчику Arduino мы покажем вам, как подключить дешевый УФ-датчик VEML6075 к Arduino Uno. Помимо того, что мы покажем вам, как подключить УФ-датчик к Arduino Uno, мы также покажем вам, как использовать библиотеку Adafruit VEML6075 для взаимодействия с УФ-датчиком и расчета УФ-индекса света, который в настоящее время обнаруживается.
VEML6075 - это недорогой УФ-датчик с низким энергопотреблением, предназначенный для считывания в диапазонах как UVA, так и UVB. Датчик имеет встроенные калибровочные регистры, позволяющие легко преобразовать показания UVA / UVB в УФ-индекс. Этот датчик отлично подходит для проектов Arduino , которые рассчитаны на воздействие УФ-излучения. Итак, в основном это проекты на открытом воздухе, такие как метеостанции или простое устройство, предупреждающее вас о текущем УФ-индексе. К счастью, подключение УФ-датчика VEML6075 представляет собой простой процесс, поскольку он использует последовательный интерфейс для взаимодействия с устройством. Нам нужно будет подключить к Arduino до четырех проводов.
Ниже приведены некоторые письменные инструкции о том, как подключить УФ-датчик к Arduino. Мы также включили схему, на которой показано подключение УФ-датчика VEML6075 к Arduino Uno.
Подключите контакт VIN УФ-датчика к разъему ( 3v3 ) на Arduino.
Подключите контакт GND УФ-датчика к ( GND ) на Arduino.
Подключите вывод SDA УФ-датчика к ( SDA ) на Arduino.
Подключите контакт SCL УФ-датчика к ( SCL ) на Arduino.
Импорт библиотек УФ-датчиков VEML6075
Взаимодействие с УФ-датчиком VEML6075 через Arduino Uno - простой процесс, поскольку мы можем полагаться на библиотеку Adafruit VEML6075 для взаимодействия с УФ-датчиком.
Библиотека Adafruit VEML6075 предназначена для работы с УФ-датчиком через интерфейс I2C Arduino.
1.Откройте меню библиотеки в среде Arduino IDE, выбрав Sketch ( 1. ) -> Include Library ( 2. ) -> Manage Libraries ( 3. )
2.В этом окне найдите « Adafruit VEML6075 » ( 1. ) и найдите « Adafruit VELM6075 Library by Adafruit » ( 2. ). Установите последнюю доступную версию библиотеки, нажав кнопку « Установить » ( 3. ), как показано ниже.
Кодировка УФ-датчика VEML6075
1. Откройте интерфейс IDE Arduino и начните вводить следующие строки кода.
В следующем разделе мы объясним каждую строку кода, чтобы вы поняли, как все работает.
#include <Wire.h>
#include "Adafruit_VEML6075.h"
В начале скрипта мы включаем файлы заголовков для библиотек, на которые мы будем полагаться при взаимодействии с УФ-датчиком VEML6075.
Библиотека Wire - самая важная библиотека, которую нам нужно импортировать. Эта библиотека предоставляет функциональные возможности для общения и взаимодействия с датчиками по последовательному протоколу I2C.
Библиотека Adafruit_VEML6075 используется для взаимодействия с самим УФ-датчиком VEML6075. Эта библиотека выполняет всю тяжелую работу по взаимодействию с датчиками и интерпретации данных, которые она сообщает.
Мы будем использовать функции библиотеки для расчета текущего УФ-индекса, который обнаруживает датчик.
Adafruit_VEML6075 uv = Adafruit_VEML6075();
Теперь мы создаем экземпляр библиотеки « Adafruit_VEML6075 » для нашей переменной « uv ». Мы будем использовать этот объект для взаимодействия и считывания данных с УФ-датчика.
void setup() {
Serial.begin(9600);
Serial.println("VEML6075 Test");
if (! uv.begin()) {
Serial.println("Failed to communicate with VEML6075 sensor.");
}
Serial.println("Found the VEML6075 sensor");
}
Функция « setup () » запускается Arduino при включении, мы используем эту функцию для инициализации всего, что нам нужно для нашего основного цикла.
Чтобы начать настройку, мы запускаем последовательное соединение , запустив функцию « Serial.begin () » со скоростью 9600 бод .
Мы немедленно используем это последовательное соединение, чтобы распечатать текст, чтобы сообщить нам, что программа запущена.
После этого мы используем функцию « begin () » объектов « uv », чтобы заставить ее инициировать последовательное соединение с УФ-датчиком VEML6075. Это позволит нам считывать данные УФ, возвращаемые датчиком в нашем цикле.
Если функция « uv.begin () » возвращает false, мы затем печатаем сообщение, используя последовательное соединение Arduino, чтобы предупредить пользователя о наличии проблемы. В противном случае печатаем сообщение о том, что датчик нашли.
void loop() {
Serial.print("UV Index reading: "); Serial.println(uv.readUVI());
delay(1000);
}
Функция « loop () » запускается после того, как функция « setup () » завершила срабатывание. Цикл поддерживается до тех пор, пока Arduino запитан или что-то вызывает его сбой.
Первое, что мы делаем в этом цикле, - это распечатываем УФ-индекс, рассчитанный библиотекой Adafruit VEML6075 UV Sensor. Мы делаем это, запустив « уф » «объекта ) readUVI ( » функции.
Эта функция « readUVI () » вычисляет УФ-индекс путем считывания UVA ( длинноволнового луча ) и UVB ( коротковолнового луча ) с УФ-датчика и использует эти значения для вычисления индекса.
Вы можете считывать значения UVA и UVB по отдельности, используя функции « readUVA () » и « readUVB () » соответственно.
В конце цикла мы переводим скрипт в спящий режим на 1 секунду ( 1000 мс) с помощью функции « delay () ».
2.После ввода кода он должен выглядеть так, как показано в поле кода ниже. Вы также можете найти пример кода, на на Github Adafruit.
#include <Wire.h>
#include "Adafruit_VEML6075.h"
Adafruit_VEML6075 uv = Adafruit_VEML6075();
void setup() {
Serial.begin(9600);
Serial.println("VEML6075 Test");
if (! uv.begin()) {
Serial.println("Failed to communicate with VEML6075 sensor.");
}
Serial.println("Found the VEML6075 sensor");
}
void loop() {
Serial.print("UV Index reading: "); Serial.println(uv.readUVI());
delay(1000);
}
Тестирование УФ-датчика Arduino
1.Чтобы загрузить код УФ-датчика Arduino на ваш Arduino, нажмите кнопку « Подтвердить » ( 1. ), а затем нажмите кнопку « Загрузить » ( 2. )
Если вы столкнетесь с какими-либо проблемами, проверьте код, чтобы убедиться, что все правильно.
Чтобы убедиться, что ваше устройство Arduino подключено к вашему ПК, найдите и выберите его в Инструменты -> Порт:
2. Теперь, когда Arduino считывает данные с УФ-датчика VEML6075, мы можем загрузить последовательный монитор Arduino IDE.
Вы можете открыть программное обеспечение монитора последовательного порта Arduino, щелкнув « Инструменты » ( 1. ), затем щелкнув « Монитор последовательного порта » ( 2. )
3. После запуска последовательного монитора вы должны начать видеть данные, считываемые вашим Arduino и выводимые через последовательное соединение.
Как и в нашей версии этого руководства для Raspberry Pi, мы использовали ультрафиолетовый свет для обработки результатов. Ультрафиолетовый свет был необходим, так как мы находимся внутри, а обычный свет дает очень слабые результаты, иногда даже отрицательные.
Выйдя на улицу, вы получите те же значения, что и на сайтах погоды. Если вы обнаружите, что ваши значения сильно отличаются, вам нужно будет проверить проводку вашего датчика.