Projek Arduino Sentry Gun



Sentry Gun adalah senjata tanpa awak mampu auto mously Sensing dan tembak ke target musuh menggunakan deteksi ultrasonik. Dalam projek ini, kita akan menciptakan versi miniatur dari Gun ini. 


Komponen yang diperlukan :

1. Arduino board

2. Mini breadboard

3. Jumper wires

4. Male-to-male jumper wires

5. Four-pin HC-SR04 ultra-sonic sensor 

6. WLToys RC V959 missile launcher

7. Tower Pro SG90 9g servomotor

Diperlukan librari Servo dan NewPing


Cara Kerja :

Kami akan memasang peluncur rudal mainan dan sensor ultrasonik ke lengan servo sehingga servo menyapu pistol dan sensor bolak-balik 180 derajat, memberikan sensor ultrasonik berbagai deteksi. Ketika musuh terdeteksi, Arduino memicu senapan penjaga dan melepaskan rudal. Untuk informasi lebih lanjut tentang sensor ultrasonik.


Komponen kunci untuk proyek ini adalah peluncur misil WLToys RC V959, juga dikenal sebagai peluncur peluru misil Walkera Part RC V959-19, yang ditujukan untuk helikopter yang dikendalikan radio.


Bagian keren ini sangat murah dan tersedia secara luas secara online. Di dalam peluncur ini ada servo mini yang berputar untuk meledakkan rudal. Kabel yang mengontrol servo ini berwarna putih (GND) dan kuning (+5V). Anda juga akan menemukan kabel hitam dan merah, yang untuk satu tembakan, tapi kami hanya akan menggunakan kuning dan putih untuk efek pistol Gatling terus menerus.


Cara membuat rangkaian :

1. Pertama kita siapkan peluncur misil mainan. Lepaskan keempat kabel dengan hati-hati dari soket plastik kecil; mereka harus keluar dengan cukup mudah. Anda dapat menggunakan kabel jumper pria-ke-pria untuk menekan klip plastik untuk membantu.

2. Inti kabel terdampar dan cukup tipis, jadi kupas ujung kabel kuning dan putih dan solder untuk memisahkan kabel inti padat yang dapat dimasukkan ke Arduino, seperti yang ditunjukkan pada Gambar. Potong kabel hitam dan merah atau rekatkan.

3. Rekatkan lengan motor servo ke dasar peluncur misil, seperti yang ditunjukkan pada gambar.

4. Pasang sensor ultrasonik ke bagian atas peluncur, seperti yang ditunjukkan pada gambar. Anda dapat menggunakan pistol lem panas untuk sambungan yang kuat atau cukup rekatkan untuk saat ini jika Anda ingin mengubahnya nanti.



5. Gunakan kabel jumper untuk menghubungkan sensor ultrasonik ke Arduino: sambungkan Trig langsung ke pin Arduino 13, dan Echo langsung ke pin Arduino 12. Kami akan menggunakan breadbord mini untuk membantu beberapa koneksi daya ke Arduino +5V dan GND.

6. Hubungkan kabel coklat servomotor ke Arduino GND dan kabel merah ke +5V melalui breadbord mini, dan kabel kuning/putih langsung ke pin Arduino 9.

7. Hubungkan kabel putih peluncur ke rel GND breadbord mini, dan kabel kuning langsung ke pin Arduino 3.

8. Senapan penjaga Anda akan terlihat seperti Gambar. Masukkan rudal ke peluncur.

9. Konfirmasikan bahwa penyiapan Anda yang telah selesai cocok dengan Gambar Unggah kode di "Sketsa".


Sketch program arduino :

Sketsa pertama memanggil perpustakaan NewPing dan Servo untuk mengakses fungsi yang Anda perlukan untuk mengontrol servomotor dan sensor ultrasonik, masing-masing. Servomotor menyapu kembali satu arah dan kemudian maju ke arah lain, menggerakkan sensor ultrasonik 180 derajat. Sensor mengirimkan sinyal ultrasonik, atau ping, dan ketika ping ini mencapai suatu objek, bergema kembali untuk memberikan nilai waktu. Arduino mengubah nilai ini menjadi jarak antara sensor dan objek. Ketika jarak ke objek kurang dari 15 sentimeter, servo berhenti dan daya dikirim ke peluncur untuk menembakkan peluru ke objek. Anda dapat mengubah jarak pemicu ini (diberikan dalam sentimeter).

#include <NewPing.h> // Call NewPing library 
#include <Servo.h> // Call Servo library 
#define trigPin 12 // Pin connected to ultrasonic sensor Trig 
#define echoPin 13 // Pin connected the ultrasonic sensor Echo 
#define MAX_DISTANCE 500 
NewPing sonar(trigPin, echoPin, MAX_DISTANCE); 
int blaster = 3; // Pin connected to the blaster 
int angle = 0; // Set servo position in degrees 
Servo servo; 
void setup() { 
Serial.begin (115200); 
pinMode(trigPin, OUTPUT); 
pinMode(echoPin, INPUT); 
pinMode(blaster, OUTPUT); 
servo.attach(9); // Pin connected to servo 

void loop() { 
int duration, distance, pos = 0, i; 
digitalWrite(trigPin, LOW); 
delayMicroseconds(2); 
digitalWrite(trigPin, HIGH); // trigPin sends a ping 
delayMicroseconds(10); 
digitalWrite(trigPin, LOW); 
duration = pulseIn(echoPin, HIGH); // echoPin receives the ping 
distance = (duration / 2) / 29.1; 
Serial.print(distance); 
Serial.println(" cm"); 
if (distance <= 15) { // If distance is fewer than 15 cm 
digitalWrite(blaster, HIGH); // Blaster will fire 
servo.write(90); 
}

else { 
digitalWrite(blaster, LOW); // Otherwise, blaster won't activate 
for (angle = 0; angle < 180; angle++) { // Sweep the servo 
servo.write(angle); 
delay(15); 

for (angle = 180; angle > 0; angle--) { 
servo.write(angle); 

delay(450); 

}

Demikianlah projek arduino Sentry Gun, selamat mencoba dan semoga bermanfaat.