Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed ADS1115 StepperMotor SRF05 TPA81new
Revision 13:0c5942931cad, committed 2019-01-04
- Comitter:
- hisyamfs
- Date:
- Fri Jan 04 11:58:19 2019 +0000
- Parent:
- 12:1e3227a6fcd7
- Child:
- 14:207770fefedf
- Commit message:
- Test terakhir, 17 des 2018
Changed in this revision
| SRF05.lib | Show annotated file Show diff for this revision Revisions of this file |
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SRF05.lib Fri Jan 04 11:58:19 2019 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/simon/code/SRF05/#e758665e072c
--- a/main.cpp Sun Dec 16 01:53:07 2018 +0000
+++ b/main.cpp Fri Jan 04 11:58:19 2019 +0000
@@ -3,28 +3,29 @@
#include "AX12.h"
#include "Uvtron.h"
#include "TPA81new.h"
+#include "SRF05.h"
#define WAIT_TIME 0.02
Serial pc(USBTX, USBRX);
+AnalogIn IR(PA_0);
// stepper(PinName _en, PinName ms1, PinName ms2, PinName ms3, PinName _stepPin, PinName dir);
stepper s(PC_6, PC_8, PA_12, PC_7, PA_11, PB_12);
Uvtron uv(PC_12);
-
-AX12 servo1(PC_10, PC_11, PA_13, 6, 1000000); // tx, rx, tx_enable, servo ID, baud rate
-AX12 servo2(PC_10, PC_11, PA_13, 22, 1000000);
-AX12 servo3(PC_10, PC_11, PA_13, 19, 1000000);
-
-TPA81 tpay(PB_9, PB_8, 0xDE);
+AX12 servo1(PC_10, PC_11, PA_13, 1, 1000000); // tx, rx, tx_enable, servo ID, baud rate
+TPA81 tpay(PB_9,PB_8, 0xDE);
+SRF05 srf(PA_15, PA_14); // trigger, echo
DigitalOut led(LED1);
int main()
{
- s.enable();
+// s.enable();
while (1)
{
-
- // TPA
+// Ultrasonik
+ pc.printf("Distance = %.1f\n", srf.read());
+
+// TPA
pc.printf("%d", tpay.getTemp(0));
int i;
pc.printf("\nTPA Y \n");
@@ -33,22 +34,61 @@
pc.printf("%d ",tpay.getTemp(i));
}
- // Stepper
- pc.printf("Stepper\n");
+// Stepper
+ pc.printf("\n stepper \n");
s.step(1, 1, 1/WAIT_TIME);
// Servo
- servo1.SetGoal(240);
- servo2.SetGoal(240);
- servo3.SetGoal(240);
- pc.printf("Servo : 240\n");
- led = 1;
+ float degrees2 = 150;
+ float speed1 = 1.0;
+ servo1.MultSetGoal(
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1
+ );
+
+ pc.printf("Servo 150\n");
wait(1);
- servo1.SetGoal(150);
- servo2.SetGoal(150);
- servo3.SetGoal(150);
- pc.printf("Servo : 150\n");
- led = 0;
+
+ degrees2 = 240;
+
+ servo1.MultSetGoal(
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1,
+ degrees2, speed1
+ );
+
+ pc.printf("Servo 240\n");
wait(1);
// Uvtron
@@ -56,5 +96,11 @@
int read = uv.Flag;
if (read) pc.printf("FIRE DETECTED\n");
else pc.printf("NOT DETECTED\n");
+
+ // IR
+ float meas = IR.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
+ meas = meas * 3300; // Change the value to be in the 0 to 3300 range
+ float ir_dist = (330377) * (pow(meas , (-1.349f)));
+ printf("IR : %.4f\n", ir_dist);
}
}
\ No newline at end of file