Raspberry Pi

В отличие от плат Ардуино, микрокомпьютер Raspberry Pi работает с 3,3-Вольтовой логикой, так что будем подавать питание 3,3 В.

Raspberry Pi 3/43.3VGNDGPIO2GPIO3
Датчик цвета TCS34725 ROC 3V3GNDSDASCL

Для подключения используем 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-красный).


Изменено: