Jorge Troncoso
/
Dot-ADS1115_Rev1
mDot with ADS1115
Fork of mbed-os-example-mbed5-blinky by
main.cpp@40:1c33564c68c7, 2017-07-31 (annotated)
- Committer:
- jortronm
- Date:
- Mon Jul 31 13:37:07 2017 +0000
- Revision:
- 40:1c33564c68c7
- Parent:
- 29:0b58d21e87d6
mDot connected to a ADS1115
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jortronm | 40:1c33564c68c7 | 1 | #include "mbed.h" |
jortronm | 40:1c33564c68c7 | 2 | #include "Adafruit_ADS1015.h" |
jortronm | 40:1c33564c68c7 | 3 | |
jortronm | 40:1c33564c68c7 | 4 | //Pin definition |
jortronm | 40:1c33564c68c7 | 5 | DigitalOut led1(PA_0); //External Red LED |
jortronm | 40:1c33564c68c7 | 6 | DigitalOut led2(PB_1); //Second LED (Green) |
jortronm | 40:1c33564c68c7 | 7 | DigitalOut reset(PA_7); //Pin to reset the ESP |
jortronm | 40:1c33564c68c7 | 8 | DigitalIn User_Button(PC_13); //User button |
jortronm | 40:1c33564c68c7 | 9 | DigitalOut Wire1(PA_4); //Sensor wire 1 |
jortronm | 40:1c33564c68c7 | 10 | DigitalOut Wire2(PA_1); //Sensor wire 2 |
jortronm | 40:1c33564c68c7 | 11 | DigitalOut Wire3(PC_1); //Sensor wire 3 |
jortronm | 40:1c33564c68c7 | 12 | DigitalIn Sensor_Switch(PA_11); //Pin to switch the peripherals on/off |
jortronm | 40:1c33564c68c7 | 13 | DigitalOut SPI_cs(PB_0); // SPI chip select pin |
jortronm | 40:1c33564c68c7 | 14 | #define D_SDA PC_9 //I2C SDA pin |
jortronm | 40:1c33564c68c7 | 15 | #define D_SCL PA_8 //I2C SCL pin |
jortronm | 40:1c33564c68c7 | 16 | #define Serial2_tx PA_2 //Serial2 tx pin |
jortronm | 40:1c33564c68c7 | 17 | #define Serial2_rx PA_3 //Serial2 rx pin |
jortronm | 40:1c33564c68c7 | 18 | |
jortronm | 40:1c33564c68c7 | 19 | |
jortronm | 40:1c33564c68c7 | 20 | |
jortronm | 40:1c33564c68c7 | 21 | //Interfaces definition |
jortronm | 40:1c33564c68c7 | 22 | int BaudRate =115200; |
jortronm | 40:1c33564c68c7 | 23 | Serial pc(USBTX, USBRX,BaudRate); //tx, rx : PA_9,PA_10 : pc Serial |
jortronm | 40:1c33564c68c7 | 24 | Serial Serial2 (Serial2_tx,Serial2_rx,BaudRate); //tx, rx : Serial2 Serial |
jortronm | 40:1c33564c68c7 | 25 | I2C i2c(D_SDA, D_SCL); //I2C interface, pins define in "Pin definition" |
jortronm | 40:1c33564c68c7 | 26 | SPI spi(NC, PA_6, PA_5); //PI interface : mosi, miso, sclk |
jortronm | 40:1c33564c68c7 | 27 | Adafruit_ADS1115 ads(&i2c);//ADS1115 library though I2C |
jortronm | 40:1c33564c68c7 | 28 | |
jortronm | 40:1c33564c68c7 | 29 | //Function definition |
jortronm | 40:1c33564c68c7 | 30 | void ADSReadinmg(); |
jortronm | 40:1c33564c68c7 | 31 | void SerialPrintData(); |
jortronm | 40:1c33564c68c7 | 32 | |
jortronm | 40:1c33564c68c7 | 33 | //Global variable definition |
jortronm | 40:1c33564c68c7 | 34 | int Reading_Number=0; |
jortronm | 40:1c33564c68c7 | 35 | int data[12]= {0,3,0,0,0,0,0,0,0,0,0,32}; //Reading_Number, V_bat, Wire1_1, Wire1_2, Wire1_3, Wire2_1, Wire2_2, Wire2_3, Wire3_1, Wire3_2, Wire3_3, Temp |
jortronm | 40:1c33564c68c7 | 36 | |
jortronm | 40:1c33564c68c7 | 37 | |
jortronm | 40:1c33564c68c7 | 38 | int main() |
jortronm | 40:1c33564c68c7 | 39 | { |
jortronm | 40:1c33564c68c7 | 40 | wait(3); |
jortronm | 40:1c33564c68c7 | 41 | ads.setGain(GAIN_SIXTEEN); // set range to +/-0.256V |
jortronm | 40:1c33564c68c7 | 42 | pc.printf("\r\n"); //New carage return + new line |
jortronm | 40:1c33564c68c7 | 43 | pc.printf("App Started \r\n"); //New carage return + new line |
jortronm | 40:1c33564c68c7 | 44 | SerialPrintData(); |
jortronm | 40:1c33564c68c7 | 45 | while (1) { |
jortronm | 40:1c33564c68c7 | 46 | Reading_Number++; |
jortronm | 40:1c33564c68c7 | 47 | data[0]=Reading_Number; |
jortronm | 40:1c33564c68c7 | 48 | ADSReadinmg(); |
jortronm | 40:1c33564c68c7 | 49 | SerialPrintData(); |
jortronm | 40:1c33564c68c7 | 50 | led1 = !led1; |
jortronm | 40:1c33564c68c7 | 51 | wait(1); |
jortronm | 40:1c33564c68c7 | 52 | } |
jortronm | 40:1c33564c68c7 | 53 | } |
jortronm | 40:1c33564c68c7 | 54 | |
jortronm | 40:1c33564c68c7 | 55 | |
jortronm | 40:1c33564c68c7 | 56 | void ADSReadinmg() |
jortronm | 40:1c33564c68c7 | 57 | { |
jortronm | 40:1c33564c68c7 | 58 | Wire1=0; |
jortronm | 40:1c33564c68c7 | 59 | Wire2=0; |
jortronm | 40:1c33564c68c7 | 60 | Wire3=0; |
jortronm | 40:1c33564c68c7 | 61 | wait(1); |
jortronm | 40:1c33564c68c7 | 62 | |
jortronm | 40:1c33564c68c7 | 63 | Wire1=1; |
jortronm | 40:1c33564c68c7 | 64 | wait(1); |
jortronm | 40:1c33564c68c7 | 65 | for(int i=1; i<4; i++) { |
jortronm | 40:1c33564c68c7 | 66 | pc.printf("Wire1_X: %d\r\n",ads.readADC_SingleEnded(i)); //Wire 1 |
jortronm | 40:1c33564c68c7 | 67 | data[i+1]=ads.readADC_SingleEnded(i); |
jortronm | 40:1c33564c68c7 | 68 | wait(1); |
jortronm | 40:1c33564c68c7 | 69 | } |
jortronm | 40:1c33564c68c7 | 70 | Wire1=0; |
jortronm | 40:1c33564c68c7 | 71 | wait(1); |
jortronm | 40:1c33564c68c7 | 72 | |
jortronm | 40:1c33564c68c7 | 73 | Wire2=1; |
jortronm | 40:1c33564c68c7 | 74 | wait(1); |
jortronm | 40:1c33564c68c7 | 75 | for(int i=1; i<4; i++) { |
jortronm | 40:1c33564c68c7 | 76 | pc.printf("Wire2_?: %d\r\n",ads.readADC_SingleEnded(i)); //Wire 1 |
jortronm | 40:1c33564c68c7 | 77 | data[i+4]=ads.readADC_SingleEnded(i); |
jortronm | 40:1c33564c68c7 | 78 | wait(1); |
jortronm | 40:1c33564c68c7 | 79 | } |
jortronm | 40:1c33564c68c7 | 80 | Wire2=0; |
jortronm | 40:1c33564c68c7 | 81 | wait(1); |
jortronm | 40:1c33564c68c7 | 82 | |
jortronm | 40:1c33564c68c7 | 83 | Wire3=1; |
jortronm | 40:1c33564c68c7 | 84 | wait(1); |
jortronm | 40:1c33564c68c7 | 85 | for(int i=1; i<4; i++) { |
jortronm | 40:1c33564c68c7 | 86 | pc.printf("Wire3_?: %d\r\n",ads.readADC_SingleEnded(i)); //Wire 1 |
jortronm | 40:1c33564c68c7 | 87 | data[i+7]=ads.readADC_SingleEnded(i); |
jortronm | 40:1c33564c68c7 | 88 | wait(1); |
jortronm | 40:1c33564c68c7 | 89 | } |
jortronm | 40:1c33564c68c7 | 90 | |
jortronm | 40:1c33564c68c7 | 91 | pc.printf("\r\n"); //Wire 1 |
jortronm | 40:1c33564c68c7 | 92 | Wire3=0; |
jortronm | 40:1c33564c68c7 | 93 | wait(1); |
jortronm | 40:1c33564c68c7 | 94 | |
jortronm | 40:1c33564c68c7 | 95 | |
jortronm | 40:1c33564c68c7 | 96 | /* |
jortronm | 40:1c33564c68c7 | 97 | for(int i=0; i<4; i++) { |
jortronm | 40:1c33564c68c7 | 98 | data[i+1]=ads.readADC_SingleEnded(i); |
jortronm | 40:1c33564c68c7 | 99 | } |
jortronm | 40:1c33564c68c7 | 100 | */ |
jortronm | 40:1c33564c68c7 | 101 | } |
jortronm | 40:1c33564c68c7 | 102 | |
jortronm | 40:1c33564c68c7 | 103 | |
jortronm | 40:1c33564c68c7 | 104 | void SerialPrintData() |
jortronm | 40:1c33564c68c7 | 105 | { |
jortronm | 40:1c33564c68c7 | 106 | pc.printf("\r\n"); //New carage return + new line |
jortronm | 40:1c33564c68c7 | 107 | pc.printf("Reading #: %d\r\n",data[0]); //Reading # |
jortronm | 40:1c33564c68c7 | 108 | pc.printf("V_Bar: %d\r\n",data[1]); //Baterry voltage |
jortronm | 40:1c33564c68c7 | 109 | |
jortronm | 40:1c33564c68c7 | 110 | pc.printf("Wire1_1: %d\r\n",data[2]); //Wire 1 |
jortronm | 40:1c33564c68c7 | 111 | pc.printf("Wire1_2: %d\r\n",data[3]); //Wire2 |
jortronm | 40:1c33564c68c7 | 112 | pc.printf("Wire1_3: %d\r\n",data[4]); //Wire3 |
jortronm | 40:1c33564c68c7 | 113 | |
jortronm | 40:1c33564c68c7 | 114 | pc.printf("Wire2_1: %d\r\n",data[5]); //Wire 1 |
jortronm | 40:1c33564c68c7 | 115 | pc.printf("Wire2_2: %d\r\n",data[6]); //Wire2 |
jortronm | 40:1c33564c68c7 | 116 | pc.printf("Wire2_3: %d\r\n",data[7]); //Wire3 |
jortronm | 40:1c33564c68c7 | 117 | |
jortronm | 40:1c33564c68c7 | 118 | pc.printf("Wire3_1: %d\r\n",data[8]); //Wire 1 |
jortronm | 40:1c33564c68c7 | 119 | pc.printf("Wire3_2: %d\r\n",data[9]); //Wire2 |
jortronm | 40:1c33564c68c7 | 120 | pc.printf("Wire3_3: %d\r\n",data[10]); //Wire3 |
jortronm | 40:1c33564c68c7 | 121 | |
jortronm | 40:1c33564c68c7 | 122 | pc.printf("Temp: %d\r\n",data[11]); //Temperature |
jortronm | 40:1c33564c68c7 | 123 | pc.printf("\r\n"); //New carage return + new line |
jortronm | 40:1c33564c68c7 | 124 | |
jortronm | 40:1c33564c68c7 | 125 | /* |
jortronm | 40:1c33564c68c7 | 126 | int DataElements=sizeof(data)/sizeof(data[0]); |
jortronm | 40:1c33564c68c7 | 127 | for(int i=0; i<DataElements; i++) { |
jortronm | 40:1c33564c68c7 | 128 | pc.printf("Ch%d: %d\r\n",i,data[i+1]); |
jortronm | 40:1c33564c68c7 | 129 | } |
jortronm | 40:1c33564c68c7 | 130 | */ |
jortronm | 40:1c33564c68c7 | 131 | } |