lab5

Fork of PwmOut_HelloWorld by mbed_example

Committer:
Asimtaj
Date:
Thu Nov 23 17:03:29 2017 +0000
Revision:
4:ef9385dba098
Parent:
1:5160ea45399b
lab5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:50d2b9c62765 1 #include "mbed.h"
mbedAustin 1:5160ea45399b 2
Asimtaj 4:ef9385dba098 3
Asimtaj 4:ef9385dba098 4 PwmOut PWM0(p21); //PWM out
Asimtaj 4:ef9385dba098 5 AnalogIn ain0(p16); //Analog input A0
Asimtaj 4:ef9385dba098 6 AnalogIn ain1(p20); //Analog input A1
Asimtaj 4:ef9385dba098 7 DigitalOut ledasim(LED1);
Asimtaj 4:ef9385dba098 8 DigitalOut ledasim2(LED2);
Asimtaj 4:ef9385dba098 9 Serial pc(USBTX, USBRX); // tx, rx
Asimtaj 4:ef9385dba098 10 float test=0;
mbed_official 0:50d2b9c62765 11 int main() {
Asimtaj 4:ef9385dba098 12 int ain11 = 0;
Asimtaj 4:ef9385dba098 13 //PWM0.period(0.0f); // 0second period
Asimtaj 4:ef9385dba098 14 //PWM0.write(0.0f);
Asimtaj 4:ef9385dba098 15 test=ain1;
Asimtaj 4:ef9385dba098 16 pc.printf("%f\n\r",test);
Asimtaj 4:ef9385dba098 17 wait(5);
Asimtaj 4:ef9385dba098 18 while(ain1>0.18){
Asimtaj 4:ef9385dba098 19 test=ain1;
Asimtaj 4:ef9385dba098 20 pc.printf("%f\n\r",test);
Asimtaj 4:ef9385dba098 21 }
Asimtaj 4:ef9385dba098 22 while(1){
Asimtaj 4:ef9385dba098 23 if(ain1<0.8){
mbedAustin 1:5160ea45399b 24 // specify period first
Asimtaj 4:ef9385dba098 25 PWM0.period(0.0025f); // 0.0025 second period
Asimtaj 4:ef9385dba098 26 PWM0.write(0.8f); // 50% duty cycle, relative to period
mbedAustin 1:5160ea45399b 27 //led = 0.5f; // shorthand for led.write()
mbedAustin 1:5160ea45399b 28 //led.pulsewidth(2); // alternative to led.write, set duty cycle time in seconds
Asimtaj 4:ef9385dba098 29 //printf("ll");
Asimtaj 4:ef9385dba098 30 ledasim=!ledasim;
Asimtaj 4:ef9385dba098 31 //printf("%f\n\r",ain0);
Asimtaj 4:ef9385dba098 32 //printf(" %f\n\r", ain0.read());
Asimtaj 4:ef9385dba098 33 }
Asimtaj 4:ef9385dba098 34 wait(5);
Asimtaj 4:ef9385dba098 35 while(1){
Asimtaj 4:ef9385dba098 36 wait(0.25);
Asimtaj 4:ef9385dba098 37 test=ain0;
Asimtaj 4:ef9385dba098 38 pc.printf("%f\n\r",test);
Asimtaj 4:ef9385dba098 39 if(ain0 > 0.289 || ain0 < 0.268) {
Asimtaj 4:ef9385dba098 40 PWM0.period(0.0f); // 0second period
Asimtaj 4:ef9385dba098 41 PWM0.write(0.0f);
Asimtaj 4:ef9385dba098 42 ain11= 1;
Asimtaj 4:ef9385dba098 43 } else if(ain11 == 0){
Asimtaj 4:ef9385dba098 44 PWM0.period(0.0025f); // 0second period
Asimtaj 4:ef9385dba098 45 PWM0.write(0.8f);
Asimtaj 4:ef9385dba098 46 }
Asimtaj 4:ef9385dba098 47 }
Asimtaj 4:ef9385dba098 48
Asimtaj 4:ef9385dba098 49 }
Asimtaj 4:ef9385dba098 50 }