this system is speed sensor for the human powered airplane by the pitot tube. the pitot tube is used the differential pressure senser SDP-1000.

Dependencies:   SDFileSystem mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "SDFileSystem.h"
00003 
00004 
00005 SDFileSystem sd(p5, p6, p7, p8, "sd");
00006 AnalogIn  pitot(p18);
00007 
00008 DigitalOut  led1(LED1);
00009 DigitalOut  led2(LED2);
00010 DigitalOut  led3(LED3);
00011 DigitalOut  led4(LED4);
00012 DigitalIn   logging(p19);
00013 DigitalOut stop_counter(p20);
00014 PwmOut servo(p21);
00015 Timer t;
00016 
00017 float pout;
00018 double time_pulse, length, pres, vel;
00019 float sp_of_s;
00020 float  temp = 0;
00021 
00022 
00023 int main() {
00024     led1 = 0.0;
00025     led2 = 0.0;
00026     led3 = 0.0;
00027     led4 = 0.0;
00028     wait(0.5);
00029     
00030     while(logging < 0.5) {
00031         led1 = 1;
00032         led4 = 1;
00033         wait(0.5);
00034         led1 = 0;
00035         led4 = 0;
00036         wait(0.5);
00037         }
00038         
00039     wait(3);
00040     //setup log file    
00041     FILE *fp = fopen("/sd/TFLOG.csv", "w");
00042     if(fp == NULL) {
00043         error("Could not open file for write\n\r");
00044         }
00045         
00046     fprintf(fp, "altitude, velocity\n");    
00047     stop_counter = 0;
00048     led1 = 1;
00049     led4 = 1;
00050     
00051     while(logging < 0.5){
00052         //get velocity
00053         pres = 500 * (pitot.read()*5-0.25)/3.75*0.95-15.5;
00054             
00055             if(pres > 0){
00056                 vel=sqrt(2.0/1.225*pres);
00057             }
00058             else{
00059             vel=-sqrt(2.0/1.225*pres*(-1.0));
00060             }
00061         
00062         fprintf(fp,"%6.4f\n ", vel);
00063         //servo.pulsewidth(pout);
00064         //wait(0.04888-time_pulse/1000000);
00065         wait(0.01);
00066     }
00067     stop_counter = 1;
00068     fclose(fp);
00069     led1 = 0;
00070     led4 = 0;
00071 }