Skip to main content

Cara Menggunakan EEPROM pada Arduino untuk menyimpan harga barang dengan Menggunakan Keypad 4x4

loading...



Hai..... hai.... hai.....
Selamat datang di blog jurnal dan karya ilmiah masih tetap pada pembahasan seputar Arduino kali ini penulis akan memberikan penjelasan dan tutorial mengenai EEPROM. EEPROM(Electrically Erasable Programmable Read-Only Memory) adalah sebuah memory yang tidak terhapus walau pun tanpa di aliri listrik. EEPROM ini memiliki alamat dan jumlah memory. Analogi nya mirip seperti hardisk atau flash disk. Data yang kita simpan tidak akan terhapus walau tanpa di aliri listrik lagi. Berbeda dengan RAM, tanpa di aliri listrik, atau Arduino padam, maka memory kembali menjadi kosong.
Setiap data yang ingin kita simpan pada blok memory memiliki alamat, Biasanya Arduino pada satu alamat hanya mampu menyimpan memory sebanyak 8 bit, FF, atau kalo decimal nya hanya menyimpan data sebesar 255 dalam satu alamat. Jika kita ingin menyimpan data lebih banyak maka kita harus menambah alamat penyimpanan nya.
Arduino sendiri sudah memiliki library untuk penggunaan EEPROM internal ini, seperti ini:
#include <EEPROM.h>
untuk penyimpanan memori lebih dari 8 bit, kita perlu menggunakan function tersendiri, selanjutnya akan kita bahas pada Sub judul lain nya.
Fungsi EEPROM Arduino
Fungsi EEPROM Arduino, EEPROM ini memiliki fungsi yang sangat banyak pada system control dan kendali. Sebagai contoh input password. Dengan EEPROM ini kita bisa merubah-rubah default password menjadi password baru. Kemudian password baru kita simpan di EEPROM. system control dan kendali. Sebagai contoh input password. Dengan EEPROM ini kita bisa merubah-rubah default password menjadi password baru. Kemudian password baru kita simpan di EEPROM. Bisa juga kita gunakan untuk setting-setting harga pada CPU POM mini, atau yang lain nya. Inti nya adalah Memory EEPROM ini bisa di gunakan untuk menyimpan variable yang nilai nya bisa kita ubah tanpa merubah program pada CHIP Arduino. Untuk setting-setting harga pada CPU POM mini, atau yang lain nya. Inti nya adalah Memory EEPROM ini bisa di gunakan untuk menyimpan variable yang nilai nya bisa kita ubah tanpa merubah program pada CHIP Arduino. 
eeprom arduino 
Contoh Aplikasi EEPROM
Arduino Tanpa Library
Arduino Tanpa Library
Biar Seru dan gak penasaran yuk kita coba buat program EEPROM Arduino. Contoh nya sangat unik,
kita coba buat setting harga barang, kemudian kita save di EEPROM. Input
Arduino nya adalah keypad 4×4. Bagaimana kah cara memprogram nya? ops sebelum program siapkan dulu bahan bahan di bawah ini,
penasaran yuk kita coba buat program EEPROM Arduino. Contoh nya sangat unik, kita coba buat setting harga barang, kemudian kita save di EEPROM. Input Arduino nya adalah keypad 4×4. Bagaimana kah cara memprogram nya? ops sebelum program siapkan dulu bahan bahan di bawah ini,
§  Arduino bisa Arduino UNO atau Arduino Mega
§  LCD 16×2 dengan I2c LCD
§  Keypad 4×4
Setelah semua bahan sudah ada, coba kita lihat program di bawah ini
sudah ada, coba kita lihat program di bawah ini
Fungsi EEPROM Arduino
Fungsi EEPROM Arduino, EEPROM ini memiliki fungsi yang sangat banyak pada
Bisa juga kita gunakan
eeprom arduino
Contoh Aplikasi EEPROM
Biar Seru dan gak
§  Arduino bisa Arduino UNO atau Arduino Mega
§  LCD 16×2 dengan I2c LCD
§  Keypad 4×4
Setelah semua bahan
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <EEPROM.h>

LiquidCrystal_I2C lcd(0x3f, 16, 2); // alamat i2c lcd dan type lcd 16x2
const byte buz = 6;

const byte ROWS = 4; //four rows
const byte COLS = 4; //three columns
char keys[ROWS][COLS] = {
  {1,  2,  3, 'A'},
  {4,  5,  6, 'B'},
  {7,  8,  9, 'C'},
  {'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {4, 3, 1, 0}; //koneksi row keypad dengan arduino
byte colPins[COLS] = {A3, A2, A1, A0}; //koneksi kolom dengan arduino

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

#define BINTANG 42 // nilai BINTANG
#define PAGAR 35 // nilai pagar
#define TOMBOL_A 65 // nilai TOMBOL_A
#define TOMBOL_B 66 // nilai TOMBOL_B
#define TOMBOL_C 67 // nilai TOMBOL_C
#define TOMBOL_D 68 // nilai TOMBOL_D

#define READY 0
#define SET_HARGA 6
#define LIMIT 7

int state = 0;
long dtKey = 0;
int key;

unsigned char line1[16];
unsigned char line2[16];

void baca_key();
void get_text();
void update_lcd();

void baca_eeprom();
void EEPROMWritelong(int address, long value);
long EEPROMReadlong(long address);

int addr_harga = 0;
long HARGA = 0;


void setup() {
  pinMode(buz, OUTPUT);
  pinMode(pump, OUTPUT);
  lcd.begin();
  lcd.backlight();
  lcd.print("MIKROAVR.COM");
  delay(2000);
  lcd.clear();

  baca_eeprom();
  
}
void loop() {
  key = keypad.getKey();
  if (key) {
    digitalWrite(buz, HIGH);
    baca_key(); lcd.clear(); delay(20);
  }
  if (!key) {
    digitalWrite(buz, LOW);
  }
  update_lcd();

}

void baca_key() {
  if ( state == READY ) {
    if ( key == TOMBOL_A ) {
      state = SET_HARGA;
    }
  }
  else if ( state == SET_HARGA){
    if ( key == 48 )key = 0;
    if ( key < 10) {
      dtKey = dtKey * 10 + key;
    }
    else if ( key == BINTANG ) {
      dtKey = 0;
    }
    else if ( key == PAGAR ){
      if ( dtKey > 12){
        state = LIMIT;
      }
      else{
      EEPROMWritelong(addr_harga, dtKey);HARGA = EEPROMReadlong(addr_harga);
      dtKey = 0;
      state = READY;
      }
    }
  }
  else if ( state == LIMIT){
    if ( key == BINTANG){
      state = SET_HARGA;
    }
  }
}
  
void get_text(){
  if ( state == READY ) {
    sprintf(line1, "MIKROAVR");
    sprintf(line2, "HARGA: %lu", HARGA);
  }
  else if ( state == SET_HARGA) {
    sprintf(line1, "SET HARGA");
    sprintf(line2, "RP: %lu", dtKey);
  }
  else if ( state == LIMIT ){
    sprintf("NILAI MAX 12");
    sprintf("* -> BACK");
  }
}

void update_lcd() {
  get_text();
  lcd.setCursor(0, 0);
  lcd.printstr(line1);
  lcd.setCursor(0, 1);
  lcd.printstr(line2);
}

void EEPROMWritelong(int address, long value)
      {
      //Decomposition from a long to 4 bytes by using bitshift.
      //One = Most significant -> Four = Least significant byte
      byte four = (value & 0xFF);
      byte three = ((value >> 8) & 0xFF);
      byte two = ((value >> 16) & 0xFF);
      byte one = ((value >> 24) & 0xFF);

      //Write the 4 bytes into the eeprom memory.
      EEPROM.write(address, four);
      EEPROM.write(address + 1, three);
      EEPROM.write(address + 2, two);
      EEPROM.write(address + 3, one);
      }

long EEPROMReadlong(long address)
      {
      //Read the 4 bytes from the eeprom memory.
      long four = EEPROM.read(address);
      long three = EEPROM.read(address + 1);
      long two = EEPROM.read(address + 2);
      long one = EEPROM.read(address + 3);

      //Return the recomposed long by using bitshift.
      return ((four << 0) & 0xFF) + ((three << 8) & 0xFFFF) + ((two << 16) & 0xFFFFFF) + ((one << 24) & 0xFFFFFFFF);
      }
void baca_eeprom(){
      HARGA = EEPROMReadlong(addr_harga);
      if (HARGA == 0xFFFFFFFF ){
        HARGA = 0;
      }
}


Nah coba masukkan
program nya ke Arduino teman-teman, kemudian tekan tombol A untuk masuk ke menu
setting Harga. Input nilai Harga, tekan pagar untuk me nol kan nya, jika sudahyakin dengan nilai Harga, tegak Pagar. Kemudian program akan kembali ke beranda.Setelah itu coba matikan Arduino nya, kemudian hidup lagi. Awal nya di LCD akantampil harga 0 sebelum di setting, tapi setelah di setting maka harga akantersimpan sesuai dengan nilai yang kita setting tadi. Apakah di matikan atauhidupkan lagi, nilai harga akan tetap sama sampai kita rubah lagi nilai nya..
Program Berikut

Program Berikut
Coba Perhatikan
void EEPROMWritelong(int address, long value)
      {
      //Decomposition from a long to 4 bytes by using bitshift.
      //One = Most significant -> Four = Least significant byte
      byte four = (value & 0xFF);
      byte three = ((value >> 8) & 0xFF);
      byte two = ((value >> 16) & 0xFF);
      byte one = ((value >> 24) & 0xFF);

      //Write the 4 bytes into the eeprom memory.
      EEPROM.write(address, four);
      EEPROM.write(address + 1, three);
      EEPROM.write(address + 2, two);
      EEPROM.write(address + 3, one);
      }

long EEPROMReadlong(long address)
      {
      //Read the 4 bytes from the eeprom memory.
      long four = EEPROM.read(address);
      long three = EEPROM.read(address + 1);
      long two = EEPROM.read(address + 2);
      long one = EEPROM.read(address + 3);

      //Return the recomposed long by using bitshift.
      return ((four << 0) & 0xFF) + ((three << 8) & 0xFFFF) + ((two << 16) & 0xFFFFFF) + ((one << 24) & 0xFFFFFFFF);
      }



Pada Program di atas akan memakan memory sebanyak 4 lokasi, jadi ketika
kita buat alamat penyimpanan di atas adalah 0, maka alamat memory yang kitagunakan sebenar nya
adalah alamat 0, 1, 2 dan 3, jadi jika ingin menulis kememory EEPROM dengan data lain,
misalnya hasil penjualan, maka kasih alamat 6,int addr_lain = 6;Agar data di memory
tidakoverlapping, atau data lama di hapus dengan data baru.
loading...

Comments

  1. Mas.. boleh minta nomer W,A gk yaa? mau tanya tentang eproom, barangkali bisa bantu dan kerjasama. trmksh.

    ReplyDelete

Post a Comment

POSTINGAN POPULER

SAKADANG PEUCANG JEUNG BUAYA

Sakadang Buhaya keur moyan di sisi walungan. Jol sakadang Peucang. “Rék naon Sakdang Peucang ka dieu? Rék maling cai, nya? Di leuweung euweuh cai. Da halodo banget.” Jawab Peucang, “Kuring mah tara nginum deui cai walungan. Komo ayeuna keur saat. Nya teu ngeunah nya loading... kiruh. Ayeuna mah nginum téh cai kalapa. Nya beresih nya ngeunah. Amis.” “Rék naon atuh kadieu?” cék Buhaya. Omong Peucang, “Tadina mah rék ngalalajoan kulit sampéan. Resep ting gareret, hérang. Komo mun katojo ku panonpoé. Euweuh baé nu kulitna alus saperti kulit sampéan. Ngan geuning bet kotor. Pinuh ku leutak.” Omong Buhaya, “Walungan saat. Kuring teu bisa teuteuleuman pikeun meresihan tonggong.” “Emh, lebar. Kulit saalus-alus jadi kotor. Kumaha mun diberesihan ku kuring” ceuk Peucang. “Nya sukur baé ari daek mah,” jawab Buhaya, “kumaha caranya?”, ceuk Buhaya keneh “Kulit tonggong sampéan dikumbah ku kuring. Tapi caina kudu anu beresih. Tuh di tengah!, ceuk Peucang “Pek atuh. G...

Menganalisis Bunyi Beep Saat Menyalakan Laptop

spAcer pernahkah kamu mengalami bunyi “beep’” saat kamu menyalakan perangkat laptop atau komputer kamu? Umumnya suara “beep” akan keluar dari laptop atau komputer tiap kali melakukan proses booting sebelum akhirnya laptop atau komputer berhasil masuk kedalam sistem operasi. Namun tahukah kamu pada dasarnya bunyi “beep” bukan tidak sengaja muncul. Bunyi “beep” yang keluar dari perangkat laptop atau komputer kamu merupakan pertanda masalah tertentu yang terjadi pada laptop atau komputer kamu. Analisis suara seperti ini memang seringkali digunakan bagi seorang troubleshooter (penganalisa masalah pada komputer). Bunyi “beep” pendek sekali dapat mengindikasikan bahwa komputer atau laptop kamu berhasil melakukan dan menghidupkan semua komponen yang dibutuhkan untuk prosse boot up sebuah perangkat komputer. Jjika bunyi ini terdengar namun perangkat tidak menyala, cobalah cek monitor kamu. Sedangkan bunyi “beep” pendek 2 kali dapat berarti terdapat masalah pada konfigurasi atau setting CMOS. U...

prinsip kerja sensor Ph

Gambar 3.1 Skema Sistem Elektrode Kaca ( Sumber ) Prinsp kerja utama pH meter adalah terletak pada sensor probe berupa elektroda kaca ( glass electrode ) dengan jalan mengukur jumlah ion H 3 O + di dalam larutan. Ujung electrode kaca adalah lapisan kaca setebal 0,1 mm yang berbentuk bulat ( bulb ). Bulb ini dipasangkan dengan silinder kaca non-konduktor atau plastic memanjang, yang selanjutnya diisi dengan larutan HCL (0,1 mol/dm 3 ). Di dalam larutan HCL, terendam sebuah kawat electrode panjang berbahan perak yang pada permukaannya terbentuk senyawa setimbang AgCl. Konstantanya jumlah larutan HCl pada system ini membuat electrode Ag/AgCl memiliki nilai potensial stabil. Inti sensor pH terdapat pada permukaan bulb kaca yang memilki kemampuan untuk bertukar ion positif (H+) dengan larutan terukur. Kaca terusun atas molekul silicon dioksida dengan sejumlah ikatan logam alkali. Pada saat bulb kaca ini terekspos air, ikatan SiO akan terprontonasi membentuk memb...

DOWNLOAD E-BOOK In situ Characterization of Thin Film Growth (Woodhead Publishing in Materials)

DOWNLOAD In situ Characterization of Thin Film Growth (Woodhead Publishing in Materials) Gertjan Koster ,  Guus Rijnders Year: 2012 Language: English Pages: 289 Disini kami menyediakan banyak e-book gratis untuk anda silahkan klik download atau anda dapat mendonload e-book lainnya di halaman e-book diatas. Berikan komentar dan saran anda seputar situs ini di bagian kolom komentar. Selain itu anda juga dapat mengikuti situs ini agar mudah ditemukan jika suatu waktu anda hendak kembali berkunjung ke situs ini. Untuk mengikuti situs ini silahkan anda klik subscribe di jendela atas terima kasih .............. penulis cara downloadnya : 1. klik DOWNLOAD 2. verifikasi reCAPTHA 3. klik VISIT LINK 4. klik Get Link

DOWNLOAD E-BOOK Thin Film Analysis by X-Ray Scattering

DOWNLOAD Thin Film Analysis by X-Ray Scattering Mario Birkholz Year: 2006 Language: English Pages: 356 Disini kami menyediakan banyak e-book gratis untuk anda silahkan klik download atau anda dapat mendonload e-book lainnya di halaman e-book diatas. Berikan komentar dan saran anda seputar situs ini di bagian kolom komentar. Selain itu anda juga dapat mengikuti situs ini agar mudah ditemukan jika suatu waktu anda hendak kembali berkunjung ke situs ini. Untuk mengikuti situs ini silahkan anda klik subscribe di jendela atas  terima kasih .............. penulis cara downloadnya : 1. klik DOWNLOAD 2. verifikasi reCAPTHA 3. klik VISIT LINK 4. klik Get Link

KISI-KISI UJIAN SKD CPNS PERKEMBANGAN HUKUM DI INDONESIA

1.     Pengertian Hukum a.      Hans Kelsen, hukum itu bersifat hierarkis, artinya hukum tidak boleh bertentangan dengan ketentuan yang lebih atas derajatnya. b.      Aristoteles, hukum tertentu pada hukum yang dianut oleh masyarakat yang digunakan atau berlaku untuk anggota masyarakat itu. c.       Grotius, hukum adalah aturan tingkah laku moral yang mewajibkan untuk berbuat benar. d.      M. Mayers, hukum adalah semua aturan yang mengandung pertimbangan kesusilaan, ditujukan kepada tingkah laku manusia dalam masyarakat, dan yang menjadi pedoman bagi penguasa Negara dalam melaksanakan tugasnya. e.      Immanuel Kant, hukum adalah keseluruhan syarat-syarat yang dengan ini kehendak bebas dari orang yang satu dapat menyesuaikan diri dengan kehendak bebas dari orang lain, menuruti peraturan hukum tentang kemerdekaan. f.        U...

KISI-KISI SOAL UJIAN SKD CPNS DEMOKRASI INDONESIA (Arti dan Perkembangan Demokrasi Warga Negara, Bentuk-bentuk Demokrasi, Demokrasi di Indonesia)

A.     Arti dan Perkembangan Demokrasi Warga Negara 1.     Asas Kewarganegaraan •        Asas Ius Soli adalah asas yang menentukan kewarganegaraan seseorang berdasarkan daerah atau Negara di mana ia dilahirkan. Contohnya, seseorang dilahirkan di Negara Indonesia, maka ia akan menjadi warga Negara Indonesia, walaupun orang tuanya adalah warga Negara Amerika Serikat. Asas Ius Soli dianut oleh Negara seperti   Inggris, Mesir dan Amerika Serikat. •        Asas Ius Sanguinis adalah asas yang menentukan kewarganegaraan seseorang berdasarkan pertalian darah atau keturunan dari orang yang bersangkutan. Jadi, yang menentukan kewarganegaraan seseorang itu adalah kewarganegaraan orang tuanya, dengan tidak mengindahkan di mana ia sendiri dan orang tuanya berada dan dilahirkan. Contohnya, seseorang dilahirkan di Indonesia tapi orang tuanya adalah warga Negara Cina, maka orang tersebut tetap menj...

KISI-KISI SOAL DAN PEMBAHASAN KESATUAN NEGARA REPUBLIKINDONESIA

1.     Dahulu Indonesia pernah  diberi nama dwipantara oleh India, apakah artinya?        a. Pulau Seberang b.     Negara Padi c.      Negara Emas d.     Negara Perantara e.     Kepulauan Laut Selatan 2.     Di bawah ini adalah contoh negara yang terbentuk dari occupatie , yaitu.. a.     Jerman b.     India c.      Kongo d.     Liberia e.     Yugoslavia 3.     Di bawah ini pahlawan yang terlibat dalam perang Aceh adalah, kecuali... a. Teuku Umar b.     Panglima Polim c.      Teuku Cik Ditiro d.     Cut Nyak Dien e.     Dewi Sartika 4.     Organisasi yang     didirikan           oleh  ...

KISI-KISI SOAL DAN PEMBAHASAN UJIAN SKD CPNS BHINEKA TUNGGAL IKA DAN TATA NEGARA

1.     Di era globalisasi ini banyak sekali   sisi negative    yang     harus   dihindari           demi membangun bangsa dan menyongsong teknologi yaitu … a)     Eksklusivisme b)     Proaktif c)     Kuriositas d)     Optmisme e)     Profesionalisme 2.     Kujang merupakan senjata tradisional yang berasal dari   … a)     Sumatera Barat b)     Jawa Barat c)     Kalimantan Barat d)     Sulawesi Selatan e)     Papua 3.     Di dalam kehidupan, seorag pemimpin yang baik harus berani mendorong bawahannya untuk semangat bekerja, agar berani mengambil keputusan yang kreatif dan sanggup mempertanggung jawabkannya. Pola kepemimpinan ini dikenal dengan istilah … a) ...