Putty-Ausgabe

Dependencies:   mbed

main.cpp

Committer:
EHess
Date:
2017-04-25
Revision:
1:fc836343f42b
Parent:
0:fb3f7c677c18

File content as of revision 1:fc836343f42b:

#include "mbed.h"
#include "IRSensor.h"

//E. Hess
//Sensortest

DigitalOut led(LED1);           //Zustands-LED: Grüne LED für Benutzer

AnalogIn distance(PB_1);        //Input der Distanzsensoren
DigitalOut enableSensor(PC_1);  //Aktivierung der IRSensoren
DigitalOut bit0(PH_1);          //Ansteuerung der Sensoren 0-5 mit 3 Bits
DigitalOut bit1(PC_2);
DigitalOut bit2(PC_3);
IRSensor sensors[6];            //Erstellt 6 IRSensor-Objekte als Array

DigitalOut leds[] = { PC_8, PC_6, PB_12, PA_7, PC_0, PC_9 };    //LED-Outputs der Sensoren


//Titel printf()
void title() {
    printf("\f  <    \t\t   -   \t\t    >\n\r"); //"\f" Setzt den Cursor an den Anfang der nächsten Seite
}


int main() {
    float sensorMittelwert[6];   //Array der 6 Sensorenwerte
    float sensorTiefbass[6];
    int zaehler = 0;

    //Initialisiert Distanzsensoren und setzt sensorValue und sensorTiefbass auf NULL
    for( int i = 0; i < 6; i++) {
        sensors[i].init(&distance, &bit0, &bit1, &bit2, i);
        sensorMittelwert[i] = 0.0f;
        sensorTiefbass[i] = 0.0f;
    }
    enableSensor = 1;   //Aktiviert die IRSensoren

    while(1) {
        for(int j = 0; j < 25; j++){                 //Zählt 25 Sensorwerten pro Sensor zusammen
            for(int i = 0; i < 6; i++){
                sensorMittelwert[i] += sensors[i].read();
            }
            wait( 0.001f );
        }
        for(int i = 0; i < 6; i++){
            sensorTiefbass[i] = sensorTiefbass[i]*0.75f + sensorMittelwert[i]*0.25f;    //Verrechnet den neuen Wert mit dem alten
            sensorMittelwert[i] = 0.0f;                                                 //Setzt die Sensorwerte auf NULL
        }
        
        printf("%f\t%f\t%f\t\t%f\n\r", sensorTiefbass[3], sensorTiefbass[4], sensorTiefbass[2], sensorTiefbass[0]);   //Plottet die unteren Sensoren
        
        zaehler++;
        if(zaehler % 40 == 0) title();  //Erstellt nach 40 Zeilen eine neue Seite
    }
}