Почувствуйте радугу: ощущающий цвет с Arduino
Поскольку разные цвета отражают разные уровни света, вы можете использовать фоторезистор или фототранзистор для восприятия разных цветов.
Перечень необходимых материалов:
- фототранзистор
- фоторезистор
- Arduino Mega
- провода перемычки
- светодиоды
- Светодиодные токоограничивающие резисторы (250 Ом)
- резисторы калибровки датчика (переменный резистор, резистор 10 Ом)
- макетировать
- термоусадочная трубка
Фототранзистор представляет собой трехконечное устройство, как обычный транзистор, с базой, коллектором и эмиттером, но база фототранзистора также чувствительна к свету. Типичный фототранзистор показан ниже. Свет, светящийся на фототранзисторе, приведет к протеканию базового тока, который затем приведет к прохождению транзистора. Поток тока через транзистор пропорционален интенсивности света, падающего на основание транзистора.


Светоизлучающие резисторы, называемые фоторезисторами, изменяют сопротивление, когда на них светит свет. Когда на них не светит свет, сопротивление находится на максимальном значении, возможно, на мегаом или более. Когда на фоторезисторе светится свет, значение уменьшается в зависимости от того, насколько ярким является свет. Минимальное сопротивление может составлять всего пару сотен омов. Ниже приведено изображение типичного фоторезистора:

Использование фототранзистора или фоторезистора в качестве цветового датчика
Чтобы использовать фототранзистор или фоторезистор в качестве цветового датчика, вы делаете их частью схемы делителя напряжения. Поскольку оба компонента могут управлять потоком тока в зависимости от интенсивности света, падающего на них, выход делителя напряжения будет пропорционален интенсивности света. И, поскольку разные цвета отражают различное количество света, вы можете использовать их для определения цвета отраженного света, если вы аккуратно откалибруете систему.
Ниже вы можете настроить свой датчик цвета:


это напряжение, которое изменяется с изменением интенсивности. Таким образом, по мере изменения цвета перед сенсором, изменения Vout и это изменение используются для идентификации цвета.
Чтобы откалибровать датчики, вам придется немного экспериментировать. Поместите листы разных цветов перед датчиком и обратите внимание на выходное напряжение. Затем вы можете использовать эти значения в своей программе Arduino.
Использование h трубки для утирания здесь очень важно. Использование термоусадочной трубки на фототранзисторе или фоторезисторе поможет заблокировать окружающий свет и поможет убедиться, что датчик получает свет только от цветного листа.
Настроить
1. Сначала соберите все необходимые компоненты, как показано ниже:

2. Соберите схему, как показано на рисунке ниже. Во-первых, мы будем использовать фототранзистор в качестве цветового датчика.

3. После сборки макет будет выглядеть так:

4. Подключите Arduino к ноутбуку и наблюдайте за чтением на последовательном мониторе:

5. Откалибруйте датчики, поместив разные цвета перед датчиками и зарегистрировав значения.

6. Как только значения будут записаны, измените код, показанный ниже, затем загрузите программу в Arduino.
7. Замените фототранзистор на фоторезистор и повторите процесс калибровки.


Код
int signal=A0; int value=0; void setup() { Serial.begin(9600); // opens serial port, sets data rate to 9600 bps pinMode(signal, INPUT); } void loop() { delay(500); value=analogRead(signal); Serial.println(value); delay(500); //Conditions for different colors if (value>100) { Serial.println("White"); } else if (value<15) { Serial.println("Black"); } else if (value50) { Serial.println("RED"); } else if (value>=68 &value<80) { Serial.println("Green"); } else if (value20) { Serial.println("Blue"); } }
Скачать код
Видео
Попробуйте этот проект сами! Получить спецификацию.