Josh Goldberg / Mbed 2 deprecated count_pills

Dependencies:   Servo mbed

Committer:
jgoldberg
Date:
Fri Dec 12 01:18:01 2014 +0000
Revision:
1:9ebe670d8a19
Parent:
0:15d3cdafd311
Updated calibration values for small breadboard

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jgoldberg 0:15d3cdafd311 1 #include "mbed.h"
jgoldberg 0:15d3cdafd311 2 #include "util.h"
jgoldberg 0:15d3cdafd311 3 #include "weight.h"
jgoldberg 0:15d3cdafd311 4 #include "Servo.h"
jgoldberg 0:15d3cdafd311 5
jgoldberg 0:15d3cdafd311 6 Servo myservo(PTD4);
jgoldberg 0:15d3cdafd311 7 DigitalOut myled1(LED1);
jgoldberg 0:15d3cdafd311 8 DigitalOut myled2(LED2);
jgoldberg 0:15d3cdafd311 9 DigitalOut myled3(LED3);
jgoldberg 0:15d3cdafd311 10 AnalogIn myADC(A0);
jgoldberg 0:15d3cdafd311 11 Serial pc(USBTX, USBRX); // tx, rx
jgoldberg 0:15d3cdafd311 12
jgoldberg 0:15d3cdafd311 13 int main() {
jgoldberg 0:15d3cdafd311 14 int number_pills;
jgoldberg 0:15d3cdafd311 15
jgoldberg 0:15d3cdafd311 16 myled1 = 1; //red off
jgoldberg 0:15d3cdafd311 17 myled2 = 1; //green off
jgoldberg 0:15d3cdafd311 18 myled3 = 1; //blue off
jgoldberg 1:9ebe670d8a19 19 //uint16_t val;
jgoldberg 1:9ebe670d8a19 20 //uint16_t val_avg;
jgoldberg 0:15d3cdafd311 21 while(1) {
jgoldberg 1:9ebe670d8a19 22 //val = myADC.read_u16();
jgoldberg 1:9ebe670d8a19 23 //val_avg = mvgAvg(val, 0);
jgoldberg 1:9ebe670d8a19 24 //pc.printf("raw: %d avg: %d\n\r", val, val_avg);
jgoldberg 0:15d3cdafd311 25 number_pills = measure_pills();
jgoldberg 0:15d3cdafd311 26 //pc.printf("Number of pills: %d\n\r", number_pills);
jgoldberg 0:15d3cdafd311 27 wait(0.05);
jgoldberg 0:15d3cdafd311 28 }
jgoldberg 0:15d3cdafd311 29 }
jgoldberg 0:15d3cdafd311 30
jgoldberg 0:15d3cdafd311 31 void run_servo() {
jgoldberg 0:15d3cdafd311 32
jgoldberg 0:15d3cdafd311 33 /*wait(0.05);
jgoldberg 0:15d3cdafd311 34 for(float p=0; p<1.0; p += 0.1) {
jgoldberg 0:15d3cdafd311 35 myservo = p;
jgoldberg 0:15d3cdafd311 36 pc.printf("%f\n\r", p);
jgoldberg 0:15d3cdafd311 37 wait(0.2);
jgoldberg 0:15d3cdafd311 38 }*/
jgoldberg 0:15d3cdafd311 39
jgoldberg 0:15d3cdafd311 40 printf("Servo Calibration Controls:\n");
jgoldberg 0:15d3cdafd311 41 printf("1,2,3 - Position Servo (full left, middle, full right)\n");
jgoldberg 0:15d3cdafd311 42 printf("4,5 - Decrease or Increase range\n");
jgoldberg 0:15d3cdafd311 43
jgoldberg 0:15d3cdafd311 44 float range = 0.0005;
jgoldberg 0:15d3cdafd311 45 float position = 0.5;
jgoldberg 0:15d3cdafd311 46
jgoldberg 0:15d3cdafd311 47 while(1) {
jgoldberg 0:15d3cdafd311 48 switch(pc.getc()) {
jgoldberg 0:15d3cdafd311 49 case '1': position = 0.0; break;
jgoldberg 0:15d3cdafd311 50 case '2': position = 0.5; break;
jgoldberg 0:15d3cdafd311 51 case '3': position = 1.0; break;
jgoldberg 0:15d3cdafd311 52 case '4': range += 0.0001; break;
jgoldberg 0:15d3cdafd311 53 case '5': range -= 0.0001; break;
jgoldberg 0:15d3cdafd311 54 }
jgoldberg 0:15d3cdafd311 55 printf("position = %.1f, range = +/-%0.4f\n", position, range);
jgoldberg 0:15d3cdafd311 56 myservo.calibrate(range, 45.0);
jgoldberg 0:15d3cdafd311 57 myservo = position;
jgoldberg 0:15d3cdafd311 58 }
jgoldberg 0:15d3cdafd311 59 }