tes ir atas semua
Dependencies: mbed ADS1115 StepperMotor SRF05 TPA81new
main.cpp@30:5efd59a0226f, 2019-01-24 (annotated)
- Committer:
- hisyamfs
- Date:
- Thu Jan 24 11:27:26 2019 +0000
- Revision:
- 30:5efd59a0226f
- Parent:
- 28:528c2fbd6a54
- Child:
- 31:95396425b44b
all w/o servo, ir
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hisyamfs | 12:1e3227a6fcd7 | 1 | #include "mbed.h" |
hisyamfs | 12:1e3227a6fcd7 | 2 | #include "TPA81new.h" |
hisyamfs | 16:771d84a80e3d | 3 | #include "SRF05.h" |
hisyamfs | 19:9a7b34bedc6c | 4 | #include "Uvtron.h" |
hisyamfs | 30:5efd59a0226f | 5 | #include "Stepper.h" |
hisyamfs | 16:771d84a80e3d | 6 | |
hisyamfs | 16:771d84a80e3d | 7 | #define LCD_D4_DIG PA_15 |
hisyamfs | 16:771d84a80e3d | 8 | #define LCD_D5_DIG PA_14 |
hisyamfs | 16:771d84a80e3d | 9 | #define LCD_E_DIG PC_15 |
hisyamfs | 16:771d84a80e3d | 10 | #define LCD_RS_DIG PB_7 |
hisyamfs | 14:207770fefedf | 11 | |
hisyamfs | 15:da7a15289893 | 12 | Serial pc(USBTX,USBRX); |
hisyamfs | 17:fd06e8104835 | 13 | |
hisyamfs | 17:fd06e8104835 | 14 | // TPA |
hisyamfs | 15:da7a15289893 | 15 | TPA81 tpax(PB_9, PB_8, 0xDC); |
hisyamfs | 26:9c7f39e21df4 | 16 | TPA81 tpay(PB_9, PB_8, 0xDE); |
dmgongora | 0:79e2a8171b16 | 17 | |
hisyamfs | 17:fd06e8104835 | 18 | // Ultrasonik |
hisyamfs | 25:a75d6875cb55 | 19 | //SRF05 srf1(PC_13, PA_14); // trigger, echo |
hisyamfs | 25:a75d6875cb55 | 20 | //SRF05 srf1(PA_11, PB_12); |
hisyamfs | 25:a75d6875cb55 | 21 | //SRF05 srf1(PB_12, PA_11); |
hisyamfs | 25:a75d6875cb55 | 22 | SRF05 srf1(PB_3, PB_10); |
hisyamfs | 16:771d84a80e3d | 23 | SRF05 srf2(PA_15, PB_7); // trigger, echo |
hisyamfs | 16:771d84a80e3d | 24 | |
hisyamfs | 18:f3b23331090f | 25 | DigitalOut relay(PB_2); |
hisyamfs | 18:f3b23331090f | 26 | |
hisyamfs | 17:fd06e8104835 | 27 | // UVTron |
hisyamfs | 17:fd06e8104835 | 28 | Uvtron uv(PC_12); |
hisyamfs | 17:fd06e8104835 | 29 | |
hisyamfs | 19:9a7b34bedc6c | 30 | // Sound |
hisyamfs | 26:9c7f39e21df4 | 31 | DigitalIn sound(PA_9); |
hisyamfs | 19:9a7b34bedc6c | 32 | |
hisyamfs | 21:bfb064f77f88 | 33 | // Line |
hisyamfs | 21:bfb064f77f88 | 34 | AnalogIn line(PC_1); |
hisyamfs | 21:bfb064f77f88 | 35 | |
hisyamfs | 27:4d79aba70fe8 | 36 | // infrared |
hisyamfs | 27:4d79aba70fe8 | 37 | #define a_depan 5000000 |
hisyamfs | 27:4d79aba70fe8 | 38 | #define b_depan 1.229 |
hisyamfs | 27:4d79aba70fe8 | 39 | // atas |
hisyamfs | 27:4d79aba70fe8 | 40 | AnalogIn ira1(PC_5); |
hisyamfs | 27:4d79aba70fe8 | 41 | AnalogIn ira2(PA_5); |
hisyamfs | 27:4d79aba70fe8 | 42 | AnalogIn ira3(PC_2); |
hisyamfs | 27:4d79aba70fe8 | 43 | AnalogIn ira4(PC_3); |
hisyamfs | 27:4d79aba70fe8 | 44 | AnalogIn ira5(PB_1); |
hisyamfs | 27:4d79aba70fe8 | 45 | AnalogIn ira6(PC_4); |
hisyamfs | 27:4d79aba70fe8 | 46 | AnalogIn ira7(PA_6); |
hisyamfs | 27:4d79aba70fe8 | 47 | AnalogIn ira8(PA_7); |
hisyamfs | 27:4d79aba70fe8 | 48 | // bawah |
hisyamfs | 27:4d79aba70fe8 | 49 | AnalogIn irb1(PA_0); |
hisyamfs | 27:4d79aba70fe8 | 50 | AnalogIn irb2(PA_1); |
hisyamfs | 27:4d79aba70fe8 | 51 | AnalogIn irb3(PA_4); |
hisyamfs | 27:4d79aba70fe8 | 52 | AnalogIn irb4(PB_0); |
hisyamfs | 27:4d79aba70fe8 | 53 | |
hisyamfs | 30:5efd59a0226f | 54 | #define WAIT_TIME 0.02 |
hisyamfs | 30:5efd59a0226f | 55 | |
hisyamfs | 30:5efd59a0226f | 56 | // stepper(PinName _en, PinName ms1, PinName ms2, PinName ms3, PinName _stepPin, PinName dir); |
hisyamfs | 30:5efd59a0226f | 57 | stepper s(PC_6, PC_8, PA_12, PC_7, PA_11, PB_12); |
hisyamfs | 30:5efd59a0226f | 58 | |
hisyamfs | 27:4d79aba70fe8 | 59 | float call_depan(uint16_t x){ |
hisyamfs | 27:4d79aba70fe8 | 60 | float side_distance = a_depan/pow(x,b_depan)+1; |
hisyamfs | 27:4d79aba70fe8 | 61 | return side_distance; |
hisyamfs | 27:4d79aba70fe8 | 62 | } |
hisyamfs | 27:4d79aba70fe8 | 63 | |
dmgongora | 0:79e2a8171b16 | 64 | int main() |
hisyamfs | 12:1e3227a6fcd7 | 65 | { |
hisyamfs | 15:da7a15289893 | 66 | //tpax.changeaddress(0xDC,0xDE); |
hisyamfs | 26:9c7f39e21df4 | 67 | while(sound.read()){} |
hisyamfs | 26:9c7f39e21df4 | 68 | pc.printf("Sound Detected\n"); |
hisyamfs | 15:da7a15289893 | 69 | while(1) { |
hisyamfs | 15:da7a15289893 | 70 | pc.printf("%d", tpay.getTemp(0)); |
hisyamfs | 15:da7a15289893 | 71 | int i; |
hisyamfs | 15:da7a15289893 | 72 | pc.printf("\nTPA Y \n"); |
hisyamfs | 15:da7a15289893 | 73 | tpay.Read(); |
hisyamfs | 15:da7a15289893 | 74 | for (i=2; i<=9; i++) { |
hisyamfs | 15:da7a15289893 | 75 | pc.printf("%d ",tpay.getTemp(i)); |
Ezeuz | 8:5e1854c119ba | 76 | } |
hisyamfs | 15:da7a15289893 | 77 | |
hisyamfs | 15:da7a15289893 | 78 | pc.printf("\nTPA X \n"); |
hisyamfs | 15:da7a15289893 | 79 | tpax.Read(); |
hisyamfs | 15:da7a15289893 | 80 | for (i=2; i<=9; i++) { |
hisyamfs | 15:da7a15289893 | 81 | pc.printf("%d ",tpax.getTemp(i)); |
hisyamfs | 15:da7a15289893 | 82 | } |
hisyamfs | 15:da7a15289893 | 83 | pc.printf("\n"); |
hisyamfs | 15:da7a15289893 | 84 | |
hisyamfs | 16:771d84a80e3d | 85 | pc.printf("us 1: %.2f\tus 2:%.2f\n", srf1.read(), srf2.read()); |
hisyamfs | 17:fd06e8104835 | 86 | |
hisyamfs | 17:fd06e8104835 | 87 | uv.Read(); |
hisyamfs | 17:fd06e8104835 | 88 | int read = uv.Flag; |
hisyamfs | 17:fd06e8104835 | 89 | if (read) pc.printf("FIRE DETECTED\n"); |
hisyamfs | 17:fd06e8104835 | 90 | else pc.printf("NOT DETECTED\n"); |
hisyamfs | 15:da7a15289893 | 91 | wait(0.5); // 200 ms |
hisyamfs | 15:da7a15289893 | 92 | |
hisyamfs | 18:f3b23331090f | 93 | relay = 1; |
hisyamfs | 21:bfb064f77f88 | 94 | pc.printf("RELAY ON\n"); |
hisyamfs | 18:f3b23331090f | 95 | wait(0.5); |
hisyamfs | 18:f3b23331090f | 96 | relay = 0; |
hisyamfs | 21:bfb064f77f88 | 97 | pc.printf("RELAY OFF\n"); |
hisyamfs | 21:bfb064f77f88 | 98 | |
hisyamfs | 21:bfb064f77f88 | 99 | pc.printf("Line = %.2f\n", 3300*line.read()); |
hisyamfs | 27:4d79aba70fe8 | 100 | |
hisyamfs | 30:5efd59a0226f | 101 | for (int i=0; i<200; i++) |
hisyamfs | 30:5efd59a0226f | 102 | { |
hisyamfs | 30:5efd59a0226f | 103 | s.step(1, 1, 1/WAIT_TIME); |
hisyamfs | 30:5efd59a0226f | 104 | } |
hisyamfs | 30:5efd59a0226f | 105 | //uint16_t raw_a1 = ira1.read_u16(); |
hisyamfs | 30:5efd59a0226f | 106 | // uint16_t raw_a2 = ira2.read_u16(); |
hisyamfs | 30:5efd59a0226f | 107 | // uint16_t raw_a3 = ira3.read_u16(); |
hisyamfs | 30:5efd59a0226f | 108 | // uint16_t raw_a4 = ira4.read_u16(); |
hisyamfs | 30:5efd59a0226f | 109 | // uint16_t raw_a5 = ira5.read_u16(); |
hisyamfs | 30:5efd59a0226f | 110 | // uint16_t raw_a6 = ira6.read_u16(); |
hisyamfs | 30:5efd59a0226f | 111 | // uint16_t raw_a7 = ira7.read_u16(); |
hisyamfs | 30:5efd59a0226f | 112 | // uint16_t raw_a8 = ira8.read_u16(); |
hisyamfs | 30:5efd59a0226f | 113 | // |
hisyamfs | 30:5efd59a0226f | 114 | // uint16_t raw_b1 = irb1.read_u16(); |
hisyamfs | 30:5efd59a0226f | 115 | // uint16_t raw_b2 = irb2.read_u16(); |
hisyamfs | 30:5efd59a0226f | 116 | // uint16_t raw_b3 = irb3.read_u16(); |
hisyamfs | 30:5efd59a0226f | 117 | // uint16_t raw_b4 = irb4.read_u16(); |
hisyamfs | 30:5efd59a0226f | 118 | // |
hisyamfs | 30:5efd59a0226f | 119 | // float dist_a1 = call_depan(raw_a1); |
hisyamfs | 30:5efd59a0226f | 120 | // float dist_a2 = call_depan(raw_a2); |
hisyamfs | 30:5efd59a0226f | 121 | // float dist_a3 = call_depan(raw_a3); |
hisyamfs | 30:5efd59a0226f | 122 | // float dist_a4 = call_depan(raw_a4); |
hisyamfs | 30:5efd59a0226f | 123 | // float dist_a5 = call_depan(raw_a5); |
hisyamfs | 30:5efd59a0226f | 124 | // float dist_a6 = call_depan(raw_a6); |
hisyamfs | 30:5efd59a0226f | 125 | // float dist_a7 = call_depan(raw_a7); |
hisyamfs | 30:5efd59a0226f | 126 | // float dist_a8 = call_depan(raw_a8); |
hisyamfs | 30:5efd59a0226f | 127 | // |
hisyamfs | 30:5efd59a0226f | 128 | // float dist_b1 = call_depan(raw_b1); |
hisyamfs | 30:5efd59a0226f | 129 | // float dist_b2 = call_depan(raw_b2); |
hisyamfs | 30:5efd59a0226f | 130 | // float dist_b3 = call_depan(raw_b3); |
hisyamfs | 30:5efd59a0226f | 131 | // float dist_b4 = call_depan(raw_b4); |
hisyamfs | 30:5efd59a0226f | 132 | // |
hisyamfs | 30:5efd59a0226f | 133 | // pc.printf("ir atas\n"); |
hisyamfs | 30:5efd59a0226f | 134 | // pc.printf(" %.2f %.2f\n", dist_a2, dist_a1); |
hisyamfs | 30:5efd59a0226f | 135 | // pc.printf("%.2f %.2f\n", dist_a3, dist_a7); |
hisyamfs | 30:5efd59a0226f | 136 | // pc.printf("%.2f %.2f\n", dist_a4, dist_a8); |
hisyamfs | 30:5efd59a0226f | 137 | // pc.printf(" %.2f %.2f\n", dist_a6, dist_a5); |
hisyamfs | 30:5efd59a0226f | 138 | // |
hisyamfs | 30:5efd59a0226f | 139 | // pc.printf("ir bawah\n"); |
hisyamfs | 30:5efd59a0226f | 140 | // pc.printf(" %.2f\n", dist_b1); |
hisyamfs | 30:5efd59a0226f | 141 | // pc.printf("%.2f %.2f\n", dist_b2, dist_b3); |
hisyamfs | 30:5efd59a0226f | 142 | // pc.printf(" %.2f\n", dist_b4); |
hisyamfs | 30:5efd59a0226f | 143 | // wait(1); |
hisyamfs | 14:207770fefedf | 144 | } |
hisyamfs | 15:da7a15289893 | 145 | } |