Software for receiving ADC values from ADS1150

Dependencies:   mbed ADS1015_fast USBDevice

Committer:
RoelvdPlas
Date:
Mon Nov 26 13:44:39 2018 +0000
Revision:
0:7cd465e7206d
Software for reading ADC values from scale using ST Nucleo MC;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RoelvdPlas 0:7cd465e7206d 1 //Including the needed libraries
RoelvdPlas 0:7cd465e7206d 2 #include "mbed.h"
RoelvdPlas 0:7cd465e7206d 3 #include "Adafruit_ADS1015.h"
RoelvdPlas 0:7cd465e7206d 4 #include "USBSerial.h"
RoelvdPlas 0:7cd465e7206d 5
RoelvdPlas 0:7cd465e7206d 6 //Not sure if we need those?
RoelvdPlas 0:7cd465e7206d 7 #define SERIAL_BAUD_RATE 115200
RoelvdPlas 0:7cd465e7206d 8 #define ADC_MAX_VALUE 2048
RoelvdPlas 0:7cd465e7206d 9
RoelvdPlas 0:7cd465e7206d 10 //Defining the I2C port connections
RoelvdPlas 0:7cd465e7206d 11 I2C i2c(PB_9,PB_8);
RoelvdPlas 0:7cd465e7206d 12
RoelvdPlas 0:7cd465e7206d 13 //Defining the goto adress for the ADC
RoelvdPlas 0:7cd465e7206d 14 Adafruit_ADS1015 adc(&i2c, 0x48);
RoelvdPlas 0:7cd465e7206d 15
RoelvdPlas 0:7cd465e7206d 16 //Serial pc(USBTX, USBRX);
RoelvdPlas 0:7cd465e7206d 17
RoelvdPlas 0:7cd465e7206d 18 //Setting i2c frequency and baudrate
RoelvdPlas 0:7cd465e7206d 19 int i2c__frequency = 100000;
RoelvdPlas 0:7cd465e7206d 20 int baud_rate = 115200;
RoelvdPlas 0:7cd465e7206d 21
RoelvdPlas 0:7cd465e7206d 22 //Variables
RoelvdPlas 0:7cd465e7206d 23 int adc0;
RoelvdPlas 0:7cd465e7206d 24 int dataset[10];
RoelvdPlas 0:7cd465e7206d 25 int i;
RoelvdPlas 0:7cd465e7206d 26 int sum;
RoelvdPlas 0:7cd465e7206d 27 int average_val;
RoelvdPlas 0:7cd465e7206d 28
RoelvdPlas 0:7cd465e7206d 29
RoelvdPlas 0:7cd465e7206d 30 //Input/Output
RoelvdPlas 0:7cd465e7206d 31 DigitalOut myled(LED1);
RoelvdPlas 0:7cd465e7206d 32 Serial usb(SERIAL_TX, SERIAL_RX);
RoelvdPlas 0:7cd465e7206d 33 DigitalIn push(PC_13);
RoelvdPlas 0:7cd465e7206d 34
RoelvdPlas 0:7cd465e7206d 35 //Main code
RoelvdPlas 0:7cd465e7206d 36 int main()
RoelvdPlas 0:7cd465e7206d 37 {
RoelvdPlas 0:7cd465e7206d 38 //Setting the baudrate
RoelvdPlas 0:7cd465e7206d 39 usb.baud(baud_rate);
RoelvdPlas 0:7cd465e7206d 40 //adc.setGain(GAIN_SIXTEEN);
RoelvdPlas 0:7cd465e7206d 41
RoelvdPlas 0:7cd465e7206d 42 while(1) {
RoelvdPlas 0:7cd465e7206d 43 //Test code
RoelvdPlas 0:7cd465e7206d 44 //for(i=0; i< 10; i++){
RoelvdPlas 0:7cd465e7206d 45 //dataset[i] = ldr.readADC_Differential(0);
RoelvdPlas 0:7cd465e7206d 46 //sum += dataset[i];
RoelvdPlas 0:7cd465e7206d 47 //}
RoelvdPlas 0:7cd465e7206d 48 //average_val = sum/10;
RoelvdPlas 0:7cd465e7206d 49
RoelvdPlas 0:7cd465e7206d 50
RoelvdPlas 0:7cd465e7206d 51 //Getting digital value from ADC
RoelvdPlas 0:7cd465e7206d 52 adc0 = adc.readADC_Differential(0);
RoelvdPlas 0:7cd465e7206d 53
RoelvdPlas 0:7cd465e7206d 54 //Printing digital value from ADC
RoelvdPlas 0:7cd465e7206d 55 usb.printf("%+.5d", adc0); //place adc0 if test code doesn't work
RoelvdPlas 0:7cd465e7206d 56 usb.printf("\r");
RoelvdPlas 0:7cd465e7206d 57 usb.printf("\n");
RoelvdPlas 0:7cd465e7206d 58 myled = 1;
RoelvdPlas 0:7cd465e7206d 59
RoelvdPlas 0:7cd465e7206d 60 //Turn-off led when button gets pushed
RoelvdPlas 0:7cd465e7206d 61 if(push == 0) {
RoelvdPlas 0:7cd465e7206d 62 myled = 0;
RoelvdPlas 0:7cd465e7206d 63 }
RoelvdPlas 0:7cd465e7206d 64 }
RoelvdPlas 0:7cd465e7206d 65 }