Page 51 - MDP2022-3
P. 51
//distance(cm) = uS / 58(SPEC)\
mm = dist / 2.3; //mm = dist/2.45;
dist = 0;
}
void main(void)
{
init();
zero = 1;
while(1)
{
mm_all = 0; //값이 누적도는 것을 방지하기 위한 초기화
kg_all = 0;
if(zero == 1) //zero 변수가 1이면 (동작(1))
{
zero_fnd(); //FND에 '0'이 천천히 자리 변경 (1 > 2 > 3 > 4 > 1 > ...)
if((ReadCout()*0.45359293319936) > 5000) //로드셀이 1kg 이상 감지하면
{
b=1;
if(time>=10000){
zero = 0;
play = 1; //동작(2)로 넘어가기
}
}else{
b=0;
}
}
if(play == 1)
{
for(k = 0; k < 25; k++) //오차값을 받기 위한 20개의 값 받기
{
zero_fnd(); //동작(1)과 차이점을 두기 위해 '0'이 옮기는 속도를 빠르게
//test_SONIC();
weight = ReadCout() * 0.45359293319936;
if(k > 4) //안정된 값을 받기위해 6번째 값부터 저장