voor lennart
Dependencies: mbed ADS1015 USBDevice
main.cpp@0:ce39f1aa5d6e, 2019-01-16 (annotated)
- Committer:
- RoelvdPlas
- Date:
- Wed Jan 16 10:31:23 2019 +0000
- Revision:
- 0:ce39f1aa5d6e
- Child:
- 1:45df6a3a9a2c
v.1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RoelvdPlas | 0:ce39f1aa5d6e | 1 | //Including the needed libraries |
RoelvdPlas | 0:ce39f1aa5d6e | 2 | #include "mbed.h" |
RoelvdPlas | 0:ce39f1aa5d6e | 3 | #include "Adafruit_ADS1015.h" |
RoelvdPlas | 0:ce39f1aa5d6e | 4 | #include "USBSerial.h" |
RoelvdPlas | 0:ce39f1aa5d6e | 5 | #include "windows.h" |
RoelvdPlas | 0:ce39f1aa5d6e | 6 | |
RoelvdPlas | 0:ce39f1aa5d6e | 7 | //Not sure if we need those? |
RoelvdPlas | 0:ce39f1aa5d6e | 8 | #define SERIAL_BAUD_RATE 115200 |
RoelvdPlas | 0:ce39f1aa5d6e | 9 | #define ADC_MAX_VALUE 2048 |
RoelvdPlas | 0:ce39f1aa5d6e | 10 | |
RoelvdPlas | 0:ce39f1aa5d6e | 11 | //Defining the I2C and Serial port connections |
RoelvdPlas | 0:ce39f1aa5d6e | 12 | I2C i2c(p28,p27); |
RoelvdPlas | 0:ce39f1aa5d6e | 13 | Serial pc(USBTX, USBRX); |
RoelvdPlas | 0:ce39f1aa5d6e | 14 | |
RoelvdPlas | 0:ce39f1aa5d6e | 15 | //Defining the goto adress for the ADC |
RoelvdPlas | 0:ce39f1aa5d6e | 16 | Adafruit_ADS1115 adc(&i2c, 0x48); |
RoelvdPlas | 0:ce39f1aa5d6e | 17 | Adafruit_ADS1115 adc2(&i2c, 0x49); |
RoelvdPlas | 0:ce39f1aa5d6e | 18 | |
RoelvdPlas | 0:ce39f1aa5d6e | 19 | //Setting i2c frequency and baudrate |
RoelvdPlas | 0:ce39f1aa5d6e | 20 | int i2c__frequency = 100000; |
RoelvdPlas | 0:ce39f1aa5d6e | 21 | int baud_rate = 115200; |
RoelvdPlas | 0:ce39f1aa5d6e | 22 | |
RoelvdPlas | 0:ce39f1aa5d6e | 23 | //Declair var |
RoelvdPlas | 0:ce39f1aa5d6e | 24 | int ledPin = 1; |
RoelvdPlas | 0:ce39f1aa5d6e | 25 | int averageFSR[8]; |
RoelvdPlas | 0:ce39f1aa5d6e | 26 | int averagePE[6]; |
RoelvdPlas | 0:ce39f1aa5d6e | 27 | int i = 0; |
RoelvdPlas | 0:ce39f1aa5d6e | 28 | Timer t; |
RoelvdPlas | 0:ce39f1aa5d6e | 29 | |
RoelvdPlas | 0:ce39f1aa5d6e | 30 | void setupLED(){ |
RoelvdPlas | 0:ce39f1aa5d6e | 31 | pinMode(ledPin, OUTPUT); |
RoelvdPlas | 0:ce39f1aa5d6e | 32 | } |
RoelvdPlas | 0:ce39f1aa5d6e | 33 | |
RoelvdPlas | 0:ce39f1aa5d6e | 34 | void piepLong(){ |
RoelvdPlas | 0:ce39f1aa5d6e | 35 | digitalWrite(ledPin, HIGH); |
RoelvdPlas | 0:ce39f1aa5d6e | 36 | delay(1000); |
RoelvdPlas | 0:ce39f1aa5d6e | 37 | digitalWrite(ledPin, LOW); |
RoelvdPlas | 0:ce39f1aa5d6e | 38 | } |
RoelvdPlas | 0:ce39f1aa5d6e | 39 | |
RoelvdPlas | 0:ce39f1aa5d6e | 40 | void piepShort(int x){ |
RoelvdPlas | 0:ce39f1aa5d6e | 41 | for(int i=1; i<=x; i++){ |
RoelvdPlas | 0:ce39f1aa5d6e | 42 | digitalWrite(ledPin, HIGH); |
RoelvdPlas | 0:ce39f1aa5d6e | 43 | delay(500); |
RoelvdPlas | 0:ce39f1aa5d6e | 44 | digitalWrite(ledPin, LOW); |
RoelvdPlas | 0:ce39f1aa5d6e | 45 | delay(500); |
RoelvdPlas | 0:ce39f1aa5d6e | 46 | } |
RoelvdPlas | 0:ce39f1aa5d6e | 47 | } |
RoelvdPlas | 0:ce39f1aa5d6e | 48 | |
RoelvdPlas | 0:ce39f1aa5d6e | 49 | void delaySeconds(int x){ |
RoelvdPlas | 0:ce39f1aa5d6e | 50 | int timeMiliSeconds = x * 1000; |
RoelvdPlas | 0:ce39f1aa5d6e | 51 | delay(timeMiliSeconds) |
RoelvdPlas | 0:ce39f1aa5d6e | 52 | } |
RoelvdPlas | 0:ce39f1aa5d6e | 53 | |
RoelvdPlas | 0:ce39f1aa5d6e | 54 | int main() { |
RoelvdPlas | 0:ce39f1aa5d6e | 55 | pc.usb.baud(baud_rate); |
RoelvdPlas | 0:ce39f1aa5d6e | 56 | pc.printf( |
RoelvdPlas | 0:ce39f1aa5d6e | 57 | “To start test press a key \n |
RoelvdPlas | 0:ce39f1aa5d6e | 58 | \n |
RoelvdPlas | 0:ce39f1aa5d6e | 59 | When you have pressed enter, a 5 second countdown will begin. After this countdown, the test will begin. \n |
RoelvdPlas | 0:ce39f1aa5d6e | 60 | \n |
RoelvdPlas | 0:ce39f1aa5d6e | 61 | You have to follow the pattern listed below 10 times: \r |
RoelvdPlas | 0:ce39f1aa5d6e | 62 | 1. Right side \n |
RoelvdPlas | 0:ce39f1aa5d6e | 63 | 2. Back \n |
RoelvdPlas | 0:ce39f1aa5d6e | 64 | 3. Left side \n |
RoelvdPlas | 0:ce39f1aa5d6e | 65 | 4. Out of bed \n |
RoelvdPlas | 0:ce39f1aa5d6e | 66 | \n |
RoelvdPlas | 0:ce39f1aa5d6e | 67 | A long PIEEP indicates you to switch to the next position on the list, you have 5 seconds to switch. \n |
RoelvdPlas | 0:ce39f1aa5d6e | 68 | Two short PIEP’s indicates you to that the measurement has begun. Do not move during this period of 15 seconds. \n |
RoelvdPlas | 0:ce39f1aa5d6e | 69 | Three long PIEEEEP’s will indicate you that the test has finished. \n |
RoelvdPlas | 0:ce39f1aa5d6e | 70 | \n |
RoelvdPlas | 0:ce39f1aa5d6e | 71 | Good luck!”); |
RoelvdPlas | 0:ce39f1aa5d6e | 72 | |
RoelvdPlas | 0:ce39f1aa5d6e | 73 | if getc{ |
RoelvdPlas | 0:ce39f1aa5d6e | 74 | piepShort(5); //5 seconds countdown |
RoelvdPlas | 0:ce39f1aa5d6e | 75 | |
RoelvdPlas | 0:ce39f1aa5d6e | 76 | for(int i=1; i<=10; i++){ //10 times loop |
RoelvdPlas | 0:ce39f1aa5d6e | 77 | piepLong(); //right side signal |
RoelvdPlas | 0:ce39f1aa5d6e | 78 | delaySeconds(5); //time for turning |
RoelvdPlas | 0:ce39f1aa5d6e | 79 | piepShort |
RoelvdPlas | 0:ce39f1aa5d6e | 80 | //collect data |
RoelvdPlas | 0:ce39f1aa5d6e | 81 | |
RoelvdPlas | 0:ce39f1aa5d6e | 82 | } |
RoelvdPlas | 0:ce39f1aa5d6e | 83 | } |
RoelvdPlas | 0:ce39f1aa5d6e | 84 | return 0; |
RoelvdPlas | 0:ce39f1aa5d6e | 85 | } |