Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte2014:beerbot:dokumentation:software

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekte2014:beerbot:dokumentation:software [2014/07/31 21:44]
jonasw
projekte2014:beerbot:dokumentation:software [2016/01/21 12:45] (aktuell)
Zeile 1: Zeile 1:
-====== ​Softwaredokumentation ​======+====== ​Quellcode ​======
  
 ===== Main Sketch ===== ===== Main Sketch =====
Zeile 812: Zeile 812:
  
  int sweepSpeed;  int sweepSpeed;
- int servoSpeed; 
- float tolerance; 
  
  double* pixelTemps;  double* pixelTemps;
- double pixelCompressedTo16[16];​ 
- double midPixels; 
- double leftSide; 
- double rightSide; 
- double pixelSum; 
- double coldestPixel;​ 
  double temperatureBorder;​  double temperatureBorder;​
- double pixelCompressedTo8[8];​ 
- int dire; 
  int servoRange;  int servoRange;
- float searchTolerance;​ 
   
  boolean foundColdPixel();​  boolean foundColdPixel();​
  void getThermalData();​  void getThermalData();​
- void summarizeVerticalPixels();​ +
- void summarizeMidPixels();​ +
- boolean checkMidPixelsForCold();​ +
- void summarizeSides();​ +
- void moveToColderSide();​ +
- void moveToCold();​ +
- void searchColdestPixel();​ +
- void compressPixelTo8();​+
  public:  public:
  void setup(int servoPin, int temperatureBorder);​  void setup(int servoPin, int temperatureBorder);​
  boolean searchColdSpot();​  boolean searchColdSpot();​
- void followColdSpot();​ 
  int getPos();  int getPos();
 }; };
Zeile 858: Zeile 839:
   ​   ​
  this-> sweepSpeed = 2;  this-> sweepSpeed = 2;
- this-> servoSpeed = 1; 
- this-> tolerance = 1.5; 
- this-> midPixels = 0.0; 
- this-> leftSide = 0.0; 
- this-> rightSide = 0.0; 
- this-> pixelSum = 0.0; 
- this-> coldestPixel = 0.0; 
  this-> temperatureBorder = temperatureBorder;​  this-> temperatureBorder = temperatureBorder;​
- this-> dire = 0.0; 
  this-> servoRange = 90;  this-> servoRange = 90;
- this-> searchTolerance = 1.5; 
 } }
  
Zeile 876: Zeile 848:
  
 void ThermalCam::​getThermalData() { void ThermalCam::​getThermalData() {
-  ​sensor.readTemperatures();​ +    ​sensor.readTemperatures();​ 
-  pixelTemps = sensor.getPixelTemperatures();​+    pixelTemps = sensor.getPixelTemperatures();​
 } }
 +
 +/*
 +    Function sets thermalcam-servo to 90 degrees.
 +    Servo does a complete sweep and every degree the thermaldata gets checked for a cold source.
 +    If there is a cold source, "​true"​ is returned back, else "​false"​.
 +*/
  
 boolean ThermalCam::​searchColdSpot() { boolean ThermalCam::​searchColdSpot() {
- myServo.setPos(90);​ +    ​myServo.setPos(90);​ 
- delay(100);​ +    delay(100);​ 
- for (int i = 0; i < servoRange; i++) { +    for (int i = 0; i < servoRange; i++) { 
- myServo.sweep((int)sweepSpeed,​ servoRange, 15); +        myServo.sweep((int)sweepSpeed,​ servoRange, 15); 
- getThermalData();​ +        getThermalData();​ 
- for (int i = 28; i < 36; i++) { + if (foundColdPixel()) { 
- Serial.println(pixelTemps[i]);​ +     ​return true;
-+
- // summarizeVerticalPixels();​ +
- // summarizeMidPixels();​ +
- if (foundColdPixel()) { +
- return true; +
- }+
  }  }
- return false;+    } 
 +    ​return false;
 } }
 +
 +/*
 +    Function, which gives back the current position (angle) of the thermalcam-servo.
 +*/
  
 int ThermalCam::​getPos() { int ThermalCam::​getPos() {
-  ​return myServo.getPos();​+    ​return myServo.getPos();​
 } }
 +
 +/*
 +    Function, which checks the two rows in the middle of the thermalcam-pixelarray for a cold source.
 +*/
  
 boolean ThermalCam::​foundColdPixel() { boolean ThermalCam::​foundColdPixel() {
-  ​for( int i = 28; i < 35; i++ ) +    ​for( int i = 28; i < 35; i++ ) { 
-  ​+    if( pixelTemps[i] < temperatureBorder ) return true;
-    if( pixelTemps[i] < temperatureBorder ) +
-    { +
- return true;+
     }     }
-  } +    ​return false;
-  ​return false;+
 } }
  
projekte2014/beerbot/dokumentation/software.1406835848.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)