Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Sistem Keamanan Berbasis Arduino

Komponen dan persediaan

Arduino UNO
× 1
Sensor Ultrasonik - HC-SR04 (Generik)
× 1
Servo (Tower Pro MG996R)
× 1
Buzzer
× 1
Breadboard (generik)
× 1
Kabel Jumper Pria/Wanita
× 1
Kotak Plastik
× 1

Alat dan mesin yang diperlukan

Pisau

Aplikasi dan layanan online

Arduino IDE
Memproses IDE

Tentang proyek ini

Pendahuluan

Proyek ini adalah Sistem Keamanan Berbasis Arduino yang terdiri dari Arduino Uno, motor servo, sensor ultrasonik, dan buzzer piezoelektrik.

Di sini, sensor ultrasonik merasakan objek yang berada dalam jangkauannya, yang mengaktifkan bel. Data sensor ini juga dimasukkan ke dalam perangkat lunak Processing IDE, yang membuat peta grafis.

Motor servo digunakan untuk memutar sensor ultrasonik sehingga mencakup area yang luas.

Ini adalah proyek yang cukup sederhana dan dapat diselesaikan dalam waktu satu jam.

Berikut adalah prosedur untuk proyek -

  • Hubungkan Pin Pemicu Sensor ke Pin 2 Arduino
  • Hubungkan Pin Gema Sensor ke Pin 3 Arduino
  • Hubungkan Vcc dan GND dari Pasokan Sensor dan Ground masing-masing
  • Letakkan bel di papan tempat memotong roti
  • Hubungkan Ujung Positifnya ke Pin 10 Arduino dan hubungkan Ujung Negatifnya ke ground
  • Pasang kabel hitam dan merah motor servo masing-masing ke ground dan suplai
  • Pasang kabel kuning motor servo ke Pin 9 Arduino
  • Hubungkan terminal 5V Arduino ke suplai dan terminal GND Arduino ke ground

Setelah menyelesaikan koneksi ini, tempatkan seluruh rangkaian di dalam kotak seperti yang ditunjukkan pada gambar.

Maka saatnya untuk membuat kode.

Kode

  • Sistem Keamanan_IDE
  • Memproses
Sistem Keamanan_IDEC9Search
#include . int tPin =2;int ePin =3;int buz =10;int d1,d2;int i =0;int sdistance;Servo myServo; void setup() { Serial.begin(9600); pinMode(tPin, OUTPUT); pinMode(ePin, INPUT); pinMode(buz,OUTPUT); myServo.attach (9); }void loop() { untuk(i=0;i<=180;i +=10) { myServo.write(i); penundaan (30); d2 =hitungJarak(); Serial.print(i); Serial.print(","); Serial.print(d2); Serial.print("."); } untuk(i=180;i>0; i-=10){ myServo.write(i); penundaan (30); d2 =hitungJarak(); Serial.print(i); Serial.print(","); Serial.print(d2); Serial.print("."); }}int hitungJarak(){ digitalWrite(tPin,HIGH); penundaan (1000); digitalWrite(tPin, RENDAH); d1 =pulseIn(ePin, TINGGI); d2 =d1 * 0,0171821306; if (d2 <10) { digitalWrite(buz,TINGGI); } else { digitalWrite(buz,RENDAH); } kembalikan d2; }
MemprosesJava
import processing.serial.*; // mengimpor library untuk komunikasi serialimport java.awt.event.KeyEvent; // mengimpor perpustakaan untuk membaca data dari port serialimport java.io.IOException;Serial myPort; // mendefinisikan Serial Obyek// men-defubes variableString angle="";String distance="";String data="";String noObject;float pixsDistance;int iAngle, iDistance;int index1=0;int index2=0;PFont orcFont; void setup() { ukuran (1366, 768); // ***UBAH INI KE RESOLUSI LAYAR ANDA*** smooth(); myPort =Serial baru(ini,"COM3", 9600); // memulai komunikasi serial myPort.bufferUntil('.'); // membaca data dari serial port hingga karakter '.'. Jadi sebenarnya ini berbunyi:angle,distance.}void draw() { fill(98,245,31); // mensimulasikan blur dan slow fade dari garis bergerak noStroke(); isi (0,4); rect(0, 0, lebar, tinggi-tinggi*0,065); isi(98,245,31); // warna hijau // memanggil fungsi untuk menggambar radar drawRadar(); drawLine(); drawObject(); drawText();}void serialEvent (Serial myPort) { // mulai membaca data dari Serial Port // membaca data dari Serial Port hingga karakter '.' dan memasukkannya ke dalam variabel String "data". data =myPort.readStringUntil('.'); data =data.substring(0,data.panjang()-1); indeks1 =data.indexOf(","); // cari karakter ',' dan masukkan ke dalam variabel "index1" angle=data.substring(0, index1); // membaca data dari posisi "0" ke posisi variabel index1 atau itulah nilai sudut yang dikirim Arduino Board ke Serial Port distance=data.substring(index1+1, data.length()); // membaca data dari posisi "index1" sampai akhir data pr itulah nilai jarak // mengubah variabel String menjadi Integer iAngle =int(angle); iDistance =int(jarak);}void drawRadar() { pushMatrix(); terjemahkan (lebar/2, tinggi-tinggi * 0,074); // memindahkan koordinat awal ke lokasi baru noFill(); strokeBerat (2); pukulan (98,245,31); // menggambar garis busur busur(0,0,(lebar-lebar*0,0625),(lebar-lebar*0,0625),PI,TWO_PI); arc(0,0,(lebar-lebar*0.27),(lebar-lebar*0.27),PI,TWO_PI); arc(0,0,(lebar-lebar*0,479),(lebar-lebar*0,479),PI,TWO_PI); arc(0,0,(lebar-lebar*0,687),(lebar-lebar*0,687),PI,TWO_PI); // menggambar garis garis sudut(-width/2,0,width/2,0); baris(0,0,(-lebar/2)*cos(radian(30)),(-lebar/2)*sin(radian(30))); baris(0,0,(-lebar/2)*cos(radian(60)),(-lebar/2)*sin(radian(60))); baris(0,0,(-lebar/2)*cos(radian(90)),(-lebar/2)*sin(radian(90))); baris(0,0,(-lebar/2)*cos(radian(120)),(-lebar/2)*sin(radian(120))); baris(0,0,(-lebar/2)*cos(radian(150)),(-lebar/2)*sin(radian(150))); baris((-lebar/2)*cos(radian(30)),0,lebar/2,0); popMatrix();}kosongkan drawObject() { pushMatrix(); terjemahkan (lebar/2, tinggi-tinggi * 0,074); // memindahkan koordinat awal ke lokasi baru strokeWeight(9); pukulan (255,10,10); // warna merah pixDistance =iDistance*((height-height*0.1666)*0.025); // menutupi jarak dari sensor dari cm ke piksel // membatasi jangkauan hingga 40 cm if(iDistance<10){ // menggambar objek menurut sudut dan garis jarak(pixsDistance*cos(radian(iAngle)) ,-pixsJarak*sin(radian(iAngle)),(lebar-lebar*0,505)*cos(radian(iAngle)),-(lebar-lebar*0,505)*sin(radian(iAngle))); } popMatrix();}kosongkan drawLine() { pushMatrix(); strokeBerat (9); pukulan (30.250,60); terjemahkan (lebar/2, tinggi-tinggi * 0,074); // memindahkan koordinat awal ke baris lokasi baru(0,0,(height-height*0.12)*cos(radian(iAngle)),-(height-height*0.12)*sin(radian(iAngle))); // menggambar garis sesuai dengan sudut popMatrix();}void drawText() { // menggambar teks di layar pushMatrix(); if(iDistance>10) { noObject ="Di Luar Jangkauan"; } else { noObject ="Dalam Jangkauan"; } isi(0,0,0); tidak ada Stroke(); rect(0, tinggi-tinggi*0,0648, lebar, tinggi); isi(98,245,31); ukuran teks(25); teks("2cm",lebar-lebar*0,3854,tinggi-tinggi*0,0833); teks("4cm",lebar-lebar*0.281, tinggi-tinggi*0.0833); teks("6cm",lebar-lebar*0,177,tinggi-tinggi*0,0833); teks("10cm",lebar-lebar*0,0729,tinggi-tinggi*0,0833); ukuran teks(40); text("Akshay6766 ", lebar-lebar*0.875, tinggi-tinggi*0.0277); text("Sudut:" + iAngle +" ", lebar-lebar*0,48, tinggi-tinggi*0,0277); text("Jarak:", lebar-lebar*0,26, tinggi-tinggi*0,0277); if(iDistance<40) { teks(" " + iDistance +" cm", lebar-lebar*0.225, tinggi-tinggi*0.0277); } ukuran teks(25); isi(98.245.60); translate((lebar-lebar*0,4994)+lebar/2*cos(radian(30)),(tinggi-tinggi*0,0907)-lebar/2*sin(radian(30))); memutar(-radian(-60)); teks("30",0,0); resetMatriks(); translate((lebar-lebar*0,503)+lebar/2*cos(radian(60)),(tinggi-tinggi*0,0888)-lebar/2*sin(radian(60))); memutar(-radian(-30)); teks("60",0,0); resetMatriks(); translate((lebar-lebar*0,507)+lebar/2*cos(radian(90)),(tinggi-tinggi*0,0833)-lebar/2*sin(radian(90))); putar(radian(0)); teks("90",0,0); resetMatriks(); translate(lebar-lebar*0,513+lebar/2*cos(radian(120)),(tinggi-tinggi*0,07129)-lebar/2*sin(radian(120))); putar(radian(-30)); teks("120",0,0); resetMatriks(); translate((lebar-lebar*0,5104)+lebar/2*cos(radian(150)),(tinggi-tinggi*0,0574)-lebar/2*sin(radian(150))); memutar (radian (-60)); teks("150",0,0); popMatriks(); }

Skema


Proses manufaktur

  1. Detektor Bahasa TinyML Berbasis Edge Impulse &Arduino
  2. Game Arduino Gyroscope dengan MPU-6050
  3. Arduino Digital Dice
  4. Iron Man
  5. Temukan Saya
  6. Kontrol Humidifier Arduino
  7. Sonar menggunakan arduino dan ditampilkan pada pemrosesan IDE
  8. MobBob:Robot Arduino DIY Dikendalikan oleh Smartphone Android
  9. Lampu Meja Reaktif Audio Arduino
  10. NeoMatrix Arduino Pong