测光算法参考

void Robotcontrol::quzhi()
{
    int i = 0;
    int hui1min = 2000, hui2min = 2000, hui3min = 2000, hui4min = 2000, hui5min = 2000,hui6min = 2000,hui7min = 2000;

    int  hui1max = 0, hui2max = 0, hui3max = 0, hui4max = 0, hui5max = 0,hui6max = 0,hui7max = 0;

    int  hui1yuzhi,hui2yuzhi,hui3yuzhi,hui4yuzhi,hui5yuzhi,hui6yuzhi,hui7yuzhi;

    int quzhi;
    int hui1, hui2, hui3, hui4, hui5,hui6,hui7;

     Serial.println("开始校准阈值:");
     

    
    while(1)
    {
        hui1 = analogRead(hui1pin);
        hui2 = analogRead(hui2pin);
        hui3 = analogRead(hui3pin);
        hui4 = analogRead(hui4pin);
        hui5 = analogRead(hui5pin);
        hui6 = analogRead(hui6pin);
        hui7 = analogRead(hui7pin);
        
  Serial.print(hui7);
Serial.print("min");
Serial.print(hui7min);
Serial.print("max");
Serial.println(hui7max);
        if(hui1 < hui1min) hui1min = hui1;
        if(hui1 > hui1max) hui1max = hui1;
        if(hui2 < hui2min) hui2min = hui2;
        if(hui2 > hui2max) hui2max = hui2;
        if(hui3 < hui3min) hui3min = hui3;
        if(hui3 > hui3max) hui3max = hui3;
        if(hui4 < hui4min) hui4min = hui4;
        if(hui4 > hui4max) hui4max = hui4;
        if(hui5 < hui5min) hui5min = hui5;
        if(hui5 > hui5max) hui5max = hui5;
        if(hui6 < hui6min) hui6min = hui6;
        if(hui6 > hui6max) hui6max = hui6;
        if(hui7 < hui7min) hui7min = hui7;
        if(hui7 > hui7max) hui7max = hui7;
       

        diyihang(1,"geting value...");
        diyihang(2,"first button");
        diyihang(3," to close");
        quzhi = digitalRead(19);
        if(quzhi == 0)
        {
            while(1)
            {
                quzhi = digitalRead(19);
                if(quzhi == 1) break;
            }
            break;
        }
    }
digitalWrite(fengmingqi,0);
    delay(500);
    digitalWrite(fengmingqi,1);
    hui1yuzhi= (hui1min + hui1max) / 2;
    hui2yuzhi= (hui2min + hui2max) / 2;
    hui3yuzhi= (hui3min + hui3max) / 2;
    hui4yuzhi= (hui4min + hui4max) / 2;
    hui5yuzhi= (hui5min + hui5max) / 2;
    hui6yuzhi= (hui6min + hui6max) / 2;
    hui7yuzhi= (hui7min + hui7max) / 2;



   diyihang(1,"Set threshold OK ");
     diyihang(2,"RESET ");
     diyihang(3,"");
    delay(50);
    Serial.println("Set threshold ok");


    /*
     * å°†å¼å­˜æ”¾åˆ°EEPROMä¸?
     */

    EEPROM.write(1, hui1yuzhi / 4);
    EEPROM.write(2, hui1min / 4);
    EEPROM.write(3, hui3yuzhi / 4);
    EEPROM.write(4, hui4yuzhi / 4);
    EEPROM.write(5, hui5yuzhi / 4);
    EEPROM.write(6, hui7min / 4);
    EEPROM.write(7, hui7yuzhi / 4);
    EEPROM.write(8, hui1max / 4);
    EEPROM.write(9, hui7max / 4);
    

    Serial.print("1max:");
    Serial.print(hui1max);
    Serial.print("     ");
    Serial.print("1min:");
    Serial.print(hui1min);
    Serial.print("     ");
    Serial.print("value_1:");
    Serial.println(hui1yuzhi);
    Serial.print("2max:");
    Serial.print(hui2max);
    Serial.print("     ");
    Serial.print("2min:");
    Serial.print(hui2min);
    Serial.print("     ");
    Serial.print("value_2:");
    Serial.println(hui2yuzhi);
    Serial.print("3max:");
    Serial.print(hui3max);
    Serial.print("     ");
    Serial.print("3min:");
    Serial.print(hui3min);
    Serial.print("     ");
    Serial.print("value_3:");
    Serial.println(hui3yuzhi);
    Serial.print("4max:");
    Serial.print(hui4max);
    Serial.print("     ");
    Serial.print("4min:");
    Serial.print(hui4min);
    Serial.print("     ");
    Serial.print("value_4:");
    Serial.println(hui4yuzhi);
    Serial.print("5max:");
    Serial.print(hui5max);
    Serial.print("     ");
    Serial.print("5min:");
    Serial.print(hui5min);
    Serial.print("     ");
    Serial.print("value_5:");
    Serial.println(hui5yuzhi);
    Serial.print("6max:");
    Serial.print(hui6max);
    Serial.print("     ");
    Serial.print("6min:");
    Serial.print(hui6min);
    Serial.print("     ");
    Serial.print("value_6:");
    Serial.println(hui6yuzhi);
    Serial.print("7max:");
    Serial.print(hui7max);
    Serial.print("     ");
    Serial.print("7min:");
    Serial.print(hui7min);
    Serial.print("     ");
    Serial.print("value_7:");
    Serial.println(hui7yuzhi);
 

    Serial.println();

   while(1){
     
   }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值