• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

 

Ультрафиолетовый датчик 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, мы использовали ультрафиолетовый свет для обработки результатов. Ультрафиолетовый свет был необходим, так как мы находимся внутри, а обычный свет дает очень слабые результаты, иногда даже отрицательные.

Выйдя на улицу, вы получите те же значения, что и на сайтах погоды. Если вы обнаружите, что ваши значения сильно отличаются, вам нужно будет проверить проводку вашего датчика.

 




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 373



          

Радио для всех© 2024