• MUHILHAM • Electronics Hobbyist and Maker
  • Shop
  • Sitemap
  • Portfolio
  • Jasa Custom Project





  • Home Arduino Elektronika Membuat Gerbang Otomatis [Arduino Controlled Gate Barrier with Ultrasonic Sensor HC-SR04]

    Membuat Gerbang Otomatis [Arduino Controlled Gate Barrier with Ultrasonic Sensor HC-SR04]

    MUHAMMAD ILHAM Penulis MUHAMMAD ILHAM



    oke untuk artikel kali ini yang akan di bahas adalah tentang project arduino yaitu Membuat Gerbang Otomatis dengan Sensor Ultrasonic HC-SR04, yang dimana sensor Ultrasonic sebagai pendeteksi kendaraan jika sensor mendeteksi ada kendaraan maka pembatas akan membuka.

    disini juga akan dibuat batas maksimal kemdaraan yang bisa masuk, jika batas maksimal sudah terpenuhi maka gerbang tidak akan terbuka dan buzzer akan berbunyi.

    Untuk komponen yang diperlukan sebagai berikut :
    • Arduino Uno (satu saja)
    • Sensor Ultrasonic HC-SR04 (satu saja)
    • Microservo 9g (satu saja)
    • 7Segment Common Anoda (satu saja)
    • BreadBoard (satu saja)
    • Kabel Jumper (secukupnya)
    • Stick untuk gerbang pembatas 

    Selanjutnya jika setelah komponen lengkap, masuk ke proses perakitan skema rangkaian sebagai berikut.

    Untuk program silahkan langsung copy ke software arduino. 


    /*
    Arduino Controlled Gate Barrier
    MUHILHAM.COM 
    2017
    */
    
    #include  
    
    //#define Up     40
    //#define Down   0
    
    #define trigPin   10
    #define echoPin   13
    #define Servo1    9   // Sinyal Servo1
    #define Bright    11  // Anoda 7Segment
    
    #define Kapasitas 9   // Jumlah Maks yang bisa di masuk
    #define Light     10  // Pengaturan Terang 7 Segment (%)
      
    #define A 2     
    #define B 3     
    #define C 4     
    #define D 5     // Pin Arduino To 7Segment ABCDEFG
    #define E 6
    #define F 7
    #define G 8
    
    long duration, distance;
    int i=0;
    int Tersedia=3;   // Variabel Menentukan yang tersedia saat ini
    int penuh;
    const int buzzer = 12;
    
    byte segmen [10] = {   // Array untuk urutan Tampilan angka 7Segment
    // PGFEDCBA <--- Urutan 7segment
      B00111111, // number 0
      B00000110, // number 1
      B01011011, // number 2
      B01001111, // number 3
      B01100110, // number 4
      B01101101, // number 5
      B01111101, // number 6
      B00000111, // number 7
      B01111111, // number 8
      B01101111  // number 9
    };
    
    byte Full [] = {
      B01110001      // Tampilan Kapasitas Penuh (F)
    };
    
    Servo servo1;
    
    void setup(){
      Serial.begin(9600);
      servo1.attach(9);  // turn on servo1
      servo1.write(0);   // Set 0 servo1
      pinMode(trigPin, OUTPUT);
      pinMode(echoPin, INPUT);
      pinMode(A,OUTPUT);
      pinMode(B,OUTPUT);
      pinMode(C,OUTPUT);
      pinMode(D,OUTPUT);
      pinMode(E,OUTPUT);
      pinMode(F,OUTPUT);
      pinMode(G,OUTPUT);
      pinMode(Bright,OUTPUT);
      pinMode(buzzer, OUTPUT);
      tone(buzzer, 2000); // Send 2KHz sound signal...
      delay(250);         
      noTone(buzzer);     // Stop sound...
      analogWrite(Bright,255*Light/100);
      }
    
    void loop(){
      analogWrite(Bright,255*Light/100);
      Display(Tersedia);
      digitalWrite(trigPin, LOW); 
      delayMicroseconds(2);
      digitalWrite(trigPin, HIGH);
      delayMicroseconds(10);
      digitalWrite(trigPin, LOW);
      duration = pulseIn(echoPin, HIGH);
      distance = (duration/2) / 29.1;
      Serial.print("Jarak: ");
      Serial.println(distance);
    
      if (distance < 16) 
      {
        delay (2000);
        if(Tersedia == 0){
          if(distance < 16){
            analogWrite(Bright,255*Light/100);
            Tampil(penuh);
            tone(buzzer, 2000); // Send 2KHz sound signal...
            delay(500);        
            noTone(buzzer);     // Stop sound...
            //delay(1000);      // ...for 1sec}
            //delay(200);
            analogWrite(Bright,255*Light/100);
            Tampil(penuh);;
            delay(1500);}
        }
        if (Tersedia != 0){
          Tersedia--;
          for (i=0; i<=40; i++){
            servo1.write(i);
            delay(15);}
        delay(3000);
        for (i=40; i>=0; i--){
          servo1.write(i);
          delay(10);}
        }
      }
    }
    
    void Display(int number){
      byte seg =  ~segmen[number];        //"~" is used for commom anode.
      digitalWrite(A, bitRead(seg, 0) );
      digitalWrite(B, bitRead(seg, 1) );
      digitalWrite(C, bitRead(seg, 2) );
      digitalWrite(D, bitRead(seg, 3) );
      digitalWrite(E, bitRead(seg, 4) );
      digitalWrite(F, bitRead(seg, 5) );
      digitalWrite(G, bitRead(seg, 6) );
      }
      
    void Tampil(int number){
      byte seg =  ~Full[number];          //"~" is used for commom anode.
      digitalWrite(A, bitRead(seg, 0) );
      digitalWrite(B, bitRead(seg, 1) );
      digitalWrite(C, bitRead(seg, 2) );
      digitalWrite(D, bitRead(seg, 3) );
      digitalWrite(E, bitRead(seg, 4) );
      digitalWrite(F, bitRead(seg, 5) );
      digitalWrite(G, bitRead(seg, 6) );
    }
    
    Hasil cek pada video berikut

    Arduino
    Elektronika

    Related Posts

    MUHAMMAD ILHAM

    MUHAMMAD ILHAM

    “ Ikat ilmu dengan menulisnya ”
    ― Ali bin Abi Thalib ―

  • Next Post
    Previous Post

    19 comments

    1. Kang AdeOctober 23, 2017 at 5:09 PM

      Tutorial yang ini gan, itu kalo misalkan full kan bunyi nah kalo keluar mobilnya apakah gate otomatis terbuka ? lalu mobil lain bisa masuk

      ReplyDelete
      Replies
      1. MUHAMMAD ILHAMOctober 27, 2017 at 11:03 AM

        iya, di tambah sensor yang untuk keluar, jdi jika ada mibil yg keluar akan akan mengurangi isi yang ada di dalam, dan mobil lain bisa masuk.

        Delete
        Replies
          Reply
      2. Kang AdeOctober 27, 2017 at 10:52 PM

        yang bulet item itu apa namanya ya gan ? apa itu untuk suara ? yang ke gnd sama pin 12

        Delete
        Replies
          Reply
      3. Kang AdeOctober 27, 2017 at 10:55 PM

        This comment has been removed by the author.

        Delete
        Replies
          Reply
      4. MUHAMMAD ILHAMOctober 29, 2017 at 12:42 PM

        iya untuk suara, namanya buzzer

        Delete
        Replies
          Reply
      5. Reply
    2. UnknownApril 27, 2018 at 8:19 AM

      Gan

      ReplyDelete
      Replies
        Reply
    3. abu fatihApril 29, 2018 at 10:02 AM

      Assalamualaikum. Kalau misalnya motor diganti yg lebih besar voltan dan arusnya bagaimana penerapan nya? Terima kasih

      ReplyDelete
      Replies
      1. MUHAMMAD ILHAMApril 29, 2018 at 12:28 PM

        Walaikumsalam.. bisa aja mas, mau di terapkan langsung ke nyatanya ya..

        Delete
        Replies
          Reply
      2. Reply
    4. UnknownMay 9, 2018 at 7:52 AM

      Asalamualaikum gan. Gan yg di pake software apa ya?
      Soal nya saya test di di software arduino ada yg salah pd #define F nya

      ReplyDelete
      Replies
      1. MUHAMMAD ILHAMMay 9, 2018 at 7:24 PM

        kalau coding nya pake arduini IDE

        Delete
        Replies
          Reply
      2. UnknownMay 12, 2018 at 8:37 PM

        Ada library yg harus di tambah lagi ga gan?

        Delete
        Replies
          Reply
      3. MUHAMMAD ILHAMMay 13, 2018 at 11:27 AM

        ada Library servo aja..

        Delete
        Replies
          Reply
      4. Reply
    5. Irma Rosanti blogspotMay 14, 2018 at 7:15 AM

      Bagus kak project arduinonya :), kalau bisa ditambah Flowchart juga ya kak biar lebih lengkap. Mau nanya juga,kira-kira anggaran buat bikin Prototipe penerapan projectnya itu habis dana berapa?

      ReplyDelete
      Replies
      1. MUHAMMAD ILHAMMay 14, 2018 at 2:45 PM

        kalau prototype yg kya saya buat itu ratusan ribu aja..

        Delete
        Replies
          Reply
      2. Reply
    6. rico manullangJune 26, 2018 at 9:24 AM

      Buat rangkaiannya make software apa ya mas??

      ReplyDelete
      Replies
        Reply
    7. Langit 1900November 16, 2018 at 4:32 PM

      kak, kok tidak ada programnya cuma sampai perakitan saja

      ReplyDelete
      Replies
        Reply
    8. MUHAMMAD ILHAMNovember 17, 2018 at 4:20 PM

      ada kok diatas, coba di lihat lagi

      ReplyDelete
      Replies
        Reply
    9. UnknownDecember 31, 2018 at 8:39 AM

      gan, kalo unutuk blok diagram / flowchartnya bisa diinfokan kah?

      ReplyDelete
      Replies
        Reply
    10. bayuMay 2, 2019 at 11:54 PM

      Assalamu alaikum bang kalo bukanya manual semisal buka gerbangnya pencet tombol tapi nutupnya yang otomatis pake sensor gimana bang mohon pencerahannya, kalo bisa tutornya juga, terima kasih sebelumnya

      ReplyDelete
      Replies
        Reply
    Add comment
    Load more...


    EmoticonEmoticon

    Popular Posts

    • Membuat Mobil Remote Control dengan Arduino [RC Car Control with Bluetooth]
    • Cara Memperbaiki Kipas Angin Mati Total [Tidak Berputar Sama Sekali]
    • Line Follower Robot Using PID Control
    • Membuat Running LED Dengan IC 4017 dan Timer NE555
    • Download Cadsoft Eagle Professional 7.2.0 Full

    Categories

    Elektronika Arduino Tips dan Trik Robotic Tutorial IoT Software Arduino Tutorial PCB STM32

    Recent Posts

     
    Copyright © MUHILHAM • Electronics Hobbyist and Maker. All Rights Reserved.