Rabu, 25 April 2018

Progress ke-4

Rabu, 18 April 2018

Progress ke-3

Gambar Alat

Node sensor: NodeMCU, ADXL345

Node server: Sonoff basic (ESP8266+relay)

Pengujian


Node sensor dan node server berhasil terhubung ke access point


  • Node sensor berhasil terhubung ke MQTT broker (lokal)
  • Node sensor berhasil terhubung ke ADXL345 via I2C dan terbaca nilai akselerasi dalam satuan gravity (1g = 9.8 m/s2,)
  • Node sensor mengirimkan data (publish) akselerasi sumbu x ke broker setiap 200 milidetik melalui topik sumbux

  • Node server berhasil terhubung ke MQTT broker (lokal)
  • Node server menerima data akselerasi dengan subscribe topik sumbux
  • Node server akan menghitung rata-rata akselerasi setiap 1000 milidetik, jika melebihi 0,2g akan mematikan relay dan mengirim notifikasi
  • Node server publish notifikasi lewat topik notifikasi
  • Node server subscribe topic relay untuk menyalakan dan mematikan relay secara manual

Terdeteksi gempa dengan intensitas membahayakan, akan mematikan relay dan mengirim notifikasi

Notifikasi diterima oleh client yang subscribe topik notifikasi

Simulasi


Source Code



Rabu, 11 April 2018

Progress Ke-2

Diagram Alir Sistem



  • Data accelerometer dari dua node sensor akan dihitung oleh node server untuk menentukan besarannya dalam satuan skala mercalli.
  • Nilai skala mercalli akan dibandingkan dengan batas yang ditentukan, jika melebihi batas lanjut ke tahap selanjutnya. Jika tidak melebihi batas maka relay akan tetap dalam status ON.
  • Node server akan mentrigger relay yang berfungsi sebagai saklar untuk memutus aliran listrik
  • Pengiriman data dari node sensor ke nose server menggunakan protokol MQTT

Rangkaian Umum Sistem


  • NodeMCU sebagai kontroller yang dilengkapi ESP8266 sebagai mikrokontroller dengan kemampuan Wi-Fi
  • MPU-6050 sebagai sensor yang membaca pergerakan bangunan
  • Komputer (lokal) sebagai broker
  • Sonoff sebagai server node yang berbasis ESP8266 dan telah dilengkapi relay

Rangkaian Node Sensor

Sensor yang digunakan adalah ADXL345 yaitu sensor akselerometer tiga sumbu yang berjalan pada daya 3.3V. Komunikasi antara ADXL345 dengan NodeMCU menggunakan I2C sehingga hanya perlu dua pin saja yaitu SDA (Serial data) dan SCL (Serial clock). Kedua pin tersebut termapping dengan pin D1 dan D2 pada NodeMCU.

Rangkaian Node Server (Sonoff)


Perangkat ini sudah jadi satu paket menggunakan ESP8266 sebagai mikrokontroller. Dalam perangkat ini juga sudah tersedia relay dan rangkain power supply sehingga bisa dinyalakan dengan langsung menancapkan ke stop kontak listrik AC 220V (PLN).

Rabu, 04 April 2018

Progress Ke-1

Perancangan Jaringan Sensor Nirkabel Pada Sistem Pemutus Arus Listrik Otomatis Saat Terjadi Gempa Bumi

Kelompok arb

Agung Rahmat Budiman (1301144142)

Spesifikasi Project

Pada proyek ini akan dirancangan suatu alat yang bisa mendeteksi aktivitas seismik pada suatu bangunan. Aktivitas seismik tersebut akan dihitung lalu dikonversi ke skala MMI, jika melebihi batas aman akan dilakukan pemutusan arus listrik secara otomatis. Ada dua titik yang dipantau yaitu bagian bawah bangunan (lantai) dan bagian atas bangunan (langit-langit). Oleh karena itu diperlukan tiga buah node yaitu 2 node sensor yang bertugas membaca aktivitas seismik (berupa getaran) dan 1 node server yang bertugas menerima dan menghitung data dari node sensor.

Protokol pengiriman data yang digunakan adalah MQTT. MQTT adalah protokol komunikasi M2M (machine to machine) yang sangat ringan yang menerapkan konsep publish-subscribe. Berikut topologi jaringan dari sistem ini secara umum:

Perangkat keras yang digunakan antara lain:

  • NodeMCU sebagai kontroller yang dilengkapi ESP8266 sebagai mikrokontroller dengan kemampuan Wi-Fi
  • MPU-6050 sebagai sensor yang membaca pergerakan bangunan
  • Komputer (lokal) sebagai broker
  • Sonoff sebagai server node yang berbasis ESP8266 yang telah dilengkapi relay

Output Project

Pada proyek ini ada dua keluaran utama yaitu prototipe dan simulasi. Prototipe yang dibangun yaitu satu node sensor dan satu node server sedangkan simulasi menggunakan Cooja yang terdapat pada Contiki OS. Node yang disimulasikan adalah node server, node sensor dan broker.


Kajian Pustaka

  1. Perbandingan Literatur

Dalam studi ini penulis menggali informasi dari penelitian-penelitian sebelumnya sabagai bahan perbandingan, baik mengenai kekurangan atau kelebihan yang sudah ada. Selain itu, peneliti juga menggali informasi dari buku-buku maupun skripsi dalam rangka mendapatkan suatu informasi yang ada sebelumnya tentang teori yang berkaitan dengan judul yang digunakan untuk memperoleh landasan teori ilmiah.

Pada penelitian Aji Setiawan dan Rahmat Hidayat [2] membuat alat pendeteksi gempa dengan bahan - bahan sederhana seperti pipa, pegas dan beban lalu memakai mikrokontroler  ATmega8, sedangkan teori yang digunakan adalah teori hukum hooke yang meggunakan kepekaan pegas terhadap getaran sehingga dapat mendeteksi gempa. Berdasarkan studi literatur yang telah dilakukan didapatkan hasil yang disajikan dalam tabel berikut:

Judul

Metode

Alat

Prototipe Emergency Light untuk Jalur Evakuasi Gedung Berdasarkan Sensor Getaran [3]

  • Ada dua modul yaitu arduino dan raspi
  • Arduino terhubung dengan sensor akselerometer+gyro sedangkan raspi terhubung dengan led dan buzzer (melalui relay)
  • Komunikasi antara arduino dengan raspberry menggunakan WiFi dengan protokol MQTT
  • Arduino UNO,ESP8266
  • Raspberry Pi
  • Relay,LED,buzzer
  • Sensor akselerometer dan gyro
  • Wireless router

Perancangan Dan Implementasi Wireless Sensor Network (WSN) Untuk Monitoring Getaran Rel Kereta Api Berbasis Accelerometer 3 Sumbu Menggunakan Protokol Zigbee (IEEE 802.15.4) [4]

  • Sensor akselerometer beserta mikrokontroller ditaruh di bantalan luar rel untuk menentukan kelayakan rel
  • Percepatan yang direkam 3 sumbu X,Y,Z
  • Perhitungan kelayakan rel dilakukan secara manual (alat hanya merekam besaran percepatan)
  • Komunikasi antara mikrokontroller dan PC menggunakan Zigbee
  • Sensor akselerometer ADXL345
  • ATMega128
  • Modul Zigbee

Monitoring Pengukuran Getaran Gempa Menggunakan Mikrokontroller 8535 [5]

  • Merancang alternatif seismograf analog dengan sensor digital
  • Sensor getar terhubung dengan mikrokontroller yang juga dihubungkan dengan PC
  • Matlab digunakan untuk melihat hasil bacaan sensor dalam bentuk grafik
  • Hasil bacaan dibandingkan dengan seismograf analog sebagai validasi

  • Sensor akselerometer MMA7361
  • ATmega8535
  • Matlab

Dari informasi yang didapat untuk mengukur getaran dapat menggunakan sensor akselerometer digital yang dibaca menggunakan mikrokontroller ataupun embedded computer. Sensor akselerometer yang digunakan minimal dapat merekam tiga sumbu (3 degree of freedom) dan ada juga yang dilengkapi gyroscope. Komunikasi antara perangkat dengan komputer juga bisa menggunakan protokol MQTT atau Zigbee yang dirancang untuk embedded device sehingga hemat daya dan resource. Pada [3] dan [5] sama-sama mengukur getaran gempa bumi namun dengan tujuan dan aksi yang berbeda. Pada [3] digunakan untuk menyalakan lampu dan buzzer sedangkan pada [5] hanya monitor dalam bentuk grafik. Sedangkan studi [4] mengukur getaran rel kereta api untuk menentukan kelayakannya.

Pada [3] terdapat kekurangan yaitu tidak memperhitungkan besaran getaran yang berpotensi membahayakan (levelnya) sehingga asalkan terdapat getaran yang cukup maka akan dianggap gempa. Sedangkan pada [5] sudah memperhitungkan besaran getarannya namun proses penentuan kelayakan rel masih dilakukan manual tidak langsung di mikrokontroller. Pada [5] hanya melakukan monitoring saja tidak ada aktuator.

Berdasarkan kekurangan tersebut dalam studi ini akan menggabungkan keseluruhan metode studi diatas sehingga lebih sempurna yaitu bisa mengukur getaran dan memonitor gempa bumi dengan menghitung besaran level gempanya untuk memperkirakan potensi terhadap kerusakan bangunan. Getaran dan notifikasi juga dapat dimonitor dengan perangkat lain melalui internet secara real time.

  1. Gempa Bumi

Gempa bumi adalah getaran yang terjadi di permukaan bumi akibat pelepasan energi dari dalam secara tiba-tiba yang menciptakan gelombang seismik. Gempa bumi biasa disebabkan oleh pergerakan kerak bumi (lempeng bumi). Berdasarkan penyebabnya gempa bumi bisa diakibatkan oleh aktivitas tektonik (gempa tektonik) ataupun diakibatkan aktivitas magma yang terjadi sebelum gunung api meletus (gempa vulkanik) [6].

  1. Skala Mercalli

Skala mercalli adalah satuan untuk mengukur kekuatan gempa bumi. Satuan ini dicipatakan oleh seorang vulkanologis dari Italia bernama Giluseppe Mercalli pada tahun 1902. Skala mercalli terbagi menjadi 12 pecahan berdasarkan informasi dari orang-orang yang selamat dari gempa tersebut dan juga dengan melihat serta membandingkat tingkar kerusakan akibar gempa bumi tersebut. Oleh itu skala Mercalli adalah sangat subjektif dan kurang tepat dibanding dengan perhitungan magnitudo gempa yang lain. Oleh karena itu, saat ini penggunaan Skala Richter lebih luas digunakan untuk untuk mengukur kekuatan gempa bumi. Tetapi skala Mercalli yang dimodifikasi, pada tahun 1931 oleh ahli seismologi Harry Wood dan Frank Neumann masih sering digunakan terutama apabila tidak terdapat peralatan seismometer yang dapat mengukur kekuatan gempa bumi di tempat kejadian [7]. Berikut level yang terdapat pada skala mercalli:

Skala

Dampak

I

Getaran tidak dirasakan kecuali dalam keadaan luarbiasa oleh beberapa orang

II

Getaran dirasakan oleh beberapa orang, benda-benda ringan yang digantung bergoyang

III

Getaran dirasakan nyata dalam rumah. Terasa getaran seakan-akan ada truk berlalu.

IV

Pada siang hari dirasakan oleh orang banyak dalam rumah, di luar oleh beberapa orang, gerabah pecah, jendela/pintu berderik dan dinding berbunyi.

V

Getaran dirasakan oleh hampir semua penduduk, orang banyak terbangun, gerabah pecah, barang-barang terpelanting, tiang-tiang dan barang besar tampak bergoyang, bandul lonceng dapat berhenti.

VI

Getaran dirasakan oleh semua penduduk. Kebanyakan semua terkejut dan lari keluar, plester dinding jatuh dan cerobong asap pada pabrik rusak, kerusakan ringan.             

VII

Tiap-tiap orang keluar rumah. Kerusakan ringan pada rumah-rumah dengan bangunan dan konstruksi yang baik. Sedangkan pada bangunan yang konstruksinya kurang baik terjadi retak-retak bahkan hancur, cerobong asap pecah. Terasa oleh orang yang naik kendaraan.

VIII

Kerusakan ringan pada bangunan dengan konstruksi yang kuat. Retak-retak pada bangunan degan konstruksi kurang baik, dinding dapat lepas dari rangka rumah, cerobong asap pabrik dan monumen-monumen roboh, air menjadi keruh.

IX

Kerusakan pada bangunan yang kuat, rangka-rangka rumah menjadi tidak lurus, banyak retak. Rumah tampak agak berpindah dari pondamennya. Pipa-pipa dalam rumah putus.

X

Bangunan dari kayu yang kuat rusak,rangka rumah lepas dari pondamennya, tanah terbelah rel melengkung, tanah longsor di tiap-tiap sungai dan di tanah-tanah yang curam.

XI

Bangunan-bangunan hanya sedikit yang tetap berdiri. Jembatan rusak, terjadi lembah. Pipa dalam tanah tidak dapat dipakai sama sekali, tanah terbelah, rel melengkung sekali.

XII

Hancur sama sekali, Gelombang tampak pada permukaan tanah. Pemandangan menjadi gelap. Benda-benda terlempar ke udara.

  1. Sensor Accelerometer + Gyroscope MPU-6050

Sensor ini berisi MEMS (microelectromechanical systems) accelerometer dan MEMS gyro dalam satu chip tunggal. Sensor ini sangat akurat karena memiliki konversi analog ke digital dengan resolusi 16-bits untuk setiap channel. Sensor ini menangkap channel x, y dan z secara bersamaan dan menggunakan I2C untuk berkomunikasi dengan mikrokontroller. Gambar 2-2 merupakan salah satu board yang memiliki sensor MPU-6050 di dalamnya.

  1. MQTT

MQTT (Message Queue Telemetry Transport) adalah protokol pengiriman pesan dengan konsep publish/subscribe yang sangat simpel dan ringan. Protokol ini dirancang untuk constrained device, bandwith kecil dan jaringan yang tidak reliable. Prinsip dalam desainnya adalah untuk meminimalkan penggunaan bandwith dan resorce sembari menjamin keandalan dan jaminan pengiriman pesan. Protokol ini ideal dalam komunikasi machine to machine (M2M) atau IoT dimana banyak perangkat yang terhubung sehingga menghemat bandwith dan daya listrik sangat berharga. MQTT berjalan di atas TCP/IP sehingga bersifat reliable yang menjamin pesan sampai kepada penerima karena ada mekanisme pengiriman ulang (retransmit) [9].

Seperti yang ditunjukkan pada gambar di atas dalam MQTT akan ada tiga pihak yang terlibat yaitu publisher, subscriber dan broker yang bertugas sebagai penengah. Untuk mendapatkan pesan dari publisher, subscriber perlu mendaftar terlebih dahulu ke topik dimana publisher tersebut mem-publish pesannya.


DAFTAR PUSTAKA

[1]          Statista, “Number of Earthquake by Country,” 2016. [Online]. Available: https://www.statista.com/statistics/269648/number-of-earthquakes-by-country/. [Accessed: 01-Oct-2017].

[2]          A. Setiawan and R. Hidayat, “Alat Peringatan Gempa Berbasis Mikrokontroller ATmega8 Dengan Output Suara (Sirine),” J. Ris. Drh., vol. XIII, no. 3, pp. 2110–2121, 2014.

[3]          R. Ismoyojati, A. Rakhmatsyah, and S. Prabowo, “Prototipe Emergency Light untuk Jalur Evakuasi Gedung Berdasarkan Sensor Getaran,” e-Proceeding Eng., 2016.

[4]          F. S. Rizqillah, R. Munadi, and I. Candra, “Perancangan Dan Implementasi Wireless Sensor Network (WSN) Untuk Monitoring Getaran Rel Kereta Api Berbasis Accelerometer 3 Sumbu Menggunakan Protokol Zigbee (IEEE 802.15.4),” e-Proceeding Eng., 2013.

[5]          A. Mulia, Hafidudin, and U. Sunarya, “Monitoring Pengukuran Getaran Gempa Menggunakan Mikrokontroller 8535,” e-Proceeding Appl. Sci., vol. 1, no. 2, pp. 1276–1282, 2015.

[6]          Wikipedia, “Gempa bumi,” 2017. [Online]. Available: https://id.wikipedia.org/wiki/Gempa_bumi. [Accessed: 01-Oct-2017].

[7]          BMKG, “Skala MMI.” [Online]. Available: http://www.bmkg.go.id/gempabumi/skala-mmi.bmkg. [Accessed: 01-Oct-2017].

[8]          Arduino, “MPU-6050 Accelerometer + Gyro.” [Online]. Available: https://playground.arduino.cc/Main/MPU-6050. [Accessed: 27-Sep-2017].

[9]          MQTT.org, “MQTT Faq.” [Online]. Available: http://mqtt.org/faq. [Accessed: 01-Oct-2017].

[10]         R. Tan, G. Xing, J. Chen, W.-Z. Song, and R. Huang, “Quality-Driven Volcanic Earthquake Detection Using Wireless Sensor Networks,” 2010 31st IEEE Real-Time Syst. Symp., pp. 271–280, 2010.

Selasa, 27 Februari 2018

Simulasi Arduino dengan Tinkercad


  • Input: 4 button
  • Output: led dan buzzer (4 mode untuk setiap button)
  • int led1 = 4;
    int led2 = 5;
    int led3 = 2;
    int led4 = 3;
    int bt1 = 10;
    int bt2 = 9;
    int bt3 = 8;
    int bt4 = 11;
    int buzzer = 6;
    
    void setup() {
      pinMode(led1, OUTPUT);
      pinMode(led2, OUTPUT);
      pinMode(led3, OUTPUT);
      pinMode(led4, OUTPUT);
      pinMode(bt1, INPUT_PULLUP);
      pinMode(bt2, INPUT_PULLUP);
      pinMode(bt3, INPUT_PULLUP);
      pinMode(bt4, INPUT_PULLUP);
      pinMode(buzzer, OUTPUT);
    }
    
    void loop() {
      int b1 = digitalRead(bt1);
      int b2 = digitalRead(bt2);
      int b3 = digitalRead(bt3);
      int b4 = digitalRead(bt4);
      if(b1 == LOW) {
        mode1();
      }
      else if(b2 == LOW) {
        mode2();
      }
      else if(b3 == LOW) {
        mode3();
      }
      else if(b4 == LOW) {
        wiuwiu();
      }
      else {
        mode0();
      }
    }
    
    void mode0() {
      digitalWrite(led1, LOW);
      digitalWrite(led2, LOW);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
    }
    void mode1() {
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      delay(150);
      digitalWrite(led1, LOW);
      digitalWrite(led2, LOW);
      delay(100);
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      delay(150);
      digitalWrite(led1, LOW);
      digitalWrite(led2, LOW);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      delay(150);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
      delay(100);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      delay(150);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
    }
    void mode2() {
      digitalWrite(led1, HIGH);
      delay(100);
      digitalWrite(led1, LOW);
      digitalWrite(led2, HIGH);
      delay(100);
      digitalWrite(led2, LOW);
      digitalWrite(led3, HIGH);
      delay(100);
      digitalWrite(led3, LOW);
      digitalWrite(led4, HIGH);
      delay(100);
      digitalWrite(led4, LOW);
    }
    void mode3() {
      digitalWrite(led4, HIGH);
      delay(100);
      digitalWrite(led4, LOW);
      digitalWrite(led3, HIGH);
      delay(100);
      digitalWrite(led3, LOW);
      digitalWrite(led2, HIGH);
      delay(100);
      digitalWrite(led2, LOW);
      digitalWrite(led1, HIGH);
      delay(100);
      digitalWrite(led1, LOW);
    }
    void wiuwiu() {
      tone(buzzer,1000);  delay(500);
      tone(buzzer,250);
      delay(500);
      noTone(buzzer);
    }
    
    Link: https://www.tinkercad.com/things/j4DM9I0xMGz-led-kelap-kelip/