E=MC
/
e=mc
.
main.cpp@1:8e5821dec0f7, 2015-02-27 (annotated)
- Committer:
- ericoneill
- Date:
- Fri Feb 27 00:12:53 2015 +0000
- Revision:
- 1:8e5821dec0f7
- Parent:
- 0:d328ecb3fbb1
- Child:
- 2:30ebae0d3e17
started to do edge detection
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ericoneill | 0:d328ecb3fbb1 | 1 | #include "mbed.h" |
ericoneill | 0:d328ecb3fbb1 | 2 | |
ericoneill | 0:d328ecb3fbb1 | 3 | DigitalOut myled(LED1); |
ericoneill | 0:d328ecb3fbb1 | 4 | PwmOut servo(PTA5); |
ericoneill | 0:d328ecb3fbb1 | 5 | PwmOut motor(PTA4); |
ericoneill | 0:d328ecb3fbb1 | 6 | Serial pc(USBTX, USBRX); // tx, rx |
ericoneill | 1:8e5821dec0f7 | 7 | DigitalIn din(PTA13); |
ericoneill | 1:8e5821dec0f7 | 8 | Timer t; |
ericoneill | 0:d328ecb3fbb1 | 9 | |
ericoneill | 0:d328ecb3fbb1 | 10 | void motor_sweep() { |
ericoneill | 0:d328ecb3fbb1 | 11 | for(float p = 0.0; p<.0025; p+=.0001){ |
ericoneill | 0:d328ecb3fbb1 | 12 | motor.pulsewidth(p); |
ericoneill | 0:d328ecb3fbb1 | 13 | if(p == 0.0 || p == 1.0 || p == .0007){ |
ericoneill | 0:d328ecb3fbb1 | 14 | wait(2); |
ericoneill | 0:d328ecb3fbb1 | 15 | } |
ericoneill | 0:d328ecb3fbb1 | 16 | wait(.1); |
ericoneill | 0:d328ecb3fbb1 | 17 | } |
ericoneill | 0:d328ecb3fbb1 | 18 | } |
ericoneill | 0:d328ecb3fbb1 | 19 | |
ericoneill | 0:d328ecb3fbb1 | 20 | void servo_sweep(){ |
ericoneill | 0:d328ecb3fbb1 | 21 | for(float p = 0.001; p<0.002; p+=0.0001){ |
ericoneill | 0:d328ecb3fbb1 | 22 | servo.pulsewidth(p); |
ericoneill | 0:d328ecb3fbb1 | 23 | wait(0.5); |
ericoneill | 0:d328ecb3fbb1 | 24 | } |
ericoneill | 0:d328ecb3fbb1 | 25 | } |
ericoneill | 0:d328ecb3fbb1 | 26 | |
ericoneill | 0:d328ecb3fbb1 | 27 | int main() { |
ericoneill | 0:d328ecb3fbb1 | 28 | servo.period(0.005); |
ericoneill | 0:d328ecb3fbb1 | 29 | motor.period(.0025); |
ericoneill | 1:8e5821dec0f7 | 30 | int previous_val = -1; |
ericoneill | 1:8e5821dec0f7 | 31 | |
ericoneill | 1:8e5821dec0f7 | 32 | t.start(); |
ericoneill | 1:8e5821dec0f7 | 33 | int timechange = 0; |
ericoneill | 0:d328ecb3fbb1 | 34 | while(1){ |
ericoneill | 1:8e5821dec0f7 | 35 | if(din) { |
ericoneill | 1:8e5821dec0f7 | 36 | if(previous_val = 0){ |
ericoneill | 1:8e5821dec0f7 | 37 | |
ericoneill | 1:8e5821dec0f7 | 38 | } |
ericoneill | 1:8e5821dec0f7 | 39 | myled = 1; |
ericoneill | 1:8e5821dec0f7 | 40 | pc.printf("dark"); |
ericoneill | 1:8e5821dec0f7 | 41 | } else { |
ericoneill | 1:8e5821dec0f7 | 42 | myled = 0; |
ericoneill | 1:8e5821dec0f7 | 43 | pc.printf("light"); |
ericoneill | 1:8e5821dec0f7 | 44 | } |
ericoneill | 1:8e5821dec0f7 | 45 | wait(.2f); |
ericoneill | 1:8e5821dec0f7 | 46 | //char choice = pc.getc(); |
ericoneill | 0:d328ecb3fbb1 | 47 | //pc.putc(choice); |
ericoneill | 1:8e5821dec0f7 | 48 | /*switch(choice){ |
ericoneill | 0:d328ecb3fbb1 | 49 | case '0': |
ericoneill | 0:d328ecb3fbb1 | 50 | motor.pulsewidth(0.0); |
ericoneill | 0:d328ecb3fbb1 | 51 | pc.printf("0% \n"); |
ericoneill | 0:d328ecb3fbb1 | 52 | break; |
ericoneill | 0:d328ecb3fbb1 | 53 | case '1': |
ericoneill | 0:d328ecb3fbb1 | 54 | motor.pulsewidth(.0025); |
ericoneill | 0:d328ecb3fbb1 | 55 | pc.printf("100% \n"); |
ericoneill | 0:d328ecb3fbb1 | 56 | break; |
ericoneill | 0:d328ecb3fbb1 | 57 | case '3': |
ericoneill | 0:d328ecb3fbb1 | 58 | motor.pulsewidth(.0025*.3); |
ericoneill | 0:d328ecb3fbb1 | 59 | pc.printf("30% \n"); |
ericoneill | 0:d328ecb3fbb1 | 60 | break; |
ericoneill | 0:d328ecb3fbb1 | 61 | case '5': |
ericoneill | 0:d328ecb3fbb1 | 62 | motor.pulsewidth(.0025*.5); |
ericoneill | 0:d328ecb3fbb1 | 63 | pc.printf("50% \n"); |
ericoneill | 0:d328ecb3fbb1 | 64 | break; |
ericoneill | 0:d328ecb3fbb1 | 65 | default: |
ericoneill | 0:d328ecb3fbb1 | 66 | motor.pulsewidth(.0025*.3); |
ericoneill | 0:d328ecb3fbb1 | 67 | pc.printf("default"); |
ericoneill | 0:d328ecb3fbb1 | 68 | break; |
ericoneill | 0:d328ecb3fbb1 | 69 | } |
ericoneill | 1:8e5821dec0f7 | 70 | */ |
ericoneill | 0:d328ecb3fbb1 | 71 | //servo_sweep(); |
ericoneill | 0:d328ecb3fbb1 | 72 | //motor_sweep(); |
ericoneill | 0:d328ecb3fbb1 | 73 | //motor.pulsewidth(.0025); |
ericoneill | 0:d328ecb3fbb1 | 74 | } |
ericoneill | 0:d328ecb3fbb1 | 75 | } |