Putty-Ausgabe

Dependencies:   mbed

Committer:
EHess
Date:
Thu Apr 13 08:30:35 2017 +0000
Revision:
0:fb3f7c677c18
Child:
1:fc836343f42b
Sensor

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 0:fb3f7c677c18 9 AnalogIn distance(PB_1); //Input der Sensoren
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 0:fb3f7c677c18 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 //Timer-Objekt für Distanzsensor
EHess 0:fb3f7c677c18 19 Ticker t1;
EHess 0:fb3f7c677c18 20
EHess 0:fb3f7c677c18 21
EHess 0:fb3f7c677c18 22 //Titel printf()
EHess 0:fb3f7c677c18 23 void title() {
EHess 0:fb3f7c677c18 24 printf("\n < ^ \t\t ^ \t\t ^ > \t\t\t");
EHess 0:fb3f7c677c18 25 printf(" < _ \t\t _ \t\t _ > \n\r");
EHess 0:fb3f7c677c18 26 }
EHess 0:fb3f7c677c18 27
EHess 0:fb3f7c677c18 28
EHess 0:fb3f7c677c18 29 int main() {
EHess 0:fb3f7c677c18 30 float sensorValue[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; //Array der 6 Sensorenwerte
EHess 0:fb3f7c677c18 31
EHess 0:fb3f7c677c18 32 t1.attach(&title, 5); //Betitelung der Sensorwerte alle 5 Sekunden
EHess 0:fb3f7c677c18 33
EHess 0:fb3f7c677c18 34 //Initialisiert Distanzsensoren
EHess 0:fb3f7c677c18 35 for( int i = 0; i < 6; i++) {
EHess 0:fb3f7c677c18 36 sensors[i].init(&distance, &bit0, &bit1, &bit2, i);
EHess 0:fb3f7c677c18 37 }
EHess 0:fb3f7c677c18 38 enableSensor = 1; //Aktiviert die IRSensoren
EHess 0:fb3f7c677c18 39
EHess 0:fb3f7c677c18 40 while(1) {
EHess 0:fb3f7c677c18 41 for(int i = 0; i < 6; i++){ //Setzt alle Sensorwerte auf NULL
EHess 0:fb3f7c677c18 42 sensorValue[i] = 0.0f;
EHess 0:fb3f7c677c18 43 }
EHess 0:fb3f7c677c18 44 for(int i = 0; i < 10; i++){ //Addiert pro Sensor 10 Werte zusammen (zur Auskorrigierung von Fehlerwerten)
EHess 0:fb3f7c677c18 45 for(int i = 0; i < 6; i++){
EHess 0:fb3f7c677c18 46 sensorValue[i] += sensors[i].read();
EHess 0:fb3f7c677c18 47 }
EHess 0:fb3f7c677c18 48 wait( 0.01f );
EHess 0:fb3f7c677c18 49 }
EHess 0:fb3f7c677c18 50 printf("%f\t%f\t%f\t\t", sensorValue[5], sensorValue[0], sensorValue[1]); //Plottet die oberen Sensoren
EHess 0:fb3f7c677c18 51 printf("%f\t%f\t%f\n\r", sensorValue[4], sensorValue[3], sensorValue[2]); //Plottet die unteren Sensoren
EHess 0:fb3f7c677c18 52 }
EHess 0:fb3f7c677c18 53 }