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
diff -r 000000000000 -r 15d3cdafd311 main.cpp
--- /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;
+ }
+}