SAADC differential input setup. With EPD display.

Dependencies:   GDEP015OC1 acn_nrf52_saadc_2 adc52832_common

Fork of acd52832_SAADC_Differential_input_EPD by Jurica Resetar

Committer:
jurica238814
Date:
Fri Sep 29 09:02:34 2017 +0000
Revision:
3:884740fe7de4
Parent:
2:49dab8d9637a
Child:
4:7dd2d8cc90ed
Small fix.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jurica238814 0:04520242cfef 1 /*
jurica238814 0:04520242cfef 2 * Example to demonstrate usage of the nrf52's SAADC in differential working\
jurica238814 0:04520242cfef 3 * mode.
jurica238814 0:04520242cfef 4 *
jurica238814 0:04520242cfef 5 * Made by Jurica Resetar @ aconno
jurica238814 0:04520242cfef 6 * jurica_resetar@yahoo.com
jurica238814 0:04520242cfef 7 * More info @ aconno.de
jurica238814 0:04520242cfef 8 *
jurica238814 0:04520242cfef 9 * All rights reserved
jurica238814 0:04520242cfef 10 *
jurica238814 0:04520242cfef 11 */
jurica238814 0:04520242cfef 12
jurica238814 0:04520242cfef 13
jurica238814 0:04520242cfef 14
jurica238814 0:04520242cfef 15 #include "mbed.h"
jurica238814 0:04520242cfef 16 #include "acd_nrf52_saadc.h"
jurica238814 2:49dab8d9637a 17 #include "GDEP015OC1.h"
jurica238814 1:41e296b93414 18
jurica238814 3:884740fe7de4 19 #define ANALOG_PIN_P (4)
jurica238814 3:884740fe7de4 20 #define ANALOG_PIN_N (5)
jurica238814 0:04520242cfef 21 #define PRINT (1)
jurica238814 0:04520242cfef 22
jurica238814 0:04520242cfef 23 #if PRINT
jurica238814 0:04520242cfef 24 #include "nrf52_uart.h"
jurica238814 0:04520242cfef 25 NRF52_UART uart(p25, p26, Baud9600);
jurica238814 0:04520242cfef 26 char buffer[255];
jurica238814 0:04520242cfef 27 #define SEND(...) {uint8_t len = sprintf(buffer, __VA_ARGS__); uart.send(buffer, len);}
jurica238814 0:04520242cfef 28 #else
jurica238814 0:04520242cfef 29 #define SEND(...)
jurica238814 0:04520242cfef 30 #endif
jurica238814 0:04520242cfef 31
jurica238814 2:49dab8d9637a 32 SPI spi(p3, NC, p4);
jurica238814 2:49dab8d9637a 33 GDEP015OC1 epd = GDEP015OC1(spi, p5, p6, p7, p8);
jurica238814 0:04520242cfef 34
jurica238814 0:04520242cfef 35 int main(void){
jurica238814 3:884740fe7de4 36 NRF52_SAADC pot(ANALOG_PIN_P+1, ANALOG_PIN_N+1);
jurica238814 2:49dab8d9637a 37
jurica238814 0:04520242cfef 38 int16_t rawData;
jurica238814 1:41e296b93414 39 float voltage;
jurica238814 2:49dab8d9637a 40 char buffer[256];
jurica238814 1:41e296b93414 41
jurica238814 2:49dab8d9637a 42 sprintf(buffer, "Differential ADC inputs:");
jurica238814 2:49dab8d9637a 43 epd.writeString(buffer, 30, 30, 0);
jurica238814 2:49dab8d9637a 44 sprintf(buffer, "AIN%d and AIN%d.", ANALOG_PIN_P, ANALOG_PIN_N);
jurica238814 2:49dab8d9637a 45 epd.writeString(buffer, 30, 50, 0);
jurica238814 2:49dab8d9637a 46 epd.writeFull();
jurica238814 2:49dab8d9637a 47
jurica238814 0:04520242cfef 48
jurica238814 0:04520242cfef 49 while(1){
jurica238814 1:41e296b93414 50 rawData = pot.read();
jurica238814 1:41e296b93414 51 voltage = rawData*(3.6/512);
jurica238814 2:49dab8d9637a 52 sprintf(buffer, "ADC voltage is: %f", voltage);
jurica238814 2:49dab8d9637a 53 epd.writeString(buffer, 30, 70, 0);
jurica238814 2:49dab8d9637a 54 epd.write();
jurica238814 2:49dab8d9637a 55 sprintf(buffer, "ADC voltage is: %f", voltage);
jurica238814 2:49dab8d9637a 56 epd.writeString(buffer, 30, 70, 1);
jurica238814 2:49dab8d9637a 57 epd.write();
jurica238814 0:04520242cfef 58 }
jurica238814 0:04520242cfef 59 }