Подключение датчика цвета к arduino

26 мая 2019 - Администратор

Подключение датчика цвета к ардуино

На этом уроке мы узнаем, как подключить датчик цвета к Arduino и запрограммировать в среде разработки IDE Arduino.Датчик цвета подключенный к Arduino можно использовать  в мобильных роботах ардуино в соревнованиях по робототехнике типа Робофест. С помощью датчика цвета можно определять цветовые зоны в которые заезжает робот, цвет объекта, который должен захватить мобильный робот ардуино. Датчик цвета в проектах ардуино можно использовать для сортировки объектов по цвету.
Подключение датчика цвета к Arduino.
GND датчик подключается к GND Arduino
VCC датчик подключается к 5V Arduino 
S1 датчик подключается к 3 Arduino
S2 датчик подключается к 2 Arduino
OUT датчик подключается к 4 Arduino
Подробнее со схемой подключения можно ознакомится на рисунке.
 подключение датчика цвета к 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); 
}

Вернуться к содержанию

Поделиться:

 
Комментарии (0)

Нет комментариев. Ваш будет первым!