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.
Diff: main.cpp
- Revision:
- 0:15d3cdafd311
- Child:
- 1:9ebe670d8a19
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Dec 11 21:54:03 2014 +0000 @@ -0,0 +1,55 @@ +#include "mbed.h" +#include "util.h" +#include "weight.h" +#include "Servo.h" + +Servo myservo(PTD4); +DigitalOut myled1(LED1); +DigitalOut myled2(LED2); +DigitalOut myled3(LED3); +AnalogIn myADC(A0); +Serial pc(USBTX, USBRX); // tx, rx + +int main() { + int number_pills; + + myled1 = 1; //red off + myled2 = 1; //green off + myled3 = 1; //blue off + + while(1) { + number_pills = measure_pills(); + //pc.printf("Number of pills: %d\n\r", number_pills); + wait(0.05); + } +} + +void run_servo() { + + /*wait(0.05); + for(float p=0; p<1.0; p += 0.1) { + myservo = p; + pc.printf("%f\n\r", p); + wait(0.2); + }*/ + + printf("Servo Calibration Controls:\n"); + printf("1,2,3 - Position Servo (full left, middle, full right)\n"); + printf("4,5 - Decrease or Increase range\n"); + + float range = 0.0005; + float position = 0.5; + + while(1) { + switch(pc.getc()) { + case '1': position = 0.0; break; + case '2': position = 0.5; break; + case '3': position = 1.0; break; + case '4': range += 0.0001; break; + case '5': range -= 0.0001; break; + } + printf("position = %.1f, range = +/-%0.4f\n", position, range); + myservo.calibrate(range, 45.0); + myservo = position; + } +}