![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
tes ir atas semua
Dependencies: mbed ADS1115 StepperMotor SRF05 TPA81new
Diff: main.cpp
- Revision:
- 45:96815f504b17
- Parent:
- 44:49ef8addf233
- Child:
- 46:4030083b43b3
diff -r 49ef8addf233 -r 96815f504b17 main.cpp --- a/main.cpp Fri Mar 01 10:28:41 2019 +0000 +++ b/main.cpp Tue Mar 05 12:22:31 2019 +0000 @@ -25,7 +25,7 @@ DigitalIn sound(PA_9); AnalogIn line(PC_1); -// Infrared +// Infrared // atas AnalogIn ira1(PC_5); AnalogIn ira2(PA_5); @@ -42,15 +42,16 @@ AnalogIn irb4(PB_0); // ADC I2C ads_i2c(PB_9, PB_8); // sda, scl -Adafruit_ADS1115 ads(&ads_i2c); +Adafruit_ADS1015 ads(&ads_i2c); -stepper s(PC_8, PC_6, PA_12, PA_11, PB_12, PC_7); +stepper s(PC_8, PC_6, PA_12, PA_11, PB_12, PC_7); // stepper(PinName _en, PinName ms1, PinName ms2, PinName ms3, PinName _stepPin, PinName dir); DigitalOut led_api(PB_6); DigitalOut led_sound(PH_1); -float call_depan(uint16_t x){ +float call_depan(uint16_t x) +{ float side_distance = a_depan/pow(x,b_depan)+1; return side_distance; } @@ -58,60 +59,16 @@ float call_ads(uint16_t ir) { float voltage = ir * 6.2676 * 10e-5; // ubah ke mV uint16_t x = (voltage/3.3f) * 0xFFFF; // ubah ke uint16_t sesuai max nucleo - float dist = a_ads/pow(x, b_ads); + float dist = a_ads/pow(x, b_ads)+1; return dist; } int main() { - relay = 1; - led_api = 0; - led_sound = 0; - amg.begin(AMG88xx_ADDRESS); - amg.setMovingAverageMode(1); - -// while(sound.read()){ -// wait(0.2); -// } - -// pc.printf("Sound Detected\n"); - - while(1) { - //// AMG -// amg.readPixels(pixels); -// float max_temp = pixels[0]; -// int max_i = 0; -// float sum_temp = 0; -// for (int i = 1; i <= AMG88xx_PIXEL_ARRAY_SIZE; i++) { -// if (pixels[i-1] > max_temp) { -// max_temp = pixels[i-1]; -// max_i = i; -// } -// sum_temp += pixels[i-1]; -// } -// pc.printf("temp max= %.2f at %d\n", max_temp, max_i); -// pc.printf("temp rata2 = %.2f", sum_temp/AMG88xx_PIXEL_ARRAY_SIZE); - - //// UVTron -// uv.Read(); -// int read = uv.Flag; -// if (read) pc.printf("FIRE DETECTED\n"); -// else pc.printf("NOT DETECTED\n"); -// wait(0.5); // 200 ms - - //// Relay -// relay = 0; -// pc.printf("RELAY ON\n"); -// wait(1); -// relay = 1; -// pc.printf("RELAY OFF\n"); - - //// Line -// pc.printf("Line = %.2f\n", 3300*line.read()); -// + while (1) { // IR uint16_t ads_raw[4] = {0, 0, 0,0}; - for (int i=0; i < 4; i++) { + for (uint8_t i=0; i < 4; i++) { ads_raw[i] = ads.readADC_SingleEnded(i); }; uint16_t raw_a1 = ira1.read_u16(); @@ -122,12 +79,12 @@ uint16_t raw_a6 = ira6.read_u16(); uint16_t raw_a7 = ira7.read_u16(); uint16_t raw_a8 = ira8.read_u16(); - + uint16_t raw_b1 = irb1.read_u16(); uint16_t raw_b2 = irb2.read_u16(); uint16_t raw_b3 = irb3.read_u16(); uint16_t raw_b4 = irb4.read_u16(); - + float dist_a1 = call_depan(raw_a1); float dist_a2 = call_depan(raw_a2); float dist_a3 = call_depan(raw_a3); @@ -136,52 +93,27 @@ float dist_a6 = call_depan(raw_a6); float dist_a7 = call_depan(raw_a7); float dist_a8 = call_depan(raw_a8); - float dist_a9 = call_ads(ads_raw[0]); - float dist_a10 = call_ads(ads_raw[1]); + float dist_a9 = call_ads(ads_raw[1]); + float dist_a10 = call_ads(ads_raw[3]); float dist_a11 = call_ads(ads_raw[2]); - float dist_a12 = call_ads(ads_raw[3]); + float dist_a12 = call_ads(ads_raw[0]); float dist_b1 = call_depan(raw_b1); float dist_b2 = call_depan(raw_b2); float dist_b3 = call_depan(raw_b3); float dist_b4 = call_depan(raw_b4); - + pc.printf("ir atas\n"); pc.printf("%.2f %.2f %.2f %.2f\n", dist_a9, dist_a10, dist_a11, dist_a12); pc.printf("%.2f %.2f\n", dist_a3, dist_a1); pc.printf("%.2f %.2f\n", dist_a4, dist_a6); pc.printf("%.2f %.2f %.2f %.2f\n", dist_a2, dist_a8, dist_a7, dist_a5); - + pc.printf("ir bawah\n"); pc.printf(" %.2f\n", dist_b1); pc.printf("%.2f %.2f\n", dist_b2, dist_b3); pc.printf(" %.2f\n", dist_b4); - - wait(1); - - //// Stepper -// pc.printf("Stepper \n"); -// for (int i = 0; i < 50; i++) { -// s.step(1, 1, 1/WAIT_TIME); -// } -// -// for (int i = 0; i < 50; i++) { -// s.step(1, -1, 1/WAIT_TIME); -// } -// -// // LED -// led_api = 1; -// pc.printf("led api on\n"); -// wait(0.5); -// led_api = 0; -// pc.printf("led api off\n"); - - //led_sound = 1; -// pc.printf("led sound on\n"); -// wait(0.5); -// led_sound = 0; -// pc.printf("led sound off\n"); -// wait(0.5); - + + wait_ms(200); pc.printf("\033[2J\033[H"); } }