Raspberry Pi
В отличие от плат Ардуино, микрокомпьютер Raspberry Pi работает с 3,3-Вольтовой логикой, так что будем подавать питание 3,3 В.
Raspberry Pi 3/4 | 3.3V | GND | GPIO2 | GPIO3 |
Датчик цвета TCS34725 ROC | 3V3 | GND | SDA | SCL |
Для подключения используем 4 провода вилка-розетка.
Программа для Raspberry Pi
Для работы с датчиком TCS34725 на RPi нам понадобится библиотека adafruit-circuitpython-tcs34725. Установим её с помощью менеджера пакетов pip.
Открываем консоль и пишем:
sudo pip3 install adafruit-circuitpython-tcs34725
После успешной установки библиотеки, можно приступать к написанию тестовой программы. Для начала попробуем поработать с датчиком через интерпретатор. Запускаем в консоли python версии 3:
python3
А теперь построчно вводим программу:
>>> import board >>> import adafruit_tcs34725 >>> i2c=board.I2C() >>> sensor = adafruit_tcs34725.TCS34725(i2c)
Далее выводим значение RGB компонентов:
>>> sensor.color_rgb_bytes (13, 17, 37)
Работает! Что бы ни было в этот момент перед датчиком, оно преимущественно синего цвета, так как последний компонент B (blue-синий) — значительно больше остальных.
Напишем ещё одну программу, которая будет выводить все данные в непрерывном цикле. На этот раз создаём файл tcs34725.py файл с таким содержимым:
import board
import adafruit_tcs34725
i2c=board.I2C()
sensor = adafruit_tcs34725.TCS34725(i2c) # создаём объект для работы с датчиком
while(1):
# выводим в консоль данные
print("lux= ", sensor.lux) # освещенность в люксах
print("temp= ", sensor.color_temperature) # цветовая температура
print("rgb= ", sensor.color_rgb_bytes) # цветовые компоненты
Помещаем перед датчиком (1см) какой-нибудь красный предмет и запускаем программу с помощью интерпретатора:
python3 tcs34725.py
В ответ, в консоли должны отобразиться примерно такие данные:
lux = 392.6666666666667 temp = 419.7916666666667 rgb = (41, 13, 6)
Ну вот, датчик действительно видит что-то красное, ведь теперь превалирует компонент R (red-красный).