BASIC4MCU | 질문게시판 | 아두이노 컬러센서 질문드립니다
페이지 정보
작성자 아두이놐 작성일2018-12-02 23:18 조회5,294회 댓글0건본문
아두이노 컬러센서에서 인식한 색이 LCD판을 통해 나올수 있도록 하려고 하는데 코드를 어떻게 추가 해야할지 몰라서 질문드립니다.
이거는 컬러센서가 인식한색이 LED로 나오게 하는 코드 입니다. 여기서 어떻게 더 추가해야 할지 답변 부탁드립니다.
int s0 = 3, s1 = 4, s2 = 5, s3 = 6;
int out = 2;
int led_r = 9, led_g = 10, led_b = 11 ;
int flag = 0;
int s8 = 8;
byte counter = 0;
byte countR = 0, countG = 0, countB = 0;void setup()
{
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(led_r, OUTPUT) ;
pinMode(led_g, OUTPUT) ;
pinMode(led_b, OUTPUT) ;
}void TCS()
{
flag = 0;
digitalWrite(s1, HIGH);
digitalWrite(s0, HIGH);
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
digitalWrite(s8, HIGH);
attachInterrupt(0, ISR_INTO, CHANGE);
timer0_init();
}void ISR_INTO()
{
counter++;
}void timer0_init(void)
{
TCCR2A = 0x00;
TCCR2B = 0x07;
TCNT2 = 100;
TIMSK2 = 0x01;
}ISR(TIMER2_OVF_vect) //the timer 2, 10ms interrupt overflow again. Internal overflow interrupt executive function
{
TCNT2 = 100;
flag++;
if (flag == 1)
{
countR = counter;
digitalWrite(led_r, (countR > 120) ? HIGH : LOW) ;
digitalWrite(s2, HIGH);
digitalWrite(s3, HIGH);
}
else if (flag == 2)
{
countG = counter;
digitalWrite(led_g, (countG > 110) ? HIGH : LOW) ;
digitalWrite(s2, LOW);
digitalWrite(s3, HIGH);
}
else if (flag == 3)
{
countB = counter;
digitalWrite(led_b, (countB > 115) ? HIGH : LOW) ;
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
flag = 0 ;
}
counter = 0;
}
void loop()
{
TCS();
while (1);}
댓글 0
조회수 5,294등록된 댓글이 없습니다.