Richard Hoekstra
/
TLS2-Sensorcontroller
De sensorcontroller van het TLS2 project.
main.cpp
- Committer:
- RichardHoekstra
- Date:
- 2016-11-08
- Revision:
- 0:eea3cc9d2701
- Child:
- 1:c9fae063e6f3
File content as of revision 0:eea3cc9d2701:
#include "mbed.h" /* De sensor controller heeft de volgende taken 1. Sensoren uitlezen 1. De frequentie moet per sensor aanpasbaar zijn. 2. Reageren op I2C data requests 3. Indien mogelijk meerdere samples nemen van de hoogste prioriteit sensor De volgende 'dingen' moeten kunnen worden ingesteld 1. 'Hoofd'sensor 2. Sample rate _per_ sensor 3. Moving Average van 'Hoofd'sensor */ void i2c_request(){ //To be written } float sensorVal[3] = {0}; //Index 0: druksensor waarde //Index 1: flowsensor waarde //Index 2: temperatuursenor waarde #define druksensor 0 #define flowsensor 1 #define tempsensor 2 int main() { //Pins AnalogIn drukSensor(A0); AnalogIn flowSensor(A1); AnalogIn tempSensor(A2); //Sample time int tick_ms_druksensor = 10, //100 Hz tick_ms_flowsensor = 10, //100 Hz tick_ms_tempsensor = 1000; //1 Hz //mbed ondersteund onneindig veel timers Timer t_druk, t_flow, t_temp; t_druk.start(); t_flow.start(); t_temp.start(); while(1) { if(t_druk.read_ms() >= tick_ms_druksensor){ //Lees de druksensor uit sensorVal[druksensor] = drukSensor.read(); t_druk.reset(); } if(t_flow.read_ms() >= tick_ms_flowsensor){ //Lees de flowsensor uit sensorVal[flowsensor] = flowSensor.read(); t_flow.reset(); } if(t_temp.read_ms() >= tick_ms_tempsensor){ //Lees de temperatuursensor uit sensorVal[tempsensor] = tempSensor.read(); t_temp.reset(); } } }