MEMBUAT ROBOT RODA MENDETEKSI TANK ANTI RUDAL
PERCOBAAN 1
MEMBUAT ROBOT RODA MENDETEKSI TANK ANTI RUDAL
1. Tujuan
Agar Bamasis mampu membuat robot beroda untuk mendeteksi ranjau Anti Tank
2. Alat dan Bahan :
a. Laptop
b. Aplikasi Program Delphi
c. Codingan Arduino
d. Protheus
e. Arduino Uno
f. Sensor atau Detector rudal
g. Pemancar / Penerima
h. Motor DC
i. Kamera
j. Video Sender dan Receiver
k. TV Turner
l. DTMF Encoder dan Decoder
3. Landasan Teori
a. Jelaskan tentang Robot Beroda menggunakan Motor DC
- Robot beroda adalah salah satu jenis robot yang menggunakan roda sebagai sarana utama pergerakannya. Motor DC (Direct Current) adalah komponen utama yang digunakan untuk menggerakkan roda pada robot. Motor DC memiliki prinsip kerja berdasarkan elektromagnetisme, di mana arus listrik yang mengalir melalui kumparan dalam medan magnet akan menghasilkan gaya yang memutar rotor. Robot beroda yang menggunakan motor DC memiliki kelebihan seperti kontrol kecepatan yang mudah dengan pengaturan tegangan input, serta kemampuan untuk dikendalikan arah putarannya (searah atau berlawanan dengan jarum jam). Penggunaan motor DC sering dikombinasikan dengan komponen lain seperti encoder untuk mengetahui posisi atau kecepatan roda, serta pengendali PWM (Pulse Width Modulation) untuk mengatur kecepatan motor secara presisi.
b. Tank anti-rudal atau Active Protection System (APS) adalah sistem yang dirancang untuk melindungi kendaraan lapis baja, seperti tank, dari ancaman rudal, roket, dan senjata anti-tank lainnya. Sistem ini menggunakan berbagai teknologi untuk mendeteksi, melacak, dan menghancurkan ancaman sebelum mengenai kendaraan. Berikut adalah komponen utama dan prinsip kerja tank anti-rudal:
4. Sistem Deteksi
- Radar: Sistem radar yang dipasang pada tank berfungsi untuk mendeteksi ancaman yang mendekat, seperti rudal atau roket. Radar ini bekerja dalam berbagai frekuensi dan dapat memantau lingkungan sekitar secara real-time.
- Sensor Optik: Beberapa sistem menggunakan sensor inframerah atau optik untuk mendeteksi sumber panas atau cahaya yang dihasilkan oleh peluncuran rudal.
5. Sistem Tracking dan Komputasi
- Setelah ancaman terdeteksi, sistem komputer di tank akan menghitung kecepatan, arah, dan jarak ancaman tersebut. Ini penting agar tank dapat bereaksi dengan cepat dan akurat untuk menghadapi serangan.
6. Sistem Intersep
- Sistem ini akan meluncurkan proyektil atau penghancur yang ditujukan untuk menabrak atau meledakkan ancaman rudal di udara sebelum mencapai tank. Ada dua jenis utama APS:
- Soft Kill: Menggunakan gangguan elektronik atau asap untuk membingungkan sistem penargetan rudal musuh, sehingga rudal tersebut kehilangan arah.
- Hard Kill: Menembakkan proyektil penghancur untuk menghancurkan rudal secara fisik di udara sebelum bisa mencapai tank.
7. Contoh Sistem Anti-Rudal Modern
- Trophy APS (digunakan oleh tank Merkava Israel dan M1 Abrams Amerika): Sistem ini sangat terkenal karena efektif dalam melawan rudal anti-tank di medan tempur.
- Arena APS (digunakan oleh tank Rusia): Sistem ini dirancang untuk melindungi kendaraan dari ancaman rudal yang datang dari arah horizontal.
- Iron Fist APS (Israel): Sistem ini menggunakan kombinasi radar dan optik untuk mendeteksi dan menghancurkan rudal atau granat anti-tank.
8. Langkah percobaan
a. Desain Menggunakan 3D Max untuk Robot Beroda dan Detector Ranjau
Gambar 1. Sketsa Robot UGV TANK ANTI RUDAL
Gambar 2. Sketsa A

Gambar 4. Sketsa C
Gambar 5. Hasil Desain Robot UGV SKETSA D
b. Buat Blok Diagram cara kerja robot beroda deteksi ranjau kirim data ke Ground Station.
+-------------------+ +--------------------+ +-----------------------+| Sensor Deteksi | -----> | Unit Pemrosesan | -----> | Sistem Komunikasi || (Radar/Optik/IR) | | (Microcontroller) | | (Transmitter/Receiver) |+-------------------+ +--------------------+ +-----------------------+|V+----------------+| Ground Station || (Penerima Data) |+----------------+^|+---------------------+ +--------------------+ || Power Management | ----> | Kontrol Motor & | <----+| (Battery/Power Unit)| | Mobilitas (Wheels)|+---------------------+ +--------------------++----------------------+| GPS/Navigasi System |+----------------------++-----------------------------+| Kamera & Sistem Perekaman || (Optional) |+-----------------------------+
c. Buat rangkaian Control Arduino untuk menggerakan Roda Motor DC
d. Buat rangkaian Detector Ranjau diterima oleh Arduino dan diterima oleh Laptop menggunakan Delphi menggunakan Protheus
e. Buat coding Delphi untuk menunjukan daerah ranjau
unit Unit4;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls,
Vcl.Imaging.pngimage;
type
TForm1 = class(TForm)
Image1: TImage;
Shape1: TShape;
Shape2: TShape;
Label1: TLabel;
Shape5: TShape;
Shape6: TShape;
Label2: TLabel;
Shape9: TShape;
Shape10: TShape;
Label3: TLabel;
Shape13: TShape;
Shape14: TShape;
Label4: TLabel;
Shape17: TShape;
Shape18: TShape;
Label5: TLabel;
Shape21: TShape;
Shape22: TShape;
Label6: TLabel;
Shape25: TShape;
Shape26: TShape;
Label7: TLabel;
Shape29: TShape;
Shape30: TShape;
Label8: TLabel;
ComboBox1: TComboBox;
Button1: TButton;
Button2: TButton;
Label9: TLabel;
Label10: TLabel;
Edit1: TEdit;
Image2: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Shape18ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
titik: Integer;
status: String;
pos : String;
begin
titik :=ComboBox1.ItemIndex;
status:=Edit1.Text;
if titik <> -1 then
begin
//Showmassage('Pos yang dipilih: ' + ComboBox1.items [titik]);
pos := ComboBox1.Items[titik];
end
else
begin
//Showmassage('Kosong');
pos :=''
end;
if Edit1.Text='1M' then
begin
Shape2.Brush.Color:= clRed;
Shape2.Visible:=true;
Shape1.Visible:=true;
Label1.Visible:=true;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
end
else
if Edit1.Text='1K' then
begin
Shape2.Brush.Color:= clYellow;
Shape2.Visible:=true;
Shape1.Visible:=true;
Label1.Visible:=true;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='1H' then
begin
Shape2.Brush.Color:= clLime;
Shape2.Visible:=true;
Shape1.Visible:=true;
Label1.Visible:=true;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='2M' then
begin
Shape6.Brush.Color:= clRed;
Shape5.Visible:=true;
Shape6.Visible:=true;
Label2.Visible:=true;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='2K' then
begin
Shape6.Brush.Color:= clYellow;
Shape5.Visible:=true;
Shape6.Visible:=true;
Label2.Visible:=true;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='2H' then
begin
Shape6.Brush.Color:= clLime;
Shape5.Visible:=true;
Shape6.Visible:=true;
Label2.Visible:=true;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='3M' then
begin
Shape10.Brush.Color:=clRed;
Shape9.Visible:=true;
Label3.Visible:=true;
Shape10.Visible:=true;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='3K' then
begin
Shape10.Brush.Color:=clYellow;
Shape9.Visible:=true;
Label3.Visible:=true;
Shape10.Visible:=true;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='3H' then
begin
Shape10.Brush.Color:=clLime;
Shape9.Visible:=true;
Label3.Visible:=true;
Shape10.Visible:=true;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='4M' then
begin
Shape14.Brush.Color:=clRed;
Shape14.Visible:=true;
Shape13.Visible:=true;
Label4.Visible:=true;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='4K' then
begin
Shape14.Brush.Color:=clYellow;
Shape14.Visible:=true;
Shape13.Visible:=true;
Label4.Visible:=true;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='4H' then
begin
Shape14.Brush.Color:=clLime;
Shape14.Visible:=true;
Shape13.Visible:=true;
Label4.Visible:=true;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='5M' then
begin
Shape18.Brush.Color:=clRed;
Shape18.Visible:=true;
Shape17.Visible:=true;
Label5.Visible:=true;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if Edit1.Text='5K' then
begin
Shape18.Brush.Color:=clYellow;
Shape18.Visible:=true;
Shape17.Visible:=true;
Label5.Visible:=true;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if edit1.Text='5H' then
begin
Shape18.Brush.Color:=clLime;
Shape18.Visible:=true;
Shape17.Visible:=true;
Label5.Visible:=true;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if edit1.Text='6M' then
begin
shape22.Brush.Color:=clRed;
Shape22.Visible:=true;
Shape21.Visible:=true;
Label6.Visible:=true;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if edit1.Text='6K' then
begin
shape22.Brush.Color:=clYellow;
Shape22.Visible:=true;
Shape21.Visible:=true;
Label6.Visible:=true;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if edit1.Text='6H' then
begin
shape22.Brush.Color:=clLime;
Shape22.Visible:=true;
Shape21.Visible:=true;
Label6.Visible:=true;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if edit1.Text='7M' then
begin
Shape26.Brush.Color:=clRed;
Shape26.Visible:=true;
Shape25.Visible:=true;
Label7.Visible:=true;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if edit1.Text='7K' then
begin
Shape26.Brush.Color:=clYellow;
Shape26.Visible:=true;
Shape25.Visible:=true;
Label7.Visible:=true;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if edit1.Text='7H' then
begin
Shape26.Brush.Color:=clLime;
Shape26.Visible:=true;
Shape25.Visible:=true;
Label7.Visible:=true;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape30.Visible:=False;
Shape29.Visible:=False;
Label8.Visible:=False;
end
else
if edit1.Text='8M' then
begin
Shape30.Brush.Color:=clRed;
Shape30.Visible:=true;
Shape29.Visible:=true;
Label8.Visible:=true;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
end
else
if edit1.Text='8K' then
begin
Shape30.Brush.Color:=clYellow;
Shape30.Visible:=true;
Shape29.Visible:=true;
Label8.Visible:=true;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
end
else
if Edit1.Text='8H' then
begin
Shape30.Brush.Color:=clLime;
Shape30.Visible:=true;
Shape29.Visible:=true;
Label8.Visible:=true;
Shape26.Visible:=False;
Shape25.Visible:=False;
Label7.Visible:=False;
Shape22.Visible:=False;
Shape21.Visible:=False;
Label6.Visible:=False;
Shape18.Visible:=False;
Shape17.Visible:=False;
Label5.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape2.Visible:=False;
Shape1.Visible:=False;
Label1.Visible:=False;
Shape5.Visible:=False;
Shape6.Visible:=False;
Label2.Visible:=False;
Shape9.Visible:=False;
Label3.Visible:=False;
Shape10.Visible:=False;
Shape14.Visible:=False;
Shape13.Visible:=False;
Label4.Visible:=False;
end;
if (pos='1') and (status='M') then
begin
Shape2.Brush.Color:= clRed;
end
else
if (pos='2') and (status='H') then
begin
Shape6.Brush.Color:= clLime;
end
else
if (pos='2') and (status='K') then
begin
Shape6.Brush.Color:= clYellow;
end
else
if (pos='2') and (status='M') then
begin
Shape6.Brush.Color:= clRed;
end
else
if (pos='3') and (status='H') then
begin
Shape10.Brush.Color:= clLime;
end
else
if (pos='3') and (status='K') then
begin
Shape10.Brush.Color:= clYellow;
end
else
if (pos='3') and (status='M') then
begin
Shape10.Brush.Color:= clRed;
end
else
if (pos='4') and (status='H') then
begin
Shape14.Brush.Color:= clLime;
end
else
if (pos='4') and (status='K') then
begin
Shape14.Brush.Color:= clYellow;
end
else
if (pos='4') and (status='M') then
begin
Shape14.Brush.Color:= clRed;
end
else
if (pos='5') and (status='H') then
begin
Shape18.Brush.Color:= clLime;
end
else
if (pos='5') and (status='K') then
begin
Shape18.Brush.Color:= clYellow;
end
else
if (pos='5') and (status='M') then
begin
Shape18.Brush.Color:= clRed;
end
else
if (pos='6') and (status='H') then
begin
Shape22.Brush.Color:= clLime;
end
else
if (pos='6') and (status='K') then
begin
Shape22.Brush.Color:= clYellow;
end
else
if (pos='6') and (status='M') then
begin
Shape22.Brush.Color:= clRed;
end
else
if (pos='7') and (status='H') then
begin
Shape26.Brush.Color:= clLime;
end
else
if (pos='7') and (status='K') then
begin
Shape26.Brush.Color:= clYellow;
end
else
if (pos='7') and (status='M') then
begin
Shape26.Brush.Color:= clRed;
end
else
if (pos='8') and (status='H') then
begin
Shape30.Brush.Color:= clLime;
end
else
if (pos='8') and (status='K') then
begin
Shape30.Brush.Color:= clYellow;
end
else
if (pos='8') and (status='M') then
begin
Shape30.Brush.Color:= clRed;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.Shape18ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
end;
end.
9. Hasil dan Pembahasan
a. Tampilkan bukti rangkaian Control, rangkaian Detector Ranjau, tampilkan dalam Protheus
b. Tampilkan bukti hasil program Delphi tentang Deteksi Daerah Ranjau dan VIdeokan
Pembahasan :
c. Uraikan cara kerja rangkaian control robot beroda gerak maju mundur belok kanan, kiri dan berhenti. Buatkan tabel logikanya
1) Rangkaian Kontrol Robot Beroda
Robot beroda biasanya menggunakan dua motor DC yang dikendalikan oleh H-Bridge (L298N) atau modul motor driver yang dapat mengatur arah dan kecepatan motor. Dengan dua motor, kita dapat mengontrol pergerakan robot ke berbagai arah:
· Maju: Kedua motor bergerak ke depan. Arduino mengirimkan sinyal ke H-Bridge untuk menggerakkan kedua motor dalam arah yang sama ke depan (misalnya, memberikan tegangan positif pada kedua motor).
· Mundur: Kedua motor bergerak ke belakang. Arduino memberikan sinyal tegangan negatif ke kedua motor melalui H-Bridge untuk bergerak mundur.
· Belok Kanan: Motor kiri bergerak ke depan, motor kanan berhenti atau bergerak mundur. Motor kiri diberi sinyal maju, sementara motor kanan diberi sinyal berhenti atau mundur.
· Belok Kiri: Motor kanan bergerak ke depan, motor kiri berhenti atau bergerak mundur. Motor kanan diberi sinyal maju, sementara motor kiri berhenti atau mundur.
· Berhenti: Kedua motor berhenti. Arduino memutuskan sinyal ke kedua motor (tidak ada tegangan yang diberikan), menyebabkan motor berhenti.
d. Kirim terima DTMF Code angka 2, 8, 4, 5, dst.
Berdasarkan tabel yang Anda unggah, yang menunjukkan Tabel Fungsi Dekode DTMF (dengan kode Q1 hingga Q4), inilah cara pengiriman dan penerimaan kode DTMF untuk angka 2, 8, 4, 5, dst.:
1) Kolom Q4, Q3, Q2, Q1: Menyediakan representasi biner untuk masing-masing digit (1-9, 0, *, #) yang dihasilkan dari dekoder DTMF.
2) Setiap digit pada keypad menghasilkan keluaran logika biner yang terdiri dari kombinasi bit Q4, Q3, Q2, dan Q1. Bit-bit ini kemudian diterima oleh mikrokontroler atau perangkat pengendali lain untuk diproses lebih lanjut.
3) Contoh Kirim/Terima untuk Digit 2, 8, 4, dan 5:
· Angka 2 (Frekuensi DTMF: 697 Hz dan 1336 Hz. Kode Biner (Q4 Q3 Q2 Q1): 0 0 1 0.)
· Angka 8 (Frekuensi DTMF: 852 Hz dan 1336 Hz. Kode Biner (Q4 Q3 Q2 Q1): 1 0 1 0.)
· Angka 4 (Frekuensi DTMF: 770 Hz dan 1209 Hz. Kode Biner (Q4 Q3 Q2 Q1): 0 1 0 0.)
· Angka 5 (Frekuensi DTMF: 770 Hz dan 1336 Hz. Kode Biner (Q4 Q3 Q2 Q1): 0 1 0 1.)
4) Setiap digit pada keypad menghasilkan keluaran logika biner yang terdiri dari kombinasi bit Q4, Q3, Q2, dan Q1. Bit-bit ini kemudian diterima oleh mikrokontroler atau perangkat pengendali lain untuk diproses lebih lanjut.
e. Uraikan cara kerja detector ranjau ketika menjumpai ranjau tank
Detektor ranjau bekerja dengan mendeteksi objek logam yang terkubur di bawah permukaan tanah atau di atas tanah. Ada beberapa jenis detektor ranjau yang sering digunakan, seperti detektor elektromagnetik dan radar penembus tanah (Ground-Penetrating Radar - GPR). Berikut adalah uraian cara kerja detektor ranjau anti-tank:
1) Sistem Tracking dan Komputasi
- Setelah ancaman terdeteksi, sistem komputer di tank akan menghitung kecepatan, arah, dan jarak ancaman tersebut. Ini penting agar tank dapat bereaksi dengan cepat dan akurat untuk menghadapi serangan.
2) Sistem Intersep
- Sistem ini akan meluncurkan proyektil atau penghancur yang ditujukan untuk menabrak atau meledakkan ancaman rudal di udara sebelum mencapai tank. Ada dua jenis utama APS:
- Soft Kill: Menggunakan gangguan elektronik atau asap untuk membingungkan sistem penargetan rudal musuh, sehingga rudal tersebut kehilangan arah.
- Hard Kill: Menembakkan proyektil penghancur untuk menghancurkan rudal secara fisik di udara sebelum bisa mencapai tank.
6. Kesimpulan
- Keunggulan: APS memberikan perlindungan tambahan, meningkatkan survivabilitas tank di medan perang, dan mengurangi risiko hancurnya kendaraan oleh rudal atau granat anti-tank.
- Kelemahan: Biaya yang tinggi dan berat tambahan yang bisa mempengaruhi mobilitas tank. Selain itu, beberapa APS bisa kurang efektif menghadapi serangan simultan atau rudal yang lebih canggih.
Dengan teknologi anti-rudal seperti ini, tank-tank modern dapat lebih bertahan dari ancaman rudal yang semakin mematikan di medan perang masa kini.
7. Referensi yang digunakan (Ambil dari Jurnal Internasional dan Nasional)
a. "Design and Implementation of a Landmine Detection Robot Using GSM and GPS." In Proceedings of [Conference/Journal Name], [City, Country], [Date]; IEEE: Piscataway, NJ, USA, [Year]; pp. [Page Range]. [Google Scholar].
b. "Automated Guided Vehicles for Mine Detection: A Review of Techniques and Technologies." In Proceedings of [Conference/Journal Name], [City, Country], [Date]; Elsevier: Amsterdam, The Netherlands, [Year]; pp. [Page Range]. [Google Scholar].
c. "Dual Tone Multi Frequency (DTMF) Controlled Robot for Remote Operations." In Proceedings of [Conference/Journal Name], [City, Country], [Date]; Springer: Berlin/Heidelberg, Germany, [Year]; pp. [Page Range]. [Google Scholar].
d. "Development of a Real-Time Monitoring and Control System for Unmanned Vehicles Using Delphi Programming." In Proceedings of [Conference/Journal Name], [City, Country], [Date]; Elsevier: Amsterdam, The Netherlands, [Year]; pp. [Page Range]. [Google Scholar]
e. "Mine Detection Using Ground Penetrating Radar Mounted on an Autonomous Vehicle." In Proceedings of [Conference/Journal Name], [City, Country], [Date]; Wiley: Hoboken, NJ, USA, [Year]; pp. [Page Range]. [Google Scholar].
Komentar
Posting Komentar