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번째  값부터  저장
   46   47   48   49   50   51   52   53   54   55   56