Putty-Ausgabe

Dependencies:   mbed

Committer:
EHess
Date:
Tue Apr 25 14:51:47 2017 +0000
Revision:
1:fc836343f42b
Parent:
0:fb3f7c677c18
25.04.17;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EHess 0:fb3f7c677c18 1 #include "mbed.h"
EHess 0:fb3f7c677c18 2 #include "IRSensor.h"
EHess 0:fb3f7c677c18 3
EHess 0:fb3f7c677c18 4 //E. Hess
EHess 0:fb3f7c677c18 5 //Sensortest
EHess 0:fb3f7c677c18 6
EHess 0:fb3f7c677c18 7 DigitalOut led(LED1); //Zustands-LED: Grüne LED für Benutzer
EHess 0:fb3f7c677c18 8
EHess 1:fc836343f42b 9 AnalogIn distance(PB_1); //Input der Distanzsensoren
EHess 0:fb3f7c677c18 10 DigitalOut enableSensor(PC_1); //Aktivierung der IRSensoren
EHess 0:fb3f7c677c18 11 DigitalOut bit0(PH_1); //Ansteuerung der Sensoren 0-5 mit 3 Bits
EHess 1:fc836343f42b 12 DigitalOut bit1(PC_2);
EHess 0:fb3f7c677c18 13 DigitalOut bit2(PC_3);
EHess 0:fb3f7c677c18 14 IRSensor sensors[6]; //Erstellt 6 IRSensor-Objekte als Array
EHess 0:fb3f7c677c18 15
EHess 0:fb3f7c677c18 16 DigitalOut leds[] = { PC_8, PC_6, PB_12, PA_7, PC_0, PC_9 }; //LED-Outputs der Sensoren
EHess 0:fb3f7c677c18 17
EHess 0:fb3f7c677c18 18
EHess 0:fb3f7c677c18 19 //Titel printf()
EHess 0:fb3f7c677c18 20 void title() {
EHess 1:fc836343f42b 21 printf("\f < \t\t - \t\t >\n\r"); //"\f" Setzt den Cursor an den Anfang der nächsten Seite
EHess 0:fb3f7c677c18 22 }
EHess 0:fb3f7c677c18 23
EHess 0:fb3f7c677c18 24
EHess 0:fb3f7c677c18 25 int main() {
EHess 1:fc836343f42b 26 float sensorMittelwert[6]; //Array der 6 Sensorenwerte
EHess 1:fc836343f42b 27 float sensorTiefbass[6];
EHess 1:fc836343f42b 28 int zaehler = 0;
EHess 0:fb3f7c677c18 29
EHess 1:fc836343f42b 30 //Initialisiert Distanzsensoren und setzt sensorValue und sensorTiefbass auf NULL
EHess 0:fb3f7c677c18 31 for( int i = 0; i < 6; i++) {
EHess 0:fb3f7c677c18 32 sensors[i].init(&distance, &bit0, &bit1, &bit2, i);
EHess 1:fc836343f42b 33 sensorMittelwert[i] = 0.0f;
EHess 1:fc836343f42b 34 sensorTiefbass[i] = 0.0f;
EHess 0:fb3f7c677c18 35 }
EHess 0:fb3f7c677c18 36 enableSensor = 1; //Aktiviert die IRSensoren
EHess 0:fb3f7c677c18 37
EHess 0:fb3f7c677c18 38 while(1) {
EHess 1:fc836343f42b 39 for(int j = 0; j < 25; j++){ //Zählt 25 Sensorwerten pro Sensor zusammen
EHess 0:fb3f7c677c18 40 for(int i = 0; i < 6; i++){
EHess 1:fc836343f42b 41 sensorMittelwert[i] += sensors[i].read();
EHess 0:fb3f7c677c18 42 }
EHess 1:fc836343f42b 43 wait( 0.001f );
EHess 1:fc836343f42b 44 }
EHess 1:fc836343f42b 45 for(int i = 0; i < 6; i++){
EHess 1:fc836343f42b 46 sensorTiefbass[i] = sensorTiefbass[i]*0.75f + sensorMittelwert[i]*0.25f; //Verrechnet den neuen Wert mit dem alten
EHess 1:fc836343f42b 47 sensorMittelwert[i] = 0.0f; //Setzt die Sensorwerte auf NULL
EHess 0:fb3f7c677c18 48 }
EHess 1:fc836343f42b 49
EHess 1:fc836343f42b 50 printf("%f\t%f\t%f\t\t%f\n\r", sensorTiefbass[3], sensorTiefbass[4], sensorTiefbass[2], sensorTiefbass[0]); //Plottet die unteren Sensoren
EHess 1:fc836343f42b 51
EHess 1:fc836343f42b 52 zaehler++;
EHess 1:fc836343f42b 53 if(zaehler % 40 == 0) title(); //Erstellt nach 40 Zeilen eine neue Seite
EHess 0:fb3f7c677c18 54 }
EHess 0:fb3f7c677c18 55 }