Подключение датчика цвета к arduino
26 мая 2019 - Администратор
Комментарии (0)
Нет комментариев. Ваш будет первым!
На этом уроке мы узнаем, как подключить датчик цвета к Arduino и запрограммировать в среде разработки IDE Arduino.Датчик цвета подключенный к Arduino можно использовать в мобильных роботах ардуино в соревнованиях по робототехнике типа Робофест. С помощью датчика цвета можно определять цветовые зоны в которые заезжает робот, цвет объекта, который должен захватить мобильный робот ардуино. Датчик цвета в проектах ардуино можно использовать для сортировки объектов по цвету.
Подключение датчика цвета к Arduino.
GND датчик подключается к GND Arduino
VCC датчик подключается к 5V Arduino
S1 датчик подключается к 3 Arduino
S2 датчик подключается к 2 Arduino
OUT датчик подключается к 4 Arduino
Подробнее со схемой подключения можно ознакомится на рисунке.
Программирование датчика цвета IDE Arduino.
В программе для обработки значения датчика цвета необходимо считать значение, зеленого, красного и синего и записать эти значения в переменные red, blue, green. В программе для этого используется специальная процедура color(). Подробно о процедурах в Си.
Для эффективного использования датчика цвета в проектах ардуино, необходимо откалибровать значение цветового датчика. Для этого запускаем программу, наводим датчик на необходимую поверхность и смотрим через com порт, какие значения записываются в переменные red, blue, green. В программе с помощью условия на все переменные мы оперделяем действия который необходимо сделать системе при фиксации датчиком заданного цвета.
Например
If(red > 10 && blue > 10 && green < 30) {действия;}
Полная программа для работы с датчиком цвета подключенного к arduino
// обнуление значений датчика
byte red = 0;
byte green = 0;
byte blue = 0;
int s2=2;
int s3=3;
int out=4;
void setup()
{
pinMode(s2, OUTPUT); // подключение порта s2
pinMode(s3, OUTPUT); // подключение порта s3
pinMode(out, INPUT); // подключение порта OUT
Serial.begin(9600);
}
void loop()
{
color();
Serial.print(" RED :" + String(red)); // вывод красного цвета
Serial.print(" GREEN : " + String(green)); // вывод зелёного цвета
Serial.println(" BLUE : " + String(blue)); // вывод голубого цвета
delay(100); // пауза 100 миллисекунд
}
// настройка датчика
void color()
{// если 2 и 3 порты отключить, то получим значение красного цвета
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
// если 3 порт включить, а 2 отключить, то получим синий цвет
digitalWrite(s2, LOW);
digitalWrite(s3, HIGH);
blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
// если 2 включить, а 3 отключить, то получим зеленый цвет
digitalWrite(s2, HIGH);
digitalWrite(s3, LOW);
green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
}
Поделиться:
Нет комментариев. Ваш будет первым!