ROBOSTEP / Mbed 2 deprecated hybrid_arm_fan

Dependencies:   mbed

Fork of hybrid_arm_main by ROBOSTEP_SHARE

Committer:
hare
Date:
Wed Mar 09 06:16:08 2016 +0000
Revision:
7:230f27866c1a
Parent:
6:8db4a07deff0
Child:
8:f756ddb8ff5b
2016/9/9

Who changed what in which revision?

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