.

Dependencies:   Servo mbed

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?

UserRevisionLine numberNew 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 }