Putty-Ausgabe
Dependencies: mbed
Revision 1:fc836343f42b, committed 2017-04-25
- Comitter:
- EHess
- Date:
- Tue Apr 25 14:51:47 2017 +0000
- Parent:
- 0:fb3f7c677c18
- Commit message:
- 25.04.17;
Changed in this revision
IRSensor.h | Show annotated file Show diff for this revision Revisions of this file |
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r fb3f7c677c18 -r fc836343f42b IRSensor.h --- a/IRSensor.h Thu Apr 13 08:30:35 2017 +0000 +++ b/IRSensor.h Tue Apr 25 14:51:47 2017 +0000 @@ -1,7 +1,6 @@ #ifndef IR_SENSOR_H #define IR_SENSOR_H -#include <cstdlib> //-> Nötig? #include "mbed.h" //E. Hess
diff -r fb3f7c677c18 -r fc836343f42b main.cpp --- a/main.cpp Thu Apr 13 08:30:35 2017 +0000 +++ b/main.cpp Tue Apr 25 14:51:47 2017 +0000 @@ -6,48 +6,50 @@ DigitalOut led(LED1); //Zustands-LED: Grüne LED für Benutzer -AnalogIn distance(PB_1); //Input der Sensoren +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 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"); + printf("\f < \t\t - \t\t >\n\r"); //"\f" Setzt den Cursor an den Anfang der nächsten Seite } int main() { - float sensorValue[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; //Array der 6 Sensorenwerte + float sensorMittelwert[6]; //Array der 6 Sensorenwerte + float sensorTiefbass[6]; + int zaehler = 0; - t1.attach(&title, 5); //Betitelung der Sensorwerte alle 5 Sekunden - - //Initialisiert Distanzsensoren + //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 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 j = 0; j < 25; j++){ //Zählt 25 Sensorwerten pro Sensor zusammen for(int i = 0; i < 6; i++){ - sensorValue[i] += sensors[i].read(); + sensorMittelwert[i] += sensors[i].read(); } - wait( 0.01f ); + 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", 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 + + 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 } }