test

Dependencies:   mbed Encoder

Committer:
koheim
Date:
Tue Dec 15 08:12:06 2020 +0000
Revision:
1:88c8afd436fc
Parent:
0:3dee13ff6060
aaa

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maxnagazumi 0:3dee13ff6060 1 #include "mbed.h"
maxnagazumi 0:3dee13ff6060 2 #include "EC.h"
maxnagazumi 0:3dee13ff6060 3 #define RESOLUTION 500
maxnagazumi 0:3dee13ff6060 4 #define V_ARRAY_COUNT_MAX 300
maxnagazumi 0:3dee13ff6060 5
maxnagazumi 0:3dee13ff6060 6 Serial pc(USBTX, USBRX);
maxnagazumi 0:3dee13ff6060 7 DigitalIn Button1(p15);
maxnagazumi 0:3dee13ff6060 8 DigitalIn Button2(p16);
maxnagazumi 0:3dee13ff6060 9 DigitalOut clutch(p19);
maxnagazumi 0:3dee13ff6060 10 PwmOut motord(p25);
maxnagazumi 0:3dee13ff6060 11 PwmOut motoru(p26);
maxnagazumi 0:3dee13ff6060 12 DigitalOut led1(LED1);
maxnagazumi 0:3dee13ff6060 13 DigitalOut led2(LED2);
maxnagazumi 0:3dee13ff6060 14 DigitalOut led3(LED3);
maxnagazumi 0:3dee13ff6060 15 Ec1multi ec(p27,p28,RESOLUTION);
maxnagazumi 0:3dee13ff6060 16 Timer timer;
maxnagazumi 0:3dee13ff6060 17
maxnagazumi 0:3dee13ff6060 18
maxnagazumi 0:3dee13ff6060 19 int main() {
maxnagazumi 0:3dee13ff6060 20 motoru.period_us(50);
maxnagazumi 0:3dee13ff6060 21 Button1.mode(PullUp);
maxnagazumi 0:3dee13ff6060 22 Button2.mode(PullUp);
maxnagazumi 0:3dee13ff6060 23 clutch=0;//on
maxnagazumi 0:3dee13ff6060 24 led1=1;
maxnagazumi 0:3dee13ff6060 25 led2=1;
maxnagazumi 0:3dee13ff6060 26 led3=1;
maxnagazumi 0:3dee13ff6060 27 motoru=0;
maxnagazumi 0:3dee13ff6060 28 int motor_state=2;
maxnagazumi 0:3dee13ff6060 29 int omega;
maxnagazumi 0:3dee13ff6060 30 int read_v_state=0;
maxnagazumi 0:3dee13ff6060 31 pc.printf("ready to fire");
maxnagazumi 0:3dee13ff6060 32 int count=ec.getCount();
maxnagazumi 0:3dee13ff6060 33 float v_array[V_ARRAY_COUNT_MAX][2];
maxnagazumi 0:3dee13ff6060 34 int v_array_count=0;
maxnagazumi 0:3dee13ff6060 35 while(1){
maxnagazumi 0:3dee13ff6060 36 //pc.printf("%d\r\n",count);//確認
maxnagazumi 0:3dee13ff6060 37 count=ec.getCount();
maxnagazumi 0:3dee13ff6060 38 omega = ec.getOmega();
maxnagazumi 0:3dee13ff6060 39 if(Button1==0){
maxnagazumi 0:3dee13ff6060 40 led1=1;
maxnagazumi 0:3dee13ff6060 41 led2=0;
koheim 1:88c8afd436fc 42 clutch=1; //off
maxnagazumi 0:3dee13ff6060 43 count=0;
maxnagazumi 0:3dee13ff6060 44 motoru=0;
maxnagazumi 0:3dee13ff6060 45 motor_state=0;
maxnagazumi 0:3dee13ff6060 46 pc.printf("stop\r\n");
maxnagazumi 0:3dee13ff6060 47 }
maxnagazumi 0:3dee13ff6060 48 if(Button2==0){
maxnagazumi 0:3dee13ff6060 49 led2=1;
maxnagazumi 0:3dee13ff6060 50 led1=0;
maxnagazumi 0:3dee13ff6060 51 motoru=0.5;
maxnagazumi 0:3dee13ff6060 52 motor_state=1;
koheim 1:88c8afd436fc 53 clutch=0;//on
maxnagazumi 0:3dee13ff6060 54 pc.printf("start loading\r\n");
maxnagazumi 0:3dee13ff6060 55 }
maxnagazumi 0:3dee13ff6060 56 if (count>4500&&read_v_state==0){
maxnagazumi 0:3dee13ff6060 57 motoru=0;
maxnagazumi 0:3dee13ff6060 58 wait(3);
maxnagazumi 0:3dee13ff6060 59 clutch=1; //off
maxnagazumi 0:3dee13ff6060 60 motor_state=0;
maxnagazumi 0:3dee13ff6060 61 led3=0;
maxnagazumi 0:3dee13ff6060 62 pc.printf("fire\r\n");
maxnagazumi 0:3dee13ff6060 63 read_v_state=1;
maxnagazumi 0:3dee13ff6060 64 timer.reset();
maxnagazumi 0:3dee13ff6060 65 timer.start();
maxnagazumi 0:3dee13ff6060 66 }
maxnagazumi 0:3dee13ff6060 67
maxnagazumi 0:3dee13ff6060 68 ec.calOmega();
maxnagazumi 0:3dee13ff6060 69 wait_ms(10);
maxnagazumi 0:3dee13ff6060 70 if (read_v_state == 1)
maxnagazumi 0:3dee13ff6060 71 {
maxnagazumi 0:3dee13ff6060 72 if (v_array_count < V_ARRAY_COUNT_MAX)
maxnagazumi 0:3dee13ff6060 73 {
maxnagazumi 0:3dee13ff6060 74 v_array[v_array_count][0] = omega * 0.02;
maxnagazumi 0:3dee13ff6060 75 v_array[v_array_count][1] = timer.read();
maxnagazumi 0:3dee13ff6060 76 v_array_count++;
maxnagazumi 0:3dee13ff6060 77 }
maxnagazumi 0:3dee13ff6060 78 else
maxnagazumi 0:3dee13ff6060 79 {
maxnagazumi 0:3dee13ff6060 80 pc.printf("time\tspeed\r\n");
maxnagazumi 0:3dee13ff6060 81 for (int j = 0; j < V_ARRAY_COUNT_MAX; j++)
maxnagazumi 0:3dee13ff6060 82 {
maxnagazumi 0:3dee13ff6060 83 if (v_array[j][0] != 0)
maxnagazumi 0:3dee13ff6060 84 {
maxnagazumi 0:3dee13ff6060 85 pc.printf("%f\t", v_array[j][1]);
maxnagazumi 0:3dee13ff6060 86 pc.printf("%f\r\n", v_array[j][0]);
maxnagazumi 0:3dee13ff6060 87 }
maxnagazumi 0:3dee13ff6060 88 }
maxnagazumi 0:3dee13ff6060 89 read_v_state = 0;
maxnagazumi 0:3dee13ff6060 90 }
maxnagazumi 0:3dee13ff6060 91 }
maxnagazumi 0:3dee13ff6060 92 }
maxnagazumi 0:3dee13ff6060 93 }