E=MC
/
e=mc
.
main.cpp
- Committer:
- ericoneill
- Date:
- 2015-02-27
- Revision:
- 3:7eaf505f811e
- Parent:
- 2:30ebae0d3e17
- Child:
- 4:263bddc51c0f
File content as of revision 3:7eaf505f811e:
#include "mbed.h" DigitalOut myled(LED1); PwmOut servo(PTA5); PwmOut motor(PTA4); Serial pc(USBTX, USBRX); // tx, rx // encoder setup and variables InterruptIn interrupt(PTA13); int previous_val = -1; Timer t; void servo_sweep(){ for(float p = 0.001; p<0.002; p+=0.0001){ servo.pulsewidth(p); wait(0.5); } } void fallInterrupt(){ pc.printf("fall"); } void riseInterrupt(){ pc.printf("rise"); } int main() { servo.period(0.005); motor.period(.0025); interrupt.fall(&fallInterrupt); interrupt.rise(&riseInterrupt); t.start(); int lastchange = 0; while(1){/* if(din) { if(previous_val != 1){ int current_time = t.read_ms(); int interval = current_time - lastchange; lastchange = current_time; pc.printf("light to dark time : %d\n\r", interval); previous_val = 1; } myled = 1; //pc.printf("dark"); } else { if(previous_val != 0){ int current_time = t.read_ms(); int interval = current_time - lastchange; lastchange = current_time; pc.printf("dark to light time : %d\n\r", interval); previous_val = 0; } myled = 0; //pc.printf("light"); } //wait(.2f); */ char choice = pc.getc(); pc.putc(choice); switch(choice){ case '0': motor.pulsewidth(0.0); pc.printf("0% \n\r"); break; case '1': motor.pulsewidth(.0025); pc.printf("100% \n\r"); break; case '3': motor.pulsewidth(.0025*.3); pc.printf("30% \n\r"); break; case '5': motor.pulsewidth(.0025*.5); pc.printf("50% \n\r"); break; default: motor.pulsewidth(.0025*.3); pc.printf("default\n\r"); break; } //servo_sweep(); //motor_sweep(); //motor.pulsewidth(.0025); } }