1

Перейти к содержимому


       Торент трекер от http://stalker-worlds.ru        Хранилище сайта http://stalker-worlds.ru        Онлайн Сталкер Канал Унесенные Сталкером Присоединяйся к нашему сообществу на facebook Вступай в нашу группу в контакте


Добро пожаловать к нам на сайт! Про Ваш статус и права можно прочитать в Этой теме

Для просмотра картинок и скачивания файлов с форума - пройдите регистрацию!   Проблемы с регистрацией - вам сюда


Фотография

Подключаем TCS3200 датчик цвета color до Arduino


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1
RUS_D

RUS_D

    Главный АДМИН

  • Не в сети
  • Тех. Админ
  • админ Администратор
  • Старожил сайта
<- Информация ->
  • PipPipPipPip
  • Регистрация:
    08-December 08
  • 3003 Cообщений
  • Пропуск №: 2


Репутация: 6806 Постов: 3003
  • Skype:rus_did
  • Страна проживания:Украина
  • Реальное имя:Руслан
  • Пол:Мужчина
  • Город:Полтавская обл.
TCS3200 датчик цвета для Arduino
 
colorsensor1.jpg
TCS3200 - детектор цвета (TAOS TCS3200 RGB чип и 4 белых светодиода)
 
Может обнаружить и измерить практически любой цвет (из видимого спектра). Поддерживает сортировку по цвету а также калибровку.
 
Характеристики
Напряжение: (от 2,7В до 5,5В)
Интерфейс: цифровой TTL
Преобразование интенсивности света в частоту
Программирование цветов и выходной частоты
Функция "Power Down"
Напрямую взаимодействует с микроконтроллером
Размер: 28.4x28.4mm
 
Пример программного кода:
 
int s0=3,s1=4,s2=5,s3=6;
int out=2;
int flag=0;
byte counter=0;
byte countR=0,countG=0,countB=0;
void setup()
{
Serial.begin(115200);
pinMode(s0,OUTPUT);
pinMode(s1,OUTPUT);
pinMode(s2,OUTPUT);
pinMode(s3,OUTPUT);


}
void TCS()
{
flag=0;
digitalWrite(s1,HIGH);
digitalWrite(s0,HIGH);
digitalWrite(s2,LOW);
digitalWrite(s3,LOW);
attachInterrupt(0, ISR_INTO, LOW);
timer0_init();


}
void ISR_INTO()
{
counter++;
}
void timer0_init(void)
{
TCCR2A=0x00;
TCCR2B=0x07; //the clock frequency source 1024 points
TCNT2= 100; //10 ms overflow again
TIMSK2 = 0x01; //allow interrupt
}
int i=0;
ISR(TIMER2_OVF_vect)//the timer 2, 10ms interrupt overflow again. Internal overflow interrupt executive function
{
TCNT2=100;
flag++;
if(flag==1)
{
countR=counter;
Serial.print("red=");
Serial.println(countR,DEC);
digitalWrite(s2,HIGH);
digitalWrite(s3,HIGH);
}
else if(flag==2)
{
countG=counter;
Serial.print("green=");
Serial.println(countG,DEC);
digitalWrite(s2,LOW);
digitalWrite(s3,HIGH);
}
else if(flag==3)
{
countB=counter;
Serial.print("blue=");
Serial.println(countB,DEC);
Serial.println("n");
digitalWrite(s2,LOW);
digitalWrite(s3,LOW);


}
else if(flag==4)
{
flag=0;
}
counter=0;
}
void loop()
{
TCS();
while(1);
}

 


"Бить не нужно, а не вникнут - разъяснять" © В.С. Высоцкий
я в скайпе - rus_did
Мои детство и юность прошли без Интернета. Может быть, поэтому я понимаю, что за языком надо следить, а за слова отвечать.





Количество пользователей, читающих эту тему: 0

0 members, 0 guests, 0 anonymous users

яндекс.метрика
Button automatically alert search engines 31x31 WHOIS.UANIC.NAME - Identify traffic by Google

реклама на сайте подключена