voor lennart

Dependencies:   mbed ADS1015 USBDevice

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?

UserRevisionLine numberNew 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 }