프로그램이 4khz로 온시키고바로 오프하도록해서 펄스를 만들었어요
adc인터럽트 거는부분은 발광온하는 코드밑에다가 썼구요
일단 값은 높게 나오기는하는데
딱히 듀티같은걸 안하고 4khz발광만 목표로해서 그런지 adc값이 많이 변화해요
흰색종이 대면 990에서 넘어가서 110 으로 나오고 하더라구요
그리고 문제점이라고 생각하는게 검정색종이를 가져다 대면 0이 안나오고
110~120정도로 나와요
adc값 받는 변수는 volatile unsigned char value 로 했구요
ADMUX=0X20;으로 줘서 ADCH값만 읽어서 저장시켜요
라인트레이서 센서부에 적용하려면
듀티출력만 되게 만들면되나요?
그냥 하이패스필터를 통과하도록 펄스만 만들어 주면 됩니다.
발광센서와 수광센서의 각도를 좀 바꿔보세요.
그리고 센싱을 한번만 하면 오차가 있으니 보정을 해줘야되요
가장 많이 사용하고 편한 방법이 평균오차보정법으로 여러번 샘플링한 후에 평균을 취하는것이지이ㅛ
검정색을 대더라도 110이나 120정도 나오는것은 발광과 수광 유효각이 있어서 빛이 약간 새는걸 수광이 받아 들일수도 있습니다.
위에 말씀드린대로 각도를 바꿔보시고 발광과 수광센서에 장화(고무튜브)같은걸 씌어주시기 바랍니다.