part 6 and extra credit

Dependencies:   C12832 Servo mbed

main.cpp

Committer:
jaredwil
Date:
2015-03-06
Revision:
4:9c354b69b590
Parent:
3:853bc68793d0

File content as of revision 4:9c354b69b590:

#include "mbed.h"
#include "C12832.h"
#include "Servo.h"

 
Servo s1(p21);

C12832 lcd(p5, p7, p6, p8, p11);

DigitalOut myled(LED1);
AnalogIn light(p16);

int main() {

    float val,val2, count = 0;
    float pos = 0;
    
//Flash Phone Flash 4 times at close range to start the servo
    
    while(count < 4){
        val = light.read();
        if(val<0.5){
            lcd.locate(0,3);
            lcd.printf("reading: %.3f", val);
            wait(0.1);
            count++;
            while(light.read() < 0.5);
            lcd.cls();
        }
        
    }
    
    while(1) {
        lcd.cls();
        val = light.read();
        
        val2 = 1-val;
        
        
        /*application one
        //even for little light start servo with small steps(low speed)
        if(val2 > 0.1) {
            lcd.locate(0,3);
            lcd.printf("Sensor reading: %.3f", val);
            for(float p=0; p<1.0; p += val2) {
                s1 = p;
                wait(0.2);
            }
            for(float p=1.0; p>0; p -= val2) {
                s1 = p;
                wait(0.2);
            }     
        }
        
        */
        if(val2 > 0.1) {
        pos += val2*.05;
        
        if(pos > 1)
            pos -= 1;
            
        s1 = pos;
        wait_ms(10);
        }
        
    }
}