Dependencies:   mbed Servo

Committer:
cdaszynski
Date:
Wed Apr 17 16:23:27 2019 +0000
Revision:
1:f6c866aedc5e
Parent:
0:560e97bbc0c0
Child:
2:dd5a887a6990
WorkingLEDCode

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cdaszynski 1:f6c866aedc5e 1 #include "mbed.h"
cdaszynski 0:560e97bbc0c0 2 #include <stdio.h>
cdaszynski 1:f6c866aedc5e 3 #include "Servo.h"
cdaszynski 0:560e97bbc0c0 4
cdaszynski 1:f6c866aedc5e 5 AnalogIn ldr(A3); //no filter
cdaszynski 1:f6c866aedc5e 6 AnalogIn ldrfilter(A6); //filter
cdaszynski 1:f6c866aedc5e 7 //DigitalOut myLED(LED3);
cdaszynski 1:f6c866aedc5e 8 //DigitalOut output(D3);
cdaszynski 1:f6c866aedc5e 9 Servo myservo(D3);
cdaszynski 1:f6c866aedc5e 10
cdaszynski 1:f6c866aedc5e 11 //VALFILTER is the value read in at the filtered photoresistor
cdaszynski 1:f6c866aedc5e 12 //VAL is the value read in at the regular photoresistor
cdaszynski 0:560e97bbc0c0 13
cdaszynski 0:560e97bbc0c0 14 int main() {
cdaszynski 1:f6c866aedc5e 15 myservo.write(0);
cdaszynski 1:f6c866aedc5e 16
cdaszynski 1:f6c866aedc5e 17 float valfilter[50],val[50],voltfilter[50],volt[50];
cdaszynski 1:f6c866aedc5e 18 int countfilter = 0;
cdaszynski 1:f6c866aedc5e 19 int countnorm = 0;
cdaszynski 1:f6c866aedc5e 20 for(int i=0;i<50;i++)
cdaszynski 0:560e97bbc0c0 21 {
cdaszynski 1:f6c866aedc5e 22 valfilter[i]= ldrfilter.read();
cdaszynski 0:560e97bbc0c0 23 val[i]= ldr.read();
cdaszynski 1:f6c866aedc5e 24 voltfilter[i]=(valfilter[i]*3.6);
cdaszynski 0:560e97bbc0c0 25 volt[i]=(val[i]*3.6);
cdaszynski 1:f6c866aedc5e 26 printf("Filter: %f %f NoFilter: %f %f\r\n",voltfilter[i],valfilter[i],volt[i],val[i]);
cdaszynski 1:f6c866aedc5e 27 //myLED=0;
cdaszynski 1:f6c866aedc5e 28 //output = 1;
cdaszynski 1:f6c866aedc5e 29 if (valfilter[i] > .82 && valfilter[i] < .87){
cdaszynski 1:f6c866aedc5e 30 countfilter = countfilter + 1;
cdaszynski 1:f6c866aedc5e 31 }
cdaszynski 1:f6c866aedc5e 32 if (val[i] > .7 && val[i] <= .85){
cdaszynski 1:f6c866aedc5e 33 countnorm = countnorm + 1;
cdaszynski 1:f6c866aedc5e 34 }
cdaszynski 1:f6c866aedc5e 35 printf("Filter Count: %i NoFilter: %i \r\n", countfilter, countnorm);
cdaszynski 1:f6c866aedc5e 36 }
cdaszynski 1:f6c866aedc5e 37
cdaszynski 1:f6c866aedc5e 38 if (countfilter >= 45 && countnorm >= 40){
cdaszynski 1:f6c866aedc5e 39 printf("MY SERVO SHOULD HAVE MOVED ITS FULL RANGE!!!");
cdaszynski 1:f6c866aedc5e 40 myservo.write(1);
cdaszynski 1:f6c866aedc5e 41 //output.write(1);
cdaszynski 1:f6c866aedc5e 42 //wait(500);
cdaszynski 1:f6c866aedc5e 43 //output = 1;
cdaszynski 1:f6c866aedc5e 44 //wait(500);
cdaszynski 1:f6c866aedc5e 45 }
cdaszynski 1:f6c866aedc5e 46 else{
cdaszynski 1:f6c866aedc5e 47 //output.write(0);
cdaszynski 1:f6c866aedc5e 48 myservo.write(0);
cdaszynski 1:f6c866aedc5e 49 printf("MY SERVO SHOULD NOT MOVE, ONLY POSITION TO 0");
cdaszynski 1:f6c866aedc5e 50 //wait(500);
cdaszynski 1:f6c866aedc5e 51 //output = 0;
cdaszynski 1:f6c866aedc5e 52 //wait(500);
cdaszynski 0:560e97bbc0c0 53 }
cdaszynski 1:f6c866aedc5e 54
cdaszynski 0:560e97bbc0c0 55 }
cdaszynski 0:560e97bbc0c0 56
cdaszynski 1:f6c866aedc5e 57
cdaszynski 0:560e97bbc0c0 58 /*
cdaszynski 0:560e97bbc0c0 59 #include "mbed.h"
cdaszynski 0:560e97bbc0c0 60
cdaszynski 0:560e97bbc0c0 61 DigitalOut led(LED1);
cdaszynski 0:560e97bbc0c0 62 AnalogIn mic1(A3);
cdaszynski 0:560e97bbc0c0 63 AnalogIn light1(A1);
cdaszynski 0:560e97bbc0c0 64 PwmOut servo(A4);
cdaszynski 0:560e97bbc0c0 65
cdaszynski 0:560e97bbc0c0 66 bool soundOn ()
cdaszynski 0:560e97bbc0c0 67 {
cdaszynski 0:560e97bbc0c0 68 float amp;
cdaszynski 0:560e97bbc0c0 69 amp = (mic1.read())*3.3;
cdaszynski 0:560e97bbc0c0 70 printf("Sound: %f\n", amp);
cdaszynski 0:560e97bbc0c0 71 if(amp > 1.2)
cdaszynski 0:560e97bbc0c0 72 {
cdaszynski 0:560e97bbc0c0 73 return true;
cdaszynski 0:560e97bbc0c0 74 }
cdaszynski 0:560e97bbc0c0 75 else
cdaszynski 0:560e97bbc0c0 76 {
cdaszynski 0:560e97bbc0c0 77 return false;
cdaszynski 0:560e97bbc0c0 78 }
cdaszynski 0:560e97bbc0c0 79 }
cdaszynski 0:560e97bbc0c0 80 bool lightOn ()
cdaszynski 0:560e97bbc0c0 81 {
cdaszynski 0:560e97bbc0c0 82 float lchk;
cdaszynski 0:560e97bbc0c0 83 lchk = 3.3 - (light1.read()*3.3);
cdaszynski 0:560e97bbc0c0 84 if(lchk > 1)
cdaszynski 0:560e97bbc0c0 85 {
cdaszynski 0:560e97bbc0c0 86 return true;
cdaszynski 0:560e97bbc0c0 87 }
cdaszynski 0:560e97bbc0c0 88 else
cdaszynski 0:560e97bbc0c0 89 {
cdaszynski 0:560e97bbc0c0 90 return false;
cdaszynski 0:560e97bbc0c0 91 }
cdaszynski 0:560e97bbc0c0 92 }
cdaszynski 0:560e97bbc0c0 93
cdaszynski 0:560e97bbc0c0 94 int main()
cdaszynski 0:560e97bbc0c0 95 {
cdaszynski 0:560e97bbc0c0 96 int start = 0;
cdaszynski 0:560e97bbc0c0 97 int light, sound;
cdaszynski 0:560e97bbc0c0 98 while(start == 0)
cdaszynski 0:560e97bbc0c0 99 {
cdaszynski 0:560e97bbc0c0 100 if(soundOn() == true)
cdaszynski 0:560e97bbc0c0 101 sound = 1;
cdaszynski 0:560e97bbc0c0 102 if(lightOn() == true)
cdaszynski 0:560e97bbc0c0 103 light = 1;
cdaszynski 0:560e97bbc0c0 104 if(light == 1 && sound == 1)
cdaszynski 0:560e97bbc0c0 105 {
cdaszynski 0:560e97bbc0c0 106 servo.write(0.5);
cdaszynski 0:560e97bbc0c0 107 }
cdaszynski 0:560e97bbc0c0 108 }
cdaszynski 0:560e97bbc0c0 109 }
cdaszynski 0:560e97bbc0c0 110 */