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: Motor_NIT_Nagaoka_College PID Servo QEI SoftPWM mbed HBridge
main.cpp@2:74c543a0a671, 2015-08-06 (annotated)
- Committer:
- WAT34
- Date:
- Thu Aug 06 14:24:04 2015 +0000
- Revision:
- 2:74c543a0a671
- Parent:
- 1:107a7d8f4c54
- Child:
- 3:d2c733b52600
?????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
WAT34 | 0:00fcc71314cf | 1 | #define pi 3.141592 |
WAT34 | 0:00fcc71314cf | 2 | #include "mbed.h" |
WAT34 | 0:00fcc71314cf | 3 | #include "rtos.h" |
WAT34 | 0:00fcc71314cf | 4 | #include "QEI.h" |
WAT34 | 0:00fcc71314cf | 5 | #include "Motor.h" |
WAT34 | 0:00fcc71314cf | 6 | #include "HMC6352.h" |
WAT34 | 0:00fcc71314cf | 7 | BusOut air(p15,p16); |
WAT34 | 2:74c543a0a671 | 8 | Serial conn(p28,p27); |
WAT34 | 2:74c543a0a671 | 9 | Serial pc(USBTX,USBRX); |
WAT34 | 0:00fcc71314cf | 10 | BusOut mypaul(p17,p18); |
WAT34 | 2:74c543a0a671 | 11 | BusIn sw(p24,p25); |
WAT34 | 0:00fcc71314cf | 12 | Motor od(p21,p19,p20); |
WAT34 | 1:107a7d8f4c54 | 13 | Motor ot(p22,p12,p11); |
WAT34 | 2:74c543a0a671 | 14 | QEI sensort(p29,p30,NC,624); |
WAT34 | 0:00fcc71314cf | 15 | HMC6352 sensord(p9,p10); |
WAT34 | 0:00fcc71314cf | 16 | char read; |
WAT34 | 2:74c543a0a671 | 17 | int main() |
WAT34 | 0:00fcc71314cf | 18 | { |
WAT34 | 2:74c543a0a671 | 19 | //sensord.setOpMode(HMC6352_CONTINUOUS,1,20); |
WAT34 | 2:74c543a0a671 | 20 | double direct = 0,tilt = 0,cdirect = 0,adirect = 0,tdirect = 0,ttilt =0,itilt=0; |
WAT34 | 2:74c543a0a671 | 21 | //tdirect = sensord.sample()/10.0; |
WAT34 | 2:74c543a0a671 | 22 | sw.mode(PullUp); |
WAT34 | 0:00fcc71314cf | 23 | while(1) { |
WAT34 | 0:00fcc71314cf | 24 | if(conn.readable()) { |
WAT34 | 0:00fcc71314cf | 25 | read = conn.getc(); |
WAT34 | 0:00fcc71314cf | 26 | } |
WAT34 | 0:00fcc71314cf | 27 | air = read%4; |
WAT34 | 0:00fcc71314cf | 28 | mypaul = (read>>2)%4; |
WAT34 | 2:74c543a0a671 | 29 | if((read>>4)%2 || 0/*sw == 2*/) { |
WAT34 | 2:74c543a0a671 | 30 | //tdirect++; |
WAT34 | 2:74c543a0a671 | 31 | od.speed(0.3); |
WAT34 | 2:74c543a0a671 | 32 | } else if((read>>5)%2 ||0 /*sw == 1*/) { |
WAT34 | 2:74c543a0a671 | 33 | //tdirect--; |
WAT34 | 2:74c543a0a671 | 34 | od.speed(-0.3); |
WAT34 | 2:74c543a0a671 | 35 | } else { |
WAT34 | 2:74c543a0a671 | 36 | od.speed(0); |
WAT34 | 0:00fcc71314cf | 37 | } |
WAT34 | 2:74c543a0a671 | 38 | if((read>>6)%2|| sw == 2 ) { |
WAT34 | 2:74c543a0a671 | 39 | //ttilt+=pi/180.0*0.01; |
WAT34 | 2:74c543a0a671 | 40 | ot.speed(0.3); |
WAT34 | 2:74c543a0a671 | 41 | } else if((read>>7)%2 || sw == 1) { |
WAT34 | 2:74c543a0a671 | 42 | //ttilt-=pi/180.0*0.01; |
WAT34 | 2:74c543a0a671 | 43 | ot.speed(-0.3); |
WAT34 | 2:74c543a0a671 | 44 | } else { |
WAT34 | 2:74c543a0a671 | 45 | ot.speed(0); |
WAT34 | 0:00fcc71314cf | 46 | } |
WAT34 | 2:74c543a0a671 | 47 | if(tdirect >= 180 ||tdirect <= -180) { |
WAT34 | 2:74c543a0a671 | 48 | //tdirect *= -1; |
WAT34 | 0:00fcc71314cf | 49 | } |
WAT34 | 2:74c543a0a671 | 50 | //cdirect = sensord.sample()/10.0; |
WAT34 | 2:74c543a0a671 | 51 | direct = cdirect+540-tdirect; |
WAT34 | 0:00fcc71314cf | 52 | direct = int(direct+0.5)%360; |
WAT34 | 0:00fcc71314cf | 53 | direct -= 180; |
WAT34 | 2:74c543a0a671 | 54 | //tilt = sensort.getPulses()/360.0/25.0*pi; |
WAT34 | 2:74c543a0a671 | 55 | pc.printf("%d\n\r",read); |
WAT34 | 2:74c543a0a671 | 56 | //od.speed(cdirect); |
WAT34 | 2:74c543a0a671 | 57 | //ot.speed((ttilt-tilt)*1.0+itilt*0.01); |
WAT34 | 2:74c543a0a671 | 58 | itilt += ttilt-tilt; |
WAT34 | 0:00fcc71314cf | 59 | } |
WAT34 | 0:00fcc71314cf | 60 | } |