![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Putty-Ausgabe
Dependencies: mbed
main.cpp@1:fc836343f42b, 2017-04-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |