mbedを用いた制御学生の制御
/
Boku-Transmit
AHHHhhhhh
main.cpp@1:6ba905bf8eb1, 2015-09-30 (annotated)
- Committer:
- WAT34
- Date:
- Wed Sep 30 07:37:28 2015 +0000
- Revision:
- 1:6ba905bf8eb1
- Parent:
- 0:bbaf8033ed44
bugs were fixed.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
eil4nyqn | 0:bbaf8033ed44 | 1 | #include "mbed.h" |
eil4nyqn | 0:bbaf8033ed44 | 2 | #include "ACM1602NI.h" |
WAT34 | 1:6ba905bf8eb1 | 3 | BusIn sw(p22,p29,p21,p10,p23,p12,p24,p22); |
eil4nyqn | 0:bbaf8033ed44 | 4 | BusIn t(p9,p11); |
eil4nyqn | 0:bbaf8033ed44 | 5 | BusIn ajust(p29,p30); |
WAT34 | 1:6ba905bf8eb1 | 6 | DigitalIn paul1(p5,PullUp); |
WAT34 | 1:6ba905bf8eb1 | 7 | DigitalIn paul2(p6,PullUp); |
WAT34 | 1:6ba905bf8eb1 | 8 | DigitalIn paul3(p7,PullUp); |
WAT34 | 1:6ba905bf8eb1 | 9 | DigitalIn paul4(p8,PullUp); |
eil4nyqn | 0:bbaf8033ed44 | 10 | AnalogIn r(p17); |
eil4nyqn | 0:bbaf8033ed44 | 11 | AnalogIn l(p15); |
eil4nyqn | 0:bbaf8033ed44 | 12 | //BusOut led(LED1,LED2); |
eil4nyqn | 0:bbaf8033ed44 | 13 | BusOut led(p25,p26); |
eil4nyqn | 0:bbaf8033ed44 | 14 | Serial robo(p13,p14); |
eil4nyqn | 0:bbaf8033ed44 | 15 | ACM1602NI lcd(p28,p27); |
eil4nyqn | 0:bbaf8033ed44 | 16 | int main() { |
eil4nyqn | 0:bbaf8033ed44 | 17 | char data,ro,lo; |
eil4nyqn | 0:bbaf8033ed44 | 18 | int8_t tilt = 0,ajst = 0; |
eil4nyqn | 0:bbaf8033ed44 | 19 | double dt,ra,la; |
eil4nyqn | 0:bbaf8033ed44 | 20 | t.mode(PullUp); |
eil4nyqn | 0:bbaf8033ed44 | 21 | sw.mode(PullUp); |
eil4nyqn | 0:bbaf8033ed44 | 22 | ajust.mode(PullUp); |
eil4nyqn | 0:bbaf8033ed44 | 23 | while(1) { |
eil4nyqn | 0:bbaf8033ed44 | 24 | ra = r; |
eil4nyqn | 0:bbaf8033ed44 | 25 | la = l; |
eil4nyqn | 0:bbaf8033ed44 | 26 | ro = ((ra-0.20)/0.65)*254; |
eil4nyqn | 0:bbaf8033ed44 | 27 | lo = ((la-0.14)/0.68)*254; |
eil4nyqn | 0:bbaf8033ed44 | 28 | ajst = ajust; |
eil4nyqn | 0:bbaf8033ed44 | 29 | |
eil4nyqn | 0:bbaf8033ed44 | 30 | if(t == 2){ |
eil4nyqn | 0:bbaf8033ed44 | 31 | dt = dt+0.02; |
eil4nyqn | 0:bbaf8033ed44 | 32 | led = 1; |
eil4nyqn | 0:bbaf8033ed44 | 33 | } |
eil4nyqn | 0:bbaf8033ed44 | 34 | if(t == 1){ |
eil4nyqn | 0:bbaf8033ed44 | 35 | dt = dt-0.02; |
eil4nyqn | 0:bbaf8033ed44 | 36 | led = 2; |
eil4nyqn | 0:bbaf8033ed44 | 37 | } |
WAT34 | 1:6ba905bf8eb1 | 38 | if (paul1 == 0){ |
eil4nyqn | 0:bbaf8033ed44 | 39 | dt = 10; |
eil4nyqn | 0:bbaf8033ed44 | 40 | } |
eil4nyqn | 0:bbaf8033ed44 | 41 | if (paul2 == 0){ |
eil4nyqn | 0:bbaf8033ed44 | 42 | dt = 20; |
eil4nyqn | 0:bbaf8033ed44 | 43 | } |
eil4nyqn | 0:bbaf8033ed44 | 44 | if (paul3 == 0){ |
eil4nyqn | 0:bbaf8033ed44 | 45 | dt = -10; |
eil4nyqn | 0:bbaf8033ed44 | 46 | } |
eil4nyqn | 0:bbaf8033ed44 | 47 | if (paul4 == 0){ |
eil4nyqn | 0:bbaf8033ed44 | 48 | dt = -20; |
WAT34 | 1:6ba905bf8eb1 | 49 | } |
eil4nyqn | 0:bbaf8033ed44 | 50 | tilt = dt; |
eil4nyqn | 0:bbaf8033ed44 | 51 | data = sw; |
eil4nyqn | 0:bbaf8033ed44 | 52 | robo.putc(255); |
eil4nyqn | 0:bbaf8033ed44 | 53 | robo.putc(~data); |
eil4nyqn | 0:bbaf8033ed44 | 54 | robo.putc(tilt); |
eil4nyqn | 0:bbaf8033ed44 | 55 | robo.putc(ro); |
eil4nyqn | 0:bbaf8033ed44 | 56 | robo.putc(lo); |
eil4nyqn | 0:bbaf8033ed44 | 57 | robo.putc(ajst); |
eil4nyqn | 0:bbaf8033ed44 | 58 | robo.putc(~data^tilt^ro^lo); |
eil4nyqn | 0:bbaf8033ed44 | 59 | //printf("%d\n\r",~data); |
eil4nyqn | 0:bbaf8033ed44 | 60 | //printf("%lf--%lf\n\r",ra,la); |
eil4nyqn | 0:bbaf8033ed44 | 61 | printf("%d---%d\n\r",ro,lo); |
WAT34 | 1:6ba905bf8eb1 | 62 | lcd.printf("tilt :%3d\n",tilt); |
WAT34 | 1:6ba905bf8eb1 | 63 | //lcd.printf("tilt :%d\n",tilt); |
WAT34 | 1:6ba905bf8eb1 | 64 | lcd.locate(0,0); |
eil4nyqn | 0:bbaf8033ed44 | 65 | } |
eil4nyqn | 0:bbaf8033ed44 | 66 | } |