Simulasi Sistem Indikator Social Distancing dan Alarm menggunakan Tinkercad

Halo semuanya, pada kesempatan kali ini, Saya akan membuat 1 simulasi proyek sederhana berupa implementasi Arduino untuk menangani masalah covid-19 dalam hal social distancing. Jadi, alat akan dibuat bisa mendeteksi jarak untuk kemudian memberikan informasi atau alarm berupa bunyi buzzer serta indikator LED.

Berikut merupakan list komponen yang akan digunakan untuk simulasi:

  • Arduino Uno R3
  • Ultrasonic Distance Sensor HC-SR04
  • NeoPixel Ring 12
  • Buzzer Piezo

Pembuatan Simulasi Rangkaian menggunakan Tinkercad

Berikut merupakan langkah-langkah untuk membuat simulasi rangkaian di Tinkercad:

  1. Masuk ke https://www.tinkercad.com/dashboard, kemudian klik Circuits  → Create new Circuit
  2. Ganti nama rangkaian simulasi dengan double click pada pojok kiri atas → ketikkan nama yang diinginkan. Misalnya : “Simulasi Sistem Indikator Social Distancing dan Alarm”. Kemudian pilih Components → All, kemudian susun modul Arduino Uno R3, Ultrasonic Distance Sensor HC-SR04, NeoPixel Ring 12, Buzzer Piezo seperti pada rangkaian di bawah ini.

3. Lalu Klik Code → Blocks → Text → klik Continue untuk memasukkan code Arduino ke dalam rangkaian simulasi.

Arduino Code :

// Final Social Distancing Indicator and Alarming System

#include <Adafruit_NeoPixel.h&gt;

int ledPin= 3;
int ledNo= 12;

Adafruit_NeoPixel strip= Adafruit_NeoPixel(ledNo,ledPin,NEO_RGB+NEO_KHZ800);


int buzzerPin= 2;
int echoPin= 6;
int trigPin= 5;
int minDistance = 100;
int maxDistance = 300;

void setup() 
{
  pinMode(buzzerPin, OUTPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial. begin(9600);  
  strip.begin();
  for(int i = 0; i < ledNo; i++)
  {
   strip.setPixelColor(i,strip.Color(0,0,0));
  }
  strip.show();
}

void loop() 
{
  int distance = calcDistance();
  Serial.println(distance);
  int ledsToGlow = map(distance, minDistance, maxDistance, ledNo, 1);
  Serial.println(ledsToGlow);
  if(ledsToGlow == 12)
  {
    digitalWrite(buzzerPin, HIGH);
  }
  else
  {
    digitalWrite(buzzerPin, LOW);
  }
  for(int i = 0; i < ledsToGlow; i++)
  {
    if(i < 4)
    {
      strip.setPixelColor(i,strip.Color(50,0,0));//green,red,blue
    }
    else if(i &gt;= 4 &amp;&amp; i < 8)
    {
      strip.setPixelColor(i,strip.Color(50,50,0));//green,red,blue
    }
    else if(i &gt;= 8 &amp;&amp; i < 12)
    {
      strip.setPixelColor(i,strip.Color(0,50,0));//green,red,blue
    }
  }
  for(int i = ledsToGlow; i < ledNo; i++)
  {
    strip.setPixelColor(i,strip.Color(0,0,0));
  }
  strip.show();
  delay(50);
}

int calcDistance()
{
  long distance,duration;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration/29/2;
  if(distance &gt;= maxDistance)
  {
    distance = maxDistance;
  }
  if(distance <= minDistance)
  {
    distance = minDistance;
  }
  return distance;
}

4. Jalankan simulasi dengan klik Start Simulation

5. Tampilan Simulasi ketika dijalankan adalah sebagai berikut. Ada 2 indikator yang menandakan besar kecilnya jarak antara alat dan orang/benda di sekitarnya, yaitu LED dan buzzer. Jika jarak alat dan benda sudah sangat dekat, maka buzzer akan berbunyi serta semua LED akan menyala. Jika masih dalam range yang dapat ditoleransi, hanya LED saja yang akan menyala. Penjelasan tentang cara kerja alat dapat dilihat di sub bab berikutnya.

6. Untuk menghentikan simulasi, klik Stop Simulation.

Penjelasan tentang Cara Kerja Alat

Alat yang dibuat memilki spesifikasi minimum jarak 119 cm dan maksimum jarak 300 cm. 3 Kondisi yang mungkin terjadi adalah

a. Jika jarak orang dengan alat > 300 cm, maka hanya 1 LED hijau yang menyala.

b. Jika jarak orang dengan alat antara 119 cm sampai 300 cm, maka LED hijau, LED kuning, LED merah juga bisa ikut menyala, tergantung besarnya jarak.

c. Jika jarak orang dengan alat kurang dari 119 cm, maka semua LED akan menyala dan buzzer juga akan ikut berbunyi.

Sekian tutorial dari Saya, terima kasih.

Add a Comment

Your email address will not be published. Required fields are marked *