Berita Terbaru

Alat Membuka Pintu Dengan SMS

Alat membuka pintu dengan sms,

Sebenarnya kalau dipikir pikir lagi malah ribet kalau kita mau buka pintu aja harus ketik sms dulu

Tapi karena banyak temen yang request untuk bagaimana bisa bikin alat yang dipakai untuk buka pintu dengan hanya mengirimkan sms tanpa harus menean tombol apapun, akhirnya saya bikin deh tutorial ini.

Alat yang saya atau mungkin yang akan kalian buat ini dengan menggunakan koding standar yang saya bagikan gratis ini akan mampu mengaktifkan sebuah doorlock atau anak kunci untuk membuka pintu dengan mengirimkan sms tertentu pada nomor telepon yang sudah dipasangkan pada modul GSM alat ini.

Selain mampu untuk membuka dan mengunci kembali anak kunci pada sebuah pintu sebenarnya kalau kamu kembangkan lagi, rangkaian ini mampu menjadi sebuah security sistem yang akan menginformasikan kepada pengguna bila ada yang memaksa untuk membuka pintu dan masuk ke rumah atau ruangan tersebut.

Agar dapat menjadi sebuah security sistem pada pintu tentunya sensor yang akan kita pasang adalah sebuah magnetic switch seperti yang saya ilustrasikan di video.

Ok, apa aja sih yang kamu perlukan dalam pembuatan alat ini? beberapa komponen penting itu antara lain :

  • Minimum sistem mikrokontroller
  • Driver untuk doorlock
  • Modul GSM
  • Doorlock
  • Magnetic switch (option)

Nah, dari hanya komponen sederhana itu saja kamu nantinya sudah mampu membangun sebuah alat yang bisa membuka kunci pintu dan menutupnya kembali hanya dengan perintah melalui sms.

Bagaimana kita merangkai semua alat tersebut agar bisa kita pakai? tentunya sebuah minimum sistem mikrokontroler kamu bisa merakitnya sendiri.

Minimum sistem mikrokontroller itu apa sih? Itu adalah sebuah board untuk mikrokontroller yang kamu pakai agar bisa sekedar menyala aja. Apa aja isinya? tentunya ada regulator untuk tegangan 5v ke mikrokontrolernya, trus ada crystal untuk eksternal oscillator nya dan pullup pada bagian reset, hanya itu. Sederhana kan?

Nah tentunya untuk bisa berkomunikasi dengan modul GSM kamu harus membuat sebuah jalur komunikasi serial pada mikrokontroller, dalam hal ini saya menggunakan ATmega328 dengan diprogram menggunakan arduino IDE. Jadi jalur komunikasi ke modul GSM nya saya bikin baru dengan bantuan software serial yang artinya saya tidak menggunakan hardware serial bawaan dari IC nya sendiri, kenapa gitu? karena rencananya sih mau dipakai buat upload coding (arduino).

Nah kalau masalah driver doorlock nya saya pakai transistor TIP122 karena ampere yang sanggup di angkat cukup lah untuk tipe doorlock yang saya pakai. Sistem kerjanya menerapkan konsep transistor sebagai saklar saja. Rangkaian minimum driver ini bisa kita dapatkan di datasheet masing masing transistor yang akan kita pakai :).

Gambar skematik dari minimum sistem mikrokontroller yang saya buat bisa kamu lihat pada gambar ini. Disana saya sudah menggabungkan antara minimum sistem dengan driver untuk doorlocknya.

Coba kamu perhatikan, regulator saya pakai 2 biji 7805. Satu untuk mikrokontroller nya dan satunya untuk modul gsm. Biar ga kekurangan arus sih maksudnya 😀 dan driver doorlocknya kamu bisa lihat simbol transistor yang tersusun darlington. Untuk layout nya menjadi sangat mini dan ringkas 😀 karena jalurnya saya buat mepet banget.

Pada alat ini juga saya pasang sebuah buzzer yang saya pakai untuk memberikan tanda suara saat adanya sms atau saat modul gsm sudah oke dan siap untuk mengirim sms.

Dalam pemrograman nya fungsi coding yang bertugas untuk mengaktikan driver pembuka dan pengunci doorlock adalah sebagai berikut :

if(!strcmp(smsbuffer,"bukapintu"))
 {
 }

Arti dari coding tersebut adalah, jika ada karakter pada variabel smsbuffer berisikan tulisan atau kata “bukapintu” maka akan menjalankan fungsi yang ada didalam kurung. Strcmp disana artinya adalah string comparation atau fungsi yang bertugas untuk membandingkan tipe data string atau sederhanya nya membandingkan kata atau tulisan 😀

Nah kalau katanya sama langsung deh aktifin doorlock nya melalui driver si TIP122.

Coding nya sangat sederhana, karena saya sendiri untuk perintah sms nya sudah pakai library gsm nya arduino 🙂 kamu sendiri bisa memodifikasinya agar pesan yang dikirim sebagai balasan sesuai dengan kehendak kamu. seperti pada coding dibawah ini :

sms.SendSMS("08970869443","Pintu SMS Menyala");

yang artinya 1 baris koding itu bisa membuat alat kamu mengirimkan sms ke nomor hp saya dengan pesan “pintu sms menyala”, sederhana kan?

Download project ini gratis deh buat kamu dari skematik yang saya bikin di software eagle sampai ke koding arduinonya. jangan lupa untuk tonton video nya sebelum praktek untuk menambah semangat kamu.

Oiya jangan lupa untuk melengkapi library arduino kamu kalau bikin project ini ya. semoga sukses.

Kalau ada yang kesulitan silahkan beri komentar kamu dibawah artikel ini ya.

Berikan komentar kamu :

Hasil Pencarian :

Jangan Lupa Cek Juga Artikel Di Bawah Ini
Membuat Penggaris Digital Arduino
views 2408
Mau tau cara bikin penggaris digital dengan arduino? Penggaris seperti kita tau adalah alat yang dipakai untuk mengukur jarak antara dua titik ukur. ...
Panjerino Ukuran Mini
views 354
Panjerino, salah satu board mikrokontroller buatan saya yang mengadopsi dari board arduini, yoitu board mikrokontroller dari italy. Seperti pada artik...
Panjerino Gratis – Arduino Gratis dari Bali
views 352
Sekarang inovasi semakin berkembang, akhirnya Panjerino (arduino Bali) saya sudah jadi beberapa biji. Jaman dulu sekali sekitar tiga tahun lalu saya s...
Apa itu E-Ink E-paper?
views 323
Kamu pernah dengar ga istilah e-ink? atau mungkin sebelum kesana tentunya kamu sudah pernah dengar dong yang namanya e-book?, ya itu adalah istilah un...
Thermometer Belajar Mikrokontroller
views 228
Modul atau kit belajar mikrokontroller dari duwi arsana.com yang ada pada artikel saya sebelumnya telah dijelaskan bahwa modul belajar mikrokontroller...
Membuat Remote Bersuara
views 511
Halo.. terima kasih uda mau baca ya. Sekarang artikel saya judulnya membuat remote bersuara. Sebenernya saya bingung ni mau kasi judul apa, remote ber...

Tentang Anak Agung Duwi Arsana

Seorang tukang service serabutan dari desa Panjer, Denpasar Bali. Senang bercerita tentang kegiatan sehari hari di blog dalam bentuk tulisan tulisan ngawur maupun di youtube dalam bentuk video yang ga jelas.

Baca juga

Jam digital

Membuat Power Supply Variable

Membuat power supply variable saat ini bukan karena saya ingin membuat tutorial, tapi kebetulan karena …

37 komentar

  1. Maaf bli, mau tanya. Module gsm seingat saya disaranin oleh bli duwi max 4v, kalau makai 7805 bukannya output 5v? Mohon pencerahannya bli

    • coba di lihat video nya mas ada regulator stepdown lagi. untuk masalah v atau 4.2v itu tergantung dari jenis modul gsm yang dipakai. punya mas kemarin tipe yang lama, jadi tidak isi regulator tapi langsung ke chip sim900 sehingga perlu tegangan maksimal 4.2v tidak boleh lebih. coba dicek datasheet nya atau skematik dari produk yang dipakai. silahkan.

  2. AYESHA Ziky Iftikhor

    Itu bukan gagal sms mas 🙂 Kayanya pas ngetik “tutuppintu” ada spasinya diujung jadi “tutuppintu “. cmiiw hehe

  3. Bli… kalo mau buy ada gak di store duwiarsana?
    yang langsung jadi so tinggal pake.

  4. harga untuk toolsnya semua terjangkau gak mas?

  5. videonya bli

  6. Kalau sudah jadi, infoin saya ya bli. Niat beli niki. Hehe heripratama@live.com

  7. ini knp bli?
    C:\Users\user\Documents\Arduino\libraries\GSMSHIELD\gps.cpp: In function ‘double convertLong()’:

    C:\Users\user\Documents\Arduino\libraries\GSMSHIELD\gps.cpp:193:27: error: ‘longString’ was not declared in this scope

    double longitude = atof(longString); // convert to a double

    ^

    exit status 1
    Error compiling.

  8. itu minumsistemnya nyambung ke arduinonya ya ?

  9. mohon maaf bli, apa boleh saya download kondingannya? tapi yg buat downloadnya dilock..

  10. kalau menggunakan modul gsm m590 apakah codenya berubah?
    apa saja yg dirubah?
    thx b4

  11. permisi fungsi void void delsms() nya untuk apa ya?
    Kalau tidak digunakan apa bisa berfungsi juga ?
    Kenapa harus ditaru diatas dan dibawah program ya?

  12. vicky wahyu dharmawan

    bli kira” eror gini keapa ya? sya ngak paham sama program soalnya. mohon bantuannya ya bli buat tugas akhir soalnya. thx banget artikelnya sangat membantu,
    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp: In constructor ‘HWSerial::HWSerial()’:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:4:4: error: ‘Serial1’ was not declared in this scope

    Serial1.begin(9600);

    ^

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp: In member function ‘void HWSerial::end()’:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:12:3: error: ‘Serial1’ was not declared in this scope

    Serial1.end();

    ^

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp: In member function ‘virtual void HWSerial::begin(long int)’:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:24:3: error: ‘Serial1’ was not declared in this scope

    Serial1.begin(baud_rate);

    ^

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp: In member function ‘int HWSerial::peek()’:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:28:10: error: ‘Serial1’ was not declared in this scope

    return Serial1.peek();

    ^

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp: In member function ‘virtual size_t HWSerial::write(uint8_t)’:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:32:10: error: ‘Serial1’ was not declared in this scope

    return Serial1.write(byte);

    ^

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp: In member function ‘virtual int HWSerial::read()’:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:36:10: error: ‘Serial1’ was not declared in this scope

    return Serial1.read();

    ^

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp: In member function ‘virtual int HWSerial::available()’:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:40:10: error: ‘Serial1’ was not declared in this scope

    return Serial1.available();

    ^

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp: In member function ‘virtual void HWSerial::flush()’:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:44:3: error: ‘Serial1’ was not declared in this scope

    Serial1.flush();

    ^

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp: In member function ‘size_t HWSerial::print(const __FlashStringHelper*)’:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:54:9: error: ‘prog_char’ does not name a type

    const prog_char *p = (const prog_char *)ifsh;

    ^

    In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.h:6,

    from C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:1:

    C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG\HWSerial.cpp:57:37: error: ‘p’ was not declared in this scope

    unsigned char c = pgm_read_byte(p++);

    ^

    Using library LiquidCrystal at version 1.0.4 in folder: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal
    Using library GSMSHIELD_TDG in folder: C:\Users\User\Documents\Arduino\libraries\GSMSHIELD_TDG (legacy)
    Using library SoftwareSerial at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial
    Using library PString in folder: C:\Users\User\Documents\Arduino\libraries\PString (legacy)
    exit status 1
    Error compiling.

  13. tanya lagi bli,
    apakah arduino nano compatible sm m590?
    saya sudah coba tp ga bekerja bli.

  14. Can someone help me? This is my code.

    #include
    #include “SIM900.h”
    #include “sms.h”
    #include
    //#include
    #include
    SMSGSM sms;
    boolean started = false;
    char buffer[160];
    char smsbuffer[160];
    char n[20];
    //LiquidCrystal lcd(4,2,3,7,8,9);
    int buttonState;
    int lastButtonState = LOW;
    long lastDebounceTime = 0;
    long debounceDelay = 50;
    boolean st = false;
    int buzzer = 12;

    void setup() {

    //lcd.begin(16, 2);
    Serial.begin(9600);
    if (gsm.begin(2400))
    {
    started = true;
    }
    if (started)
    {
    delsms();
    }
    sms.SendSMS(“+60142646978” , “Gas Sensor and GSM module activated”);

    }

    void loop() {

    //lcd.setCursor(0, 0);

    //lcd.print(“Detektor Gas SMS”);
    int val = analogRead(A0);
    val = map(val, 0, 1023, 0, 100);
    //lcd.setCursor(0,1);
    //lcd.print(“Kadar: “);
    //lcd.print(val);
    //lcd.print(“% “);

    //code using sensor detection
    if (val > 10) {
    tone(buzzer,800,500);
    delay(1000);
    st = true;
    }
    else st = false;

    if (st != lastButtonState) {
    lastDebounceTime = millis();
    }

    if ((millis() – lastDebounceTime) > debounceDelay) {

    if (st != buttonState) {
    buttonState = st;

    if (buttonState == HIGH) {
    PString str(buffer, sizeof(buffer));
    str.begin();
    str.print(“Gas Detected! Gas leakage at “);
    str.print(val);
    str.print(“%”);
    //String a=str;
    sms.SendSMS(“+60142646978”, buffer);
    }
    }
    }

    //code using sms lapor.
    lastButtonState = st;
    int pos = 0;
    if (started)
    {
    pos = sms.IsSMSPresent(SMS_ALL);
    if (pos)
    {
    sms.GetSMS(pos, n, smsbuffer, 100);
    delay(2000);
    if (!strcmp(smsbuffer, “lapor”))
    {
    PString str(buffer, sizeof(buffer));
    str.begin();
    str.print(“Rate of gas leakage currently at “);
    str.print(val);
    str.print(“%”);
    //String a=str;
    sms.SendSMS(“+60142646978”, buffer);
    }
    delsms();
    }
    }
    }

    //delete sms yang dihantar
    void delsms()
    {
    for (int i = 0; i < 10; i++)
    {
    int pos = sms.IsSMSPresent(SMS_ALL);
    if (pos != 0)
    {
    if (sms.DeleteSMS(pos) == 1) {} else {}
    }
    }
    }

    I'm using arduino uno, sim900 module, mq2 gas sensor and buzzer to create a gas sensor detector based on sms.
    I have to 2 option :
    1. The mq2 gas sensor detects and send the result via sms to the number set in the code.
    2. We can send a specific string to know the surrounding gas percentage and send the result to the specific number set in the code.

    But I want to change the second option to be auto reply to any incoming number. What should I do?

  15. Permisi mas. tolong dong sekalian dishare library nya.
    aku gk nemu2 yang sesuai dengan yg mas maksud
    makasih =D

Tinggalkan Balasan

Alamat surel Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

17 − twelve =