ROBOSTEP / Mbed 2 deprecated hybrid_arm_fan

Dependencies:   mbed

Fork of hybrid_arm_main by ROBOSTEP_SHARE

Committer:
hare
Date:
Fri May 13 06:49:54 2016 +0000
Revision:
8:f756ddb8ff5b
Parent:
7:230f27866c1a
Child:
9:57fb67f05375
2016/5/13

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hare 6:8db4a07deff0 1 #include "mbed.h"
hare 8:f756ddb8ff5b 2 #include "servo.h"
hare 8:f756ddb8ff5b 3
hare 8:f756ddb8ff5b 4 DigitalIn start_sw(p25);
hare 5:08e214191e2a 5
hare 5:08e214191e2a 6 PwmOut motor_up(p23);
hare 5:08e214191e2a 7 PwmOut motor_down(p22);
hare 5:08e214191e2a 8
hare 5:08e214191e2a 9 DigitalIn encoder_A(p16);
hare 5:08e214191e2a 10 DigitalIn encoder_B(p17);
hare 0:6f7d125a0503 11
hare 5:08e214191e2a 12 AnalogIn sensor(p20);
hare 5:08e214191e2a 13
hare 5:08e214191e2a 14 DigitalOut led1(LED1);
hare 5:08e214191e2a 15 DigitalOut led2(LED2);
hare 5:08e214191e2a 16 DigitalOut led3(LED3);
hare 5:08e214191e2a 17 DigitalOut led4(LED4);
hare 5:08e214191e2a 18
hare 5:08e214191e2a 19 CAN can1(p30,p29);
hare 8:f756ddb8ff5b 20 PwmOut fan(p21);
hare 2:aa7e8b22b32c 21
hare 6:8db4a07deff0 22 Ticker can_sub;
hare 6:8db4a07deff0 23
hare 8:f756ddb8ff5b 24 char send_data[4]={};
hare 8:f756ddb8ff5b 25 int pattern=1;
hare 8:f756ddb8ff5b 26 int degree=0;
hare 6:8db4a07deff0 27 int river_eco_loca=0;
hare 6:8db4a07deff0 28 void receive(){
hare 6:8db4a07deff0 29 CANMessage msg;
hare 6:8db4a07deff0 30 if(can1.read(msg)){
hare 7:230f27866c1a 31 if(msg.id==5){
hare 8:f756ddb8ff5b 32 river_eco_loca=msg.data[1];
hare 8:f756ddb8ff5b 33 //(short)((msg.data[2]<<8)|(msg.data[3]));
hare 8:f756ddb8ff5b 34 printf("%river=%d\n\r",river_eco_loca);
hare 7:230f27866c1a 35 led4=!led4;
hare 6:8db4a07deff0 36 }
hare 8:f756ddb8ff5b 37 send_data[0] = degree >> 8;
hare 8:f756ddb8ff5b 38 send_data[1] = degree & 255;
hare 8:f756ddb8ff5b 39 send_data[2] = pattern;
hare 8:f756ddb8ff5b 40 can1.write(CANMessage(6, send_data, 3));
hare 6:8db4a07deff0 41 }
hare 8:f756ddb8ff5b 42 // printf("1\n\r");
hare 6:8db4a07deff0 43 }
hare 6:8db4a07deff0 44 int fan_power=1100;
hare 6:8db4a07deff0 45
hare 0:6f7d125a0503 46 int main(){
hare 1:0f1e77683604 47 motor_up.period_us(20);
hare 1:0f1e77683604 48 motor_down.period_us(20);
hare 8:f756ddb8ff5b 49 master.baud(115200);
hare 8:f756ddb8ff5b 50 master.format(8,Serial::Even,1);
hare 8:f756ddb8ff5b 51
hare 8:f756ddb8ff5b 52 can_sub.attach_us(&receive,20000);
hare 8:f756ddb8ff5b 53 can1.frequency(1000000);
hare 0:6f7d125a0503 54 motor_up=0;
hare 0:6f7d125a0503 55 motor_down=0;
hare 8:f756ddb8ff5b 56 degree=90;
hare 6:8db4a07deff0 57 wait(0.3);
hare 1:0f1e77683604 58 fan.period_ms(20);
hare 1:0f1e77683604 59 fan.pulsewidth_us(1100);
hare 1:0f1e77683604 60 printf("connect battery in 5sec please\n\r");
hare 2:aa7e8b22b32c 61 for(int p=0;p<5;p++){
hare 2:aa7e8b22b32c 62 led1=1;
hare 2:aa7e8b22b32c 63 wait(0.6);
hare 2:aa7e8b22b32c 64 led1=0;
hare 2:aa7e8b22b32c 65 wait(0.4);} // connect ripo in 5s;
hare 2:aa7e8b22b32c 66
hare 2:aa7e8b22b32c 67 printf("4sec is count down\n\r");
hare 2:aa7e8b22b32c 68 for(int p=0;p<4;p++){
hare 1:0f1e77683604 69 led1=1;
hare 2:aa7e8b22b32c 70 led2=1;
hare 2:aa7e8b22b32c 71 wait(0.6);
hare 2:aa7e8b22b32c 72 led2=0;
hare 2:aa7e8b22b32c 73 wait(0.4); }
hare 1:0f1e77683604 74 printf("fan and is running\n\r");
hare 2:aa7e8b22b32c 75 led1=1;
hare 2:aa7e8b22b32c 76 led2=1;
hare 2:aa7e8b22b32c 77 led3=1;
hare 6:8db4a07deff0 78
hare 0:6f7d125a0503 79 while(1){
hare 6:8db4a07deff0 80 switch(river_eco_loca){
hare 4:5a6706467b10 81 case 0:
hare 4:5a6706467b10 82 fan_power=1100;
hare 4:5a6706467b10 83 break;
hare 4:5a6706467b10 84 case 1:
hare 8:f756ddb8ff5b 85 fan_power=1500; //start
hare 4:5a6706467b10 86 break;
hare 4:5a6706467b10 87 case 2:
hare 8:f756ddb8ff5b 88 fan_power=1700;degree=70;
hare 6:8db4a07deff0 89 break;
hare 6:8db4a07deff0 90 case 3:
hare 6:8db4a07deff0 91 fan_power=1100;
hare 6:8db4a07deff0 92 led1=0;led2=0;led3=0;
hare 4:5a6706467b10 93 break;
hare 6:8db4a07deff0 94 default:
hare 6:8db4a07deff0 95 fan_power=1100;
hare 6:8db4a07deff0 96 break;}
hare 6:8db4a07deff0 97 fan.pulsewidth_us(fan_power);
hare 6:8db4a07deff0 98 }
hare 6:8db4a07deff0 99 }