NagaokaRoboticsClub_mbedTeam / Mbed 2 deprecated NHK2020

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "FEP.h"
00003 #include "pin_config.h"
00004 
00005 AnalogIn finger[]={
00006         AnalogIn(A_IN_7),
00007         AnalogIn(A_IN_6),
00008         AnalogIn(A_IN_5),
00009         AnalogIn(A_IN_3),
00010         AnalogIn(A_IN_2)
00011 };
00012 //8,1
00013 //5
00014 
00015 FEP fep(PC_12,PD_2,003);
00016 
00017 Serial pc(USBTX,USBRX,115200);
00018 //Serial serial(PC_10,PC_11,9600);
00019 
00020 DigitalIn b(USER_BUTTON);
00021 
00022 int main()
00023 {
00024   
00025     float open_val[5],close_val[5],now_val[5],bending_condition[5];
00026     uint8_t data[5];
00027     
00028     for(int i=0;i<5;i++)close_val[i] = finger[i];
00029 
00030     while(1) {
00031         bool b_ = b;
00032         if(!b_){
00033             for(int i=0;i<5;i++)open_val[i] = finger[i];
00034         
00035             while(1){  
00036   
00037                 for(int i = 0;i<5;i++){
00038                     now_val[i] = finger[i];
00039                     bending_condition[i] = (now_val[i] - close_val[i]) / (open_val[i] - close_val[i]) * 100;
00040                     if(open_val[i] <= now_val[i]) bending_condition[i] = 100.0;
00041                     if(close_val[i] >= now_val[i]) bending_condition[i] = 0.0;
00042                     data[i] = (uint8_t)((1-bending_condition[i] / 100 )* 255);
00043                     //pc.printf("finger%d:%3d%",i+1,data[i]);
00044                     //pc.printf(",close:%.2f,open:%.2f,now:%.2f",close_val[i],open_val[i],now_val[i]);
00045                 }
00046                 
00047                 
00048                 /*
00049                 pc.printf("---");
00050                 if(bending_condition[0]+bending_condition[1]+bending_condition[2]+bending_condition[3]+bending_condition[4] <= 50.0)pc.printf("グー");
00051                 if(bending_condition[0]+bending_condition[3]+bending_condition[4] <= 100.0 && bending_condition[1]+bending_condition[2] >= 150.0)pc.printf("チョキ");
00052                 if(bending_condition[1]+bending_condition[2]+bending_condition[3]+bending_condition[4] <= 50.0 &&+bending_condition[0] >= 80.0)pc.printf("good");
00053                 if(bending_condition[0]+bending_condition[1]+bending_condition[2]+bending_condition[3]+bending_condition[4] >= 400.0)pc.printf("パー");
00054                 pc.printf("---");
00055                 */
00056                 //pc.printf("\n\r");
00057                 
00058                 
00059                 
00060                 
00061                 pc.printf("%3d,%3d,%3d,%3d,%3d\n\r",data[0],data[1],data[2],data[3],data[4]);
00062                 //for(int j = 0;j<=5;j++)serial.putc(data[j]);
00063                 fep.sendData(data,5);
00064 
00065             }
00066         }
00067     }
00068 }