Berbage Ilmu | Tutorial Arduino Android SEO Networking Software: Proteus
Showing posts with label Proteus. Show all posts
Showing posts with label Proteus. Show all posts

Membuat simulasi sistem informasi parkir dengan Arduino dan sensor ultrasonik

kali ini kita akan membuat sistem informasi ketersedian parkir yang di tampilkan di LCD 16 x 4 dengan Arduino uno dan 3 (tiga) sensor Ultrasonik HC-SR04. kali ini saya membuat simulasi tersebut di Proteus tetapi simulasi ini dapat di jadikan protitpe di arduino aslinya ๐Ÿ˜. berikut ini merupakan video hasil percobaan dari Simulasi sistem informasi parkir dengan Arduino dan sensor ultrasonik




Library yang dibutuhkan ( Perancangan di Proteus ) :
- Arduino uno / Mega2560
- Ultrasonik Sensor HC-SR04
- LM041L ( LCD 16x4 )
- PCF8574  (I2C LCD )
- POT-HG
- Virtual Terminal
Silahkan anda download library Arduino uno dan Ultrasonik Sensor serta file HEX untuk Ultrasonik Sensor  DISINI

Bahan prototipe yang dibutuhkan ( Perancangan dengan arduino asli ) :
- Arduino uno / Mega2560
- Ultrasonik Sensor HC-SR04
- LCD 16 x 4 atau 20x 4 (sesuaikan dengan kebutuhan anda)
- I2C LCD Module
- Kabel Jumper

Berikut ini merupakan skema rangkaian di proteus dan perancagan prototipe

Skema Rangkaian di Proteus


Skema Rangkaian Prototipe

Perancangan :
Pada tutorial ini saya hanya membuat simulasinya saja menggunakan proteus sebenarnya sama saja dengan anda yang akan melakukan perancangan prototipe.
Setelah anda selesai menyusun rangkaian di proteus anda simpan atau compile sketch dibawah ini menjadi file HEX dan jika anda tidak menggunakan Proteus, upload sketch dibawah ini langsung ke board Arduino anda. untuk anda yang belum tau cara menyimpan file HEX di arduino IDE silahkan anda lihat disini.
Berikut ini merupakan Sketch pada Arduino IDE :

////////////www.berbageilmu.blogspot.co.id/////////
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20 ,2,1,0,4,5,6,7,3, POSITIVE);
/* 0x20 Merupakan default alamt i2c yang digunakan di Proteus. Jika anda menggunakan module i2c yang asli,
 ganti alamat i2c sesuai dengan alamt i2c yang anda dapatkan. */
#define trig1 7
#define echo1 6
#define trig2 5
#define echo2 4
#define trig3 3
#define echo3 2
void setup() {
  Serial.begin(9600);
    pinMode(trig1, OUTPUT);
    pinMode(trig2, OUTPUT);
    pinMode(trig3, OUTPUT);
    pinMode(echo1, INPUT);
    pinMode(echo2, INPUT);
    pinMode(echo3, INPUT);
 
    lcd.begin(16, 4);// LCD yang digunakan 16x4  
}
void loop() {
  long duration1, distance1;
  digitalWrite(trig1, LOW);
  delayMicroseconds(2);
  digitalWrite(trig1, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig1, LOW);
  duration1 = pulseIn(echo1, HIGH);
  distance1 = (duration1/2) / 29.1;
  long duration2, distance2;
  digitalWrite(trig2, LOW);
  delayMicroseconds(2);
  digitalWrite(trig2, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig2, LOW);
  duration2 = pulseIn(echo2, HIGH);
  distance2 = (duration2/2) / 29.1;
  long duration3, distance3;
   digitalWrite(trig3, LOW);
  delayMicroseconds(2);
  digitalWrite(trig3, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig3, LOW);
  duration3 = pulseIn(echo3, HIGH);
  distance3 = (duration3/2) / 29.1;
        lcd.setCursor(0, 0);
        lcd.print("Informasi Parkir");

      if (distance1 >= 100) {
        lcd.setCursor(0, 1);
        lcd.print("P A : Kosong");
     
      } else if (distance1 <30) {
        lcd.setCursor(0, 1);
        lcd.print("P A : Terisi");
      }
      if (distance2 >= 100) {
        lcd.setCursor(0, 2);
        lcd.print("P B : Kosong");
      } else if (distance2 <30) {
        lcd.setCursor(0, 2);
        lcd.print("P B : Terisi");
      }
      if (distance3 >= 100) {
        lcd.setCursor(0, 3);
        lcd.print("P C : Kosong");
      } else if (distance3 <30) {
        lcd.setCursor(0, 3);
        lcd.print("P C : Terisi");
      }
      Serial.print("Jarak Sensor A :");
      Serial.print(distance1);
      Serial.println("cm");
      Serial.print("Jarak Sensor B :");
      Serial.print(distance2);
      Serial.println("cm");
      Serial.print("Jarak Sensor C :");
      Serial.print(distance3);
      Serial.println("cm");
      Serial.println("");
      delay(100);
}

Sampai disini Tutorial kita, saya harapkan anda melakukan pengembangan dari bahan pembelajaran di atas. Semoga bisa bermanfaat untuk anda dan Selamat Mencoba ๐Ÿ˜ƒ๐Ÿ˜ƒ.

Simulasi parkir dengan sensor ultrasonik dan LED di proteus

Tutorial kali ini tentang cara membuat simulasi parkir dengan sensor HC-SR04 (ultrasonik) dan LED serta dengan mikrokontroler Arduino UNO. ini merupakan alternatifnya untuk anda yang belum memiliki komponen - komponen di atas jadi alternatifnya anda bisa belajar melalui Proteus dengan mengambil file HEX project anda lewat Software Arduino IDE, anda dapat membaca tutorial sebelumnya tentang cara menyimpan file hex di Arduino IDE. Ok untuk langkah awal anda dapat download terlebih dahulu library - library pada project kali ini.


Berikut ini merupakan video pembuatan simulasi parkir dengan sensor HCSR-04 (ultrasonik) dan LED.



Berikut ini adalah skema rangkaian simulasi dan sketch arduino project kali ini.




/////////www.berbageilmu.blogspot.co.id/////////
#define ledHijau 3
#define ledKuning 4
#define ledMerah 5
#define trigPin 7
#define echoPin 6

void setup() {
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  pinMode(ledHijau, OUTPUT);
  pinMode(ledKuning, OUTPUT);
  pinMode(ledMerah, OUTPUT);

}
void loop() {
  long duration, distance;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;

  if (distance > 30) //Jika jarak lebih dari 30cm
{
      digitalWrite(ledHijau, HIGH); //Menyala
      digitalWrite(ledKuning, LOW); //Mati
      digitalWrite(ledMerah, LOW); //Mati
  }

  if (distance < 20) //Jika kurang dari 20cm
{
      digitalWrite(ledHijau, LOW);
      digitalWrite(ledKuning, HIGH);
      digitalWrite(ledMerah, LOW);    
  }

  if (distance < 10) //Jika kurang dari 10cm
{
      digitalWrite(ledHijau, LOW);
      digitalWrite(ledKuning, LOW);
      digitalWrite(ledMerah, HIGH);
}
 Serial.print("Jarak :");
 Serial.print(distance);
 Serial.println("cm");
 delay(100);
}

Sampai disini Tutorial kali ini, semoga bisa bermanfaat untuk anda. Selamat Mencoba ๐Ÿ˜ƒ๐Ÿ˜ƒ.

Cara menyimpan file HEX di arduino IDE

Untuk mendapatkan file format HEX dari software arduino IDE dapat di fungsikan sebagai bahan simulasi di Proteus ISIS. Jadi intinya jika kita ingin membuat sebuah simulasi rangkaian dan menggunakan arduino di proteus maka kita perlu meng load file berformat HEX dari arduino IDE.
ok langsung saja ikuti langkah - langkah berikut.

  • Buka Software Arduino IDE
  • Kemudian klik tab menu "File" kemudian pilih Preferences

  • Setelah terbuka Preferences pada bagian "Show verbose output during" anda centang kedua pilihan tersebut dan klik OK.


  • Kemudian lakukan compile dengan cara klik tab menu Sketch kemudian klik Verify/Compile
    atau dengan kombinasi tombol ctrl + R.
  • Tunggu sampai proses compile selesai, perlu di ketahui bahwa pada tutorial saat ini saya meng compile sketch project arduino yang bernama SENSOR_PARKIR.
  • Setelah selesai proses compile, perhatikan pada log arduino ( Posisinya ada di bagian bawah aplikasi Arduino IDE). Anda cari lokasi file hex yang ada di log status file yang kita compile. lihat gambar berikut ini :


  • kemudian anda copy lokasi penyimpanan file HEX yang sudah anda compile (tanpa nama file HEX) dengan cara kombinasi tombol ctrl + C
  • Selanjutnya anda buka My Computer pada PC / Laptop anda, kemudian paste lokasi file HEX yang sudah anda copy dari aplikasi Arduino IDE  ke kolom URL File yang ada di My Computer dan tekan enter pada keyboard.


  • Setelah lokasi file HEX ditemukan, Copy file yang berformat namaproject.ino.hex ke tempat yang mudah di akses seperti Desktop dll.



Sampai disini Tutorial tentang Cara menyimpan file HEX di arduino IDE, semoga bisa bermanfaat untuk anda. Selamat mencoba




Menggunakan I2C dan LCD 16 x 2 pada Arduino di Proteus

Langsung saja penggunaan I2C di proteus menggunakan library PCF8574, salah satu fungsi penggunaan I2C dimana bisa menghemat pin - pin pada Arduino.

Daftar Library yang digunakan di Proteus :
- Arduino Uno
- LM106L
- PCF8574
"untuk alamat I2C "PCF8574" di Proteus adalah 0x20"

kemudian buka software Arduino IDE lakukan Compile file hex untuk dimasukan kedalam Virtual Board Arduino di Proteus. berikut ini merupakan sketch di Arduino IDE :

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20 ,2,1,0,4,5,6,7,3, POSITIVE); //0x20 adalah alamat i2c PCF8574 di proteus
 
void setup()
{
 lcd.begin(16, 2);                    
 lcd.backlight();
 lcd.print("Berbage Ilmu");
}
void loop()
{
}

Selanjutnya susun skema di proteus seperti gambar berikut :



Untuk pengujian load file hex yang sudah di compile di Arduino IDE dan masukan ke dalam virtual Arduino di Proteus. Semoga bermanfaat ๐Ÿ˜€๐Ÿ˜€
Flag Counter