Anda di halaman 1dari 6

LAPORAN PRAKTIK ANTARMUKA MIKROKONTROLER

EEPROM

DISUSUN OLEH
KELOMPOK 4
Muhammad Rafly (061940341935)
Nur Alif Zaki Bibrosi (061940341937)

DOSEN PENGAMPU
AMPERAWAN, ST.,MT.

PROGRAM STUDI SARJANA TERAPAN TEKNIK ELEKTRO


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SRIWIJAYA
I. Judul : EEPROM
II. Alat dan Bahan
- Arduino uno
- Jumper
- LCD 16 X 2
- Seperangkat komputer
- LED
- Resistor
III. Tujuan
1. Memahami dan mengetahui nilai ADC yang keluar
2. Memahami dan mengetahui cara kerja Eeprom
IV. Teori Dasar
EEPROM ditulis juga E2PROM adalah kependekan dari Electrically Erasable
Programmable Read Only Memory. EEPROM adalah sebuah jenis chip memory
semikonduktor yang bersifat non volatile atau jenis memori yang data-datanya dapat
ditulis serta dihapus, tetapi data akan tetap ada walaupun dalam kondisi off serta tidak
memerlukan catu daya.
EEPROM digunakan dalam komputer dan peralatan elektronik lainnya untuk
menyimpan sejumlah konfigurasi data pada alat elektronik tersebut. Pengembangan
lebih lanjut dari EEPROM menghasilkan bentuk yang lebih spesifik seperti memori
kilat (memory flash). Flash memory lebih ekonomis daripada perangkat EEPROM
tradisional sehingga banyak dipakai pada perangkat keras yang mampu menyimpan
data statik lebih banyak seperti USB flash drive.
EEPROM sedikit berbeda dengan EPROM, isi data atau program pada
EEPROM dapat dihapus per blok datanya tergantung alamat yang diinginkan untuk
dihapus secara elekrik sedangkan EPROM isi data atau programnya tidak bisa
dihapus per blok tetapi keseluruhan datanya terhapus dan menghapus datanya dengan
menggunakan sinar ultraviolet. Sedangkan untuk persamaannya sama halnya dengan
PROM dan EPROM, EEPROM merupakan memori non volatile. Informasi, data atau
program yang tersimpan didalam tidak akan terhapus atau hilang walaupun computer
dimatikan, dan EEPROM tidak memerlukan catu daya untuk mempertahankan
informasi atau program yang tersimpan didalamnya.
Cara kerja EEPROM (Electrically Erasable Programmable Read Only
Memory) yaitu dengan menyalin data yang ada pada EEPROM ke sebuah
Microprosesor sehingga dapat dimoonitor dan dilakukan perubahan pada beberapa
bagian yang diperlukan.
Data yang tersimpan di EEPROM bisa bertahan lama bahkan sampai
bertahun-tahun, jadi walaupun komputer dimatikan data yang tersimpan tidak akan
hilang. Walaupun begitu, jika terlalu sering melakukan perubahan pada isi itu akan
berpengaruh pada lapisan-lapisan insulated oksida yang ada didalamnya. Hal itu akan
membuat IC ini menjadi tidak stabil data memorinya karena adanya tegangan-
tegangan elektrik yang tidak normal.

Mikrokontroller ATMega328 memiliki EEPROM sebesar 1 Kb yang ada di board


ARDUINO UNO.
Alamatnya : 000H -3FFH (dalam desimal 0-1023 )

V. Percobaan
1. Buatlah rangkaian seperti gambar dibawah ini:

Gambar 1 Rangkaian pada Proteus


2. Program Arduino
#include <EEPROM.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#include led1 13
#include led2 7

int address = 0; //alamat EEPROM dari 0


byte value; //data hasil pembacaan di ADC 0 (A0)
int addr = 0; //alamat EEPROM dari 0
LiquidCrystal_I2C lcd(0x3F, 16, 2);

void setup() {
pinMode (led1, OUTPUT); //indikator LED
pinMode (led2, OUTPUT); //indikator LED
lcd.begin();
Serial.begin(9600); //komunikasi serial baudrate 9600

void loop() {
int val = analogRead(0) /4; //val utk penyimpanan data ADC 0 (A0) dari 0-255
EEPROM.write(addr, val); //menulis data EEPROM di variabel val

address=addr; //alamat address = addr adalah sama


value = EEPROM.read(address); //membaca nilai EEPROM pindah di value
Serial.print("alamat EEPROM: ");
Serial.print(address); //kirim alamat dari arduino ke serial monitor/ komputer
lcd.setCursor(0, 0); //kolom 0 - baris 1
lcd.print("Nilai ADC: ");
lcd.print(val);
Serial.print("/t");
Serial.print("Nilai ADC: ");
lcd.setCursor(0, 1); //kolom 0 - baris 2
lcd.print("AlamatEEPROM:");
lcd.print(address);
Serial.print(value, DEC); //kirim data desimal dari arduino ke serial monitor/
komputer
Serial.print(); //pindah baris berikutnya

address = address + 1; //alamat eeprom ditambah 1


if (address == 512) //jika sudah = 512
address = 0; //alamat mulai dari 0 lagi

addr = addr + 1;
if (addr == 512)
addr = 0;

delay(500);

if(address>=100)
{
digitalWrite(led1,HIGH);//menyalakan led1
digitalWrite(led2, LOW); //padam led2

}
else id (address<100)//
{
digitalWrite(led1, LOW); //padam led1
digitalWrite(led2, HIGH); //menyalakan led2

}
}
VI. Hasil Percobaan

Gambar 2. Rangkaian pada saat LED 1 hidup

Gambar 3. Rangkaian pada saat LED 2 hidup

Gambar 4. Tampilan Serial Monitor pada saat LED 1 hidup


Gambar 5. Tampilan Serial Monitor pada saat LED 2 hidup
VII. Analisa dan Kesimpulan
 Analisa
Untuk melakukan perocbaan kali ini, terlebih dahulu memperisapkan Arduino
Uno, LCD 16 x 2 yang mana untuk menampilkan nilai ADC dari alamat EEPROM.
Dari semua tersebut dijadikan rangkaian seperti yang ada pada gambar 1.1.
Arduino Uno adalah board mikrokontroler berbasis ATmega328. Arduino Uno
memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau
mikrokontroler lainnya. ATmega328 menyediakan UART TTL (5V) untuk
komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1 (TX). ATmega328 juga
mendukung I2C (TWI) dan komunikasi SPI. Setelah rangkaian jadi seperti pada
gambar 1.1, kemudian buka aplikasi Arduino IDE untuk membuat program lalu
setelah program selesai di compile atur terlebih dahulu port yang akan digunakan
pada menu “Tools” setelah itu program tersebut dapat di upload pada board Arduino.
Saat program sudah di upload maka LCD akan menampilkan nilai ADC dan juga
alamat dari EEPROM. LED 1 hidup pada saat alamat EEPROM 1 sampai 25 dan
LED 2 hidup pada saat alamat EEPROM lebih dari 25.
 Kesimpulan
Setelah melakukan percobaan ini dapat disimpulkan bahwa:
1. Arduino Uno adalah board mikrokontroler berbasis Atmega328, dan juga
Atmega328 mendukung I2C
2. LED 1 menyala pada saat alamat EEPROM 1-25.
3. LED 2 menyala pada saat alamat EEPROM 26.

Anda mungkin juga menyukai