Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
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 }
Generated on Sat Aug 27 2022 04:19:25 by
1.7.2