Berhasil

Dependencies:   mbed ADS1115

Committer:
adavidkhowantolim
Date:
Mon Feb 25 15:51:38 2019 +0000
Revision:
0:21a035379c92
Berhasil;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
adavidkhowantolim 0:21a035379c92 1 #include "mbed.h"
adavidkhowantolim 0:21a035379c92 2 #include "Adafruit_ADS1015.h"
adavidkhowantolim 0:21a035379c92 3
adavidkhowantolim 0:21a035379c92 4 #define SERIAL_BAUD_RATE 9600
adavidkhowantolim 0:21a035379c92 5
adavidkhowantolim 0:21a035379c92 6 #define a_samping 500000
adavidkhowantolim 0:21a035379c92 7 #define b_samping 1.184
adavidkhowantolim 0:21a035379c92 8 //#define b_samping 1.229
adavidkhowantolim 0:21a035379c92 9 #define a_depan 10000000
adavidkhowantolim 0:21a035379c92 10 #define b_depan 1.297
adavidkhowantolim 0:21a035379c92 11
adavidkhowantolim 0:21a035379c92 12 I2C i2c(D14, D15);
adavidkhowantolim 0:21a035379c92 13 Adafruit_ADS1015 ads(&i2c);
adavidkhowantolim 0:21a035379c92 14 Serial pc(USBTX, USBRX);
adavidkhowantolim 0:21a035379c92 15
adavidkhowantolim 0:21a035379c92 16 float dist = 0;
adavidkhowantolim 0:21a035379c92 17
adavidkhowantolim 0:21a035379c92 18 float call_samping(uint16_t x) {
adavidkhowantolim 0:21a035379c92 19 float side_distance = a_samping/pow(x,b_samping)+1;
adavidkhowantolim 0:21a035379c92 20 return side_distance;
adavidkhowantolim 0:21a035379c92 21 }
adavidkhowantolim 0:21a035379c92 22
adavidkhowantolim 0:21a035379c92 23 float call_depan(uint16_t x){
adavidkhowantolim 0:21a035379c92 24 float front_distance = a_depan/pow(x,b_depan);
adavidkhowantolim 0:21a035379c92 25 return front_distance;
adavidkhowantolim 0:21a035379c92 26 }
adavidkhowantolim 0:21a035379c92 27
adavidkhowantolim 0:21a035379c92 28 int main() {
adavidkhowantolim 0:21a035379c92 29 uint16_t ir;
adavidkhowantolim 0:21a035379c92 30 const uint16_t u16tmax = 0xFFFF;
adavidkhowantolim 0:21a035379c92 31 while (1) {
adavidkhowantolim 0:21a035379c92 32 ir = ads.readADC_SingleEnded(2);
adavidkhowantolim 0:21a035379c92 33 float voltage = ir * 6.2676 * 10e-5;
adavidkhowantolim 0:21a035379c92 34 uint16_t x = voltage/3.3 * 0xFFFF ;
adavidkhowantolim 0:21a035379c92 35 float dist = call_samping(x);
adavidkhowantolim 0:21a035379c92 36 // pc.printf("raw = %ul volt = %.2f x=%ul dist=%.2f \n", ir, voltage, x, dist);
adavidkhowantolim 0:21a035379c92 37 pc.printf("%.5f %.5f\n", voltage,dist);
adavidkhowantolim 0:21a035379c92 38 wait(0.08); // loop 2 sek
adavidkhowantolim 0:21a035379c92 39 }
adavidkhowantolim 0:21a035379c92 40 }