NagaokaRoboticsClub_mbedTeam / Mbed 2 deprecated NHK2020

Dependencies:   mbed

Committer:
skouki
Date:
Fri Oct 16 07:35:47 2020 +0000
Revision:
0:3728e947c2c0
;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
skouki 0:3728e947c2c0 1 #include "mbed.h"
skouki 0:3728e947c2c0 2 #include "FEP.h"
skouki 0:3728e947c2c0 3 #include "pin_config.h"
skouki 0:3728e947c2c0 4
skouki 0:3728e947c2c0 5 AnalogIn finger[]={
skouki 0:3728e947c2c0 6 AnalogIn(A_IN_7),
skouki 0:3728e947c2c0 7 AnalogIn(A_IN_6),
skouki 0:3728e947c2c0 8 AnalogIn(A_IN_5),
skouki 0:3728e947c2c0 9 AnalogIn(A_IN_3),
skouki 0:3728e947c2c0 10 AnalogIn(A_IN_2)
skouki 0:3728e947c2c0 11 };
skouki 0:3728e947c2c0 12 //8,1
skouki 0:3728e947c2c0 13 //5
skouki 0:3728e947c2c0 14
skouki 0:3728e947c2c0 15 FEP fep(PC_12,PD_2,003);
skouki 0:3728e947c2c0 16
skouki 0:3728e947c2c0 17 Serial pc(USBTX,USBRX,115200);
skouki 0:3728e947c2c0 18 //Serial serial(PC_10,PC_11,9600);
skouki 0:3728e947c2c0 19
skouki 0:3728e947c2c0 20 DigitalIn b(USER_BUTTON);
skouki 0:3728e947c2c0 21
skouki 0:3728e947c2c0 22 int main()
skouki 0:3728e947c2c0 23 {
skouki 0:3728e947c2c0 24
skouki 0:3728e947c2c0 25 float open_val[5],close_val[5],now_val[5],bending_condition[5];
skouki 0:3728e947c2c0 26 uint8_t data[5];
skouki 0:3728e947c2c0 27
skouki 0:3728e947c2c0 28 for(int i=0;i<5;i++)close_val[i] = finger[i];
skouki 0:3728e947c2c0 29
skouki 0:3728e947c2c0 30 while(1) {
skouki 0:3728e947c2c0 31 bool b_ = b;
skouki 0:3728e947c2c0 32 if(!b_){
skouki 0:3728e947c2c0 33 for(int i=0;i<5;i++)open_val[i] = finger[i];
skouki 0:3728e947c2c0 34
skouki 0:3728e947c2c0 35 while(1){
skouki 0:3728e947c2c0 36
skouki 0:3728e947c2c0 37 for(int i = 0;i<5;i++){
skouki 0:3728e947c2c0 38 now_val[i] = finger[i];
skouki 0:3728e947c2c0 39 bending_condition[i] = (now_val[i] - close_val[i]) / (open_val[i] - close_val[i]) * 100;
skouki 0:3728e947c2c0 40 if(open_val[i] <= now_val[i]) bending_condition[i] = 100.0;
skouki 0:3728e947c2c0 41 if(close_val[i] >= now_val[i]) bending_condition[i] = 0.0;
skouki 0:3728e947c2c0 42 data[i] = (uint8_t)((1-bending_condition[i] / 100 )* 255);
skouki 0:3728e947c2c0 43 //pc.printf("finger%d:%3d%",i+1,data[i]);
skouki 0:3728e947c2c0 44 //pc.printf(",close:%.2f,open:%.2f,now:%.2f",close_val[i],open_val[i],now_val[i]);
skouki 0:3728e947c2c0 45 }
skouki 0:3728e947c2c0 46
skouki 0:3728e947c2c0 47
skouki 0:3728e947c2c0 48 /*
skouki 0:3728e947c2c0 49 pc.printf("---");
skouki 0:3728e947c2c0 50 if(bending_condition[0]+bending_condition[1]+bending_condition[2]+bending_condition[3]+bending_condition[4] <= 50.0)pc.printf("グー");
skouki 0:3728e947c2c0 51 if(bending_condition[0]+bending_condition[3]+bending_condition[4] <= 100.0 && bending_condition[1]+bending_condition[2] >= 150.0)pc.printf("チョキ");
skouki 0:3728e947c2c0 52 if(bending_condition[1]+bending_condition[2]+bending_condition[3]+bending_condition[4] <= 50.0 &&+bending_condition[0] >= 80.0)pc.printf("good");
skouki 0:3728e947c2c0 53 if(bending_condition[0]+bending_condition[1]+bending_condition[2]+bending_condition[3]+bending_condition[4] >= 400.0)pc.printf("パー");
skouki 0:3728e947c2c0 54 pc.printf("---");
skouki 0:3728e947c2c0 55 */
skouki 0:3728e947c2c0 56 //pc.printf("\n\r");
skouki 0:3728e947c2c0 57
skouki 0:3728e947c2c0 58
skouki 0:3728e947c2c0 59
skouki 0:3728e947c2c0 60
skouki 0:3728e947c2c0 61 pc.printf("%3d,%3d,%3d,%3d,%3d\n\r",data[0],data[1],data[2],data[3],data[4]);
skouki 0:3728e947c2c0 62 //for(int j = 0;j<=5;j++)serial.putc(data[j]);
skouki 0:3728e947c2c0 63 fep.sendData(data,5);
skouki 0:3728e947c2c0 64
skouki 0:3728e947c2c0 65 }
skouki 0:3728e947c2c0 66 }
skouki 0:3728e947c2c0 67 }
skouki 0:3728e947c2c0 68 }