Putty-Ausgabe

Dependencies:   mbed

main.cpp

Committer:
EHess
Date:
2017-04-13
Revision:
0:fb3f7c677c18
Child:
1:fc836343f42b

File content as of revision 0:fb3f7c677c18:

#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 Sensoren
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

//Timer-Objekt für Distanzsensor
Ticker t1;


//Titel printf()
void title() {
    printf("\n  < ^  \t\t   ^   \t\t  ^ >  \t\t\t");
    printf("  < _  \t\t   _   \t\t  _ >  \n\r");
}


int main() {
    float sensorValue[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};    //Array der 6 Sensorenwerte

    t1.attach(&title, 5);   //Betitelung der Sensorwerte alle 5 Sekunden

    //Initialisiert Distanzsensoren
    for( int i = 0; i < 6; i++) {
        sensors[i].init(&distance, &bit0, &bit1, &bit2, i);
    }
    enableSensor = 1;   //Aktiviert die IRSensoren

    while(1) {
        for(int i = 0; i < 6; i++){     //Setzt alle Sensorwerte auf NULL
            sensorValue[i] = 0.0f;
        }
        for(int i = 0; i < 10; i++){    //Addiert pro Sensor 10 Werte zusammen (zur Auskorrigierung von Fehlerwerten)
            for(int i = 0; i < 6; i++){
                sensorValue[i] += sensors[i].read();
            }
            wait( 0.01f );
        }
        printf("%f\t%f\t%f\t\t", sensorValue[5], sensorValue[0], sensorValue[1]);   //Plottet die oberen Sensoren
        printf("%f\t%f\t%f\n\r", sensorValue[4], sensorValue[3], sensorValue[2]);   //Plottet die unteren Sensoren
    }
}