Demo 5 for EE2M02A/CSM213A Fall 2010

Committer:
zainulcharbiwala
Date:
Fri Oct 22 19:56:41 2010 +0000
Revision:
0:467a1af48585

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zainulcharbiwala 0:467a1af48585 1 #include "mbed.h"
zainulcharbiwala 0:467a1af48585 2
zainulcharbiwala 0:467a1af48585 3 DigitalOut myled1(LED1);
zainulcharbiwala 0:467a1af48585 4 DigitalOut myled2(LED2);
zainulcharbiwala 0:467a1af48585 5 DigitalOut myled3(LED3);
zainulcharbiwala 0:467a1af48585 6 Serial bt(p9, p10); // tx, rx
zainulcharbiwala 0:467a1af48585 7 AnalogIn light(p20);
zainulcharbiwala 0:467a1af48585 8 PwmOut servo(p21);
zainulcharbiwala 0:467a1af48585 9
zainulcharbiwala 0:467a1af48585 10 void servoMove(float pos);
zainulcharbiwala 0:467a1af48585 11 void progressiveLights(float val);
zainulcharbiwala 0:467a1af48585 12
zainulcharbiwala 0:467a1af48585 13 int main() {
zainulcharbiwala 0:467a1af48585 14 float val;
zainulcharbiwala 0:467a1af48585 15 servo.period(0.020); // servo requires a 20ms period
zainulcharbiwala 0:467a1af48585 16 while(1) {
zainulcharbiwala 0:467a1af48585 17 val = light.read()*5;
zainulcharbiwala 0:467a1af48585 18 if (val < 0) val=0;
zainulcharbiwala 0:467a1af48585 19 if (val > 1) val=1;
zainulcharbiwala 0:467a1af48585 20 bt.printf("Hello World - %f !\r\n", val);
zainulcharbiwala 0:467a1af48585 21 progressiveLights(val);
zainulcharbiwala 0:467a1af48585 22 servoMove(val);
zainulcharbiwala 0:467a1af48585 23 wait(0.01);
zainulcharbiwala 0:467a1af48585 24 }
zainulcharbiwala 0:467a1af48585 25
zainulcharbiwala 0:467a1af48585 26 }
zainulcharbiwala 0:467a1af48585 27
zainulcharbiwala 0:467a1af48585 28 void servoMove(float pos)
zainulcharbiwala 0:467a1af48585 29 {
zainulcharbiwala 0:467a1af48585 30 servo.pulsewidth(0.001 + pos/1000); // servo position determined by a pulsewidth between 1-2ms
zainulcharbiwala 0:467a1af48585 31 // wait(0.25);
zainulcharbiwala 0:467a1af48585 32 }
zainulcharbiwala 0:467a1af48585 33
zainulcharbiwala 0:467a1af48585 34 void progressiveLights(float val)
zainulcharbiwala 0:467a1af48585 35 {
zainulcharbiwala 0:467a1af48585 36 if (val > 0.2) {
zainulcharbiwala 0:467a1af48585 37 myled1 = 1;
zainulcharbiwala 0:467a1af48585 38 } else {
zainulcharbiwala 0:467a1af48585 39 myled1 = 0;
zainulcharbiwala 0:467a1af48585 40 }
zainulcharbiwala 0:467a1af48585 41 if (val > 0.4) {
zainulcharbiwala 0:467a1af48585 42 myled2 = 1;
zainulcharbiwala 0:467a1af48585 43 } else {
zainulcharbiwala 0:467a1af48585 44 myled2 = 0;
zainulcharbiwala 0:467a1af48585 45 }
zainulcharbiwala 0:467a1af48585 46 if (val > 0.6) {
zainulcharbiwala 0:467a1af48585 47 myled3 = 1;
zainulcharbiwala 0:467a1af48585 48 } else {
zainulcharbiwala 0:467a1af48585 49 myled3 = 0;
zainulcharbiwala 0:467a1af48585 50 }
zainulcharbiwala 0:467a1af48585 51 }