• 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

 

УФ-датчик VEML6075 и Raspberry Pi

 

 

Наряду с подключением УФ-датчика к Raspberry Pi мы покажем вам, как вы можете взаимодействовать с датчиком, используя язык программирования Python. Чтобы все это руководство работало, мы будем использовать библиотеку Adafruit VEML6075 . Эта библиотека выполняет большую часть основной работы, выполняя все необходимые вычисления для определения УФ-индекса и считывания значений UVA и UVB с УФ-датчика. УФ-датчик VEML6075 - это двухдиапазонный датчик, который распознает как УФ-А (ультрафиолетовый А / длинноволновый), так и УФ-В (ультрафиолетовый В / коротковолновый) диапазоны. Одна из лучших особенностей этого датчика заключается в том, что он передает свои данные по последовательному протоколу I2C, что упрощает взаимодействие с ним.

Настройка УФ-датчика Raspberry Pi VEML6075

В этом разделе мы покажем вам процесс подключения УФ-датчика VEML6075 к Raspberry Pi. Благодаря тому, что УФ-датчик VEML6075 является цифровым датчиком, мы можем взаимодействовать с ним напрямую с Raspberry Pi и не должны полагаться на дополнительное оборудование, такое как аналого-цифровой преобразователь (АЦП). Следуйте нашему письменному руководству ниже, чтобы узнать все шаги по подключению VEML6075 к Raspberry Pi.

 

УФ-датчик Raspberry Pi

 

Вы можете следовать схемам или использовать наши письменные инструкции, по которым провода VEML6075 идут к контактам Raspberry Pi GPIO .

Подключите контакт VIN УФ-датчика VEML6075 к физическому контакту 1 ( 3v3 ) на Raspberry Pi.

Подключите контакт GND УФ-датчика VEML6075 к физическому контакту 6 ( GND ) на Raspberry Pi.

Подключите контакт SDA УФ-датчика VEML6075 к физическому контакту 3 ( SDA ) на Raspberry Pi.

Подключите контакт SCL УФ-датчика VEML6075 к физическому контакту 5 ( SCL ) на Raspberry Pi.


 

Настройка Raspberry Pi для УФ-датчика VEML6075

1. Прежде чем мы начнем взаимодействовать с УФ-датчиком VEML6075 на Raspberry Pi, мы должны сделать несколько вещей.

Первое, что нам нужно сделать, это убедиться, что наш список пакетов и все установленные пакеты имеют последние доступные версии.

Мы можем проверить и обновить, выполнив следующие команды.

sudo apt-get update

sudo apt-get upgrade

2. Когда ваш Raspberry Pi завершит обновление, вы можете перейти к включению режима I2C для последовательного интерфейса Pi.

Мы можем сделать это, запустив инструмент настройки Raspberry Pi с помощью следующей команды.

sudo raspi-config

3.В этом инструменте выберите вариант « 5 вариантов взаимодействия ». Перемещение по raspi-конфигурации инструментов меню с помощью клавиш со стрелками и ENTER ключ.

4.В меню опций интерфейса выберите опцию « P5 I2C ». Когда вас спросят, хотите ли вы включить интерфейс ARM I2C, выберите « <ДА> ».

5.Включение I2C не вступит в силу, пока вы не перезапустите Raspberry Pi. Вы можете перезагрузить Raspberry Pi, выполнив следующую команду.

sudo reboot

6. Теперь, когда на Raspberry Pi включен протокол I2C, мы можем приступить к установке пакетов, на которые мы будем полагаться. Установите различные пакеты Python, которые нам требуются, выполнив следующую команду.

sudo apt-get install python3-dev python3-pip python3-smbus i2c-tools -y

7.Теперь, когда все необходимые пакеты установлены, мы можем использовать программу « i2cdetect », чтобы проверить, может ли Raspberry Pi обнаружить наш УФ-датчик VEML6075. Мы можем использовать программу i2cdetect, выполнив следующую команду.

sudo i2cdetect -y 1

Эта команда выведет довольно много информации, многие результаты будут отмечены дефисами. В этом результате вы должны увидеть такое число, как « 10 ». Если в результате появляются только дефисы, это означает, что Raspberry Pi не может обнаружить ваш УФ-датчик, проверьте всю проводку, а затем попробуйте повторно выполнить команду. Если вы видите ошибку, попробуйте снова включить I2C.

 Написание сценария для взаимодействия с УФ-датчиком VEML6075

1. Теперь, когда мы должным образом подготовили наш Raspberry Pi для взаимодействия с УФ-датчиком VEML6075, мы можем приступить к сборке всего вместе. Чтобы быстро считывать данные с УФ-датчика VEML6075, мы будем использовать библиотеку Adafruit VEML6076 CircuitPython. Мы можем установить эту библиотеку, выполнив команду ниже.

sudo pip3 install adafruit-circuitpython-VEML6075

2.Теперь, когда у нас установлена ​​библиотека, мы можем приступить к написанию скрипта. Скрипт использует библиотеку для расчета УФ-индекса на основе показаний датчика. Начните писать этот файл, выполнив следующую команду.

nano ~/uvsensor.py

3. В этом новом сценарии УФ-датчика введите следующие строки кода.

import time

import board

import busio

import adafruit_veml6075

В этом разделе мы импортируем все библиотеки, на которые будет опираться наш скрипт ультрафиолетового датчика Raspberry Pi. Мы импортируем библиотеку « time », чтобы мы могли использовать функцию « sleep () », чтобы перевести скрипт в спящий режим на определенное время. Затем мы импортируем библиотеку « board ». Эта библиотека из коллекции Adafruit CircuitPython и используется для легкого получения правильных номеров контактов для текущей платы. Библиотека busio - это еще одна библиотека Adafruit CircuitPython. Эта библиотека используется как стандартный способ обработки последовательных подключений. В этом руководстве мы будем использовать его для настройки соединения I2C, которое мы передадим в библиотеку VEML6075. Наконец, у нас есть библиотека « adafruit_veml6075 ». Эта библиотека используется для считывания всех значений с УФ-датчика и расчета таких значений, как УФ-индекс.

i2c = busio.I2C(board.SCL, board.SDA)

Эта строка создает экземпляр объекта « busio », используя его функцию « I2C () ». Эта функция настраивается для соединения с двумя выводами, через которые мы проходим в нее, это « board.SCL » и « board.SDA ».

veml = adafruit_veml6075.VEML6075(i2c, integration_time=100)

Затем мы создаем экземпляр библиотеки veml6075 для нашего объекта « veml ». В конструктор мы передаем как объект « i2c », который мы установили в предыдущей строке, так и значение для « integration_time ». «Время интеграции » - это время, в течение которого датчик должен проводить сбор образцов. Чем больше время интеграции, тем точнее будут показания датчиков.

while True:

    print(veml.uv_index)

    time.sleep(1)

Теперь мы запускаем бесконечный цикл, используя « while True: ». В этом бесконечном цикле мы распечатываем значение UV-индекса, обращаясь к переменной uv_index объекта veml . Когда мы обращаемся к переменной « uv_index », библиотека VEML6075 принимает показания УФ-датчика и вычисляет УФ-индекс на основе показаний УФ-А и УФ-В от датчика. Наконец, мы засыпаем скрипт на 1 секунду, используя функцию « sleep () » библиотеки « времени » .

4. После того, как вы закончите вводить весь код в файл, он должен выглядеть так, как мы показали ниже.

import time

import board

import busio

import adafruit_veml6075

 

i2c = busio.I2C(board.SCL, board.SDA)

 

veml = adafruit_veml6075.VEML6075(i2c, integration_time=100)

 

while True:

    print(veml.uv_index)

    time.sleep(1)

Теперь вы можете сохранить файл, нажав CTRL + X, затем Y, а затем ENTER .

5.Давайте продолжим и теперь протестируем наш сценарий « uvsensor.py », выполнив следующую команду.

python3 ~/uvsensor.py

6. Вы должны немедленно увидеть, что УФ-индекс считывается УФ-датчиком VEML6075.

У нас есть пример результатов нашего УФ-датчика ниже. Мы использовали УФ-фонарик для обработки результатов, так как мы использовали его внутри (внутреннее освещение даст очень низкие результаты, почти нулевые или отрицательные).

0.026104000000000002

0.018564999999999998

0.012321499999999999

0.015808500000000003

0.026104000000000002

0.054912825000000005

0.09654692999999999

0.06701715

0.08051291

0.12981893

0.12611369

На этом этапе ваш УФ-датчик Raspberry Pi должен успешно работать.

Теперь вы должны понимать, как датчик VEML6075 подключен к Raspberry Pi, а также как считывать данные с датчика и интерпретировать их.

 

В начало обзора


Купить радиодетали для ремонта
 



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



          

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