• Motivation

    Bekerja keraslah, Bermimpilah lebih besar dan jadilah yang terbaik FILAB.id...
  • Motivation

    Anda saat ini adalah hasil dari pengalaman anda FILAB.id...
  • Motivation

    Kesalahan adalah bukti bahwa kamu sedang mencoba FILAB.id...
Tampilkan postingan dengan label eeprom. Tampilkan semua postingan
Tampilkan postingan dengan label eeprom. Tampilkan semua postingan

Senin, 27 Juni 2016

Write Read eeprom Internal AVR CodevisionAVR

Salam elektro,sebelumnya apa kalin sudah tau apa itu EEPROM ? 

EEPROM kependekan dari Electrically Erasable Programmable Read Only Memory. Seperti halnya PROM dan EPROM, EEPROM merupakan memori non-volatile. Informasi, data atau program yang tersimpan di dalamnya tidak akan hilang walaupun komputer dimatikan, dan tidak membutuhkan daya listrik untuk mempertahankan atau menjaga informasi atau program yang tersimpan di dalamnya.
EEPROM adalah komponen yang banyak digunakan dalam komputer dan peralatan elektronik lain untuk menyimpan konfigurasi data pada peralatan elektronik tersebut. Kapasitas atau daya tampung simpan datanya sangat terbatas. Pada sistem hardware komputer, chip EEPROM umumnya digunakan untuk menyimpan data konfigurasi BIOS dan pengaturan (setting) sistem yang berhubungan dengannya.
EEPROM memiliki kelebihan tersendiri dibandingkan EPROMEEPROM dapat dihapus secara elektris menggunakan sinar ultraviolet, sehingga proses penghapusannya lebih cepat dibandingkan EPROM. Penghapusan juga dapat dilakukan secara elektrik dari papan circuit dengan menggunakan perangkat lunak EEPROM Programmer. Alat yang dapat digunakan untuk menghapus isi EEPROM disebut EEPROM Rewriter. Produk EEPROM versi awal, hanya dapat dihapus dan diisi ulang kurang lebih sebanyak 100 kali. Sedangkan produk-produk terbaru dapat dihapus dan diisi ulang (erase-rewrite) sampai ribuan kali (bahkan beberapa informasi menyebutkan mampu sampai 100 ribu kali)


TOLONG BACA DENGAN DETAIL !

Siapkan alat dan bahan :
  • Minimum system atmega 8
  • Lcd 16x2 (2)
  • Variable resistor 10k (2)
  • Pusbutton
  • Kabel jumper disesuaikan
  • Breadboard
  • Laptop
  • Software codevision avr 
  • Kabel usb
  • Download simulasi proteus
1. Sambungkan seluruh komponen dengan board minimum system

CATATAN !
1. Pastikan rangkaian minimum system sudah benar 
2. Pastikan oscilator yang dipakai 12 Mhz
3. Apabila settingan osc ic kalian belum diatur masih (default 1Mhz) bisa kalian baca disini

2. Buat program seperti dibawah ini pada software codevisionavr,apabila ada yang belum tau cara menggunakan software codevision avr bisa baca disini
/*******************************************************
This program was created by the
CodeWizardAVR V3.12 Advanced
Automatic Program Generator
© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : akses eeprom internal 
Version : 
Date    : 6/27/2016
Author  : fickry muhammad
Company : 
Comments: 


Chip type               : ATmega8
Program type            : Application
AVR Core Clock frequency: 12.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*******************************************************/

#include <mega8.h>
#include <stdio.h>
#include <delay.h>

// Alphanumeric LCD functions
#include <alcd.h>

#define input_data_baru PINB.0

// Declare your global variables here

int eeprom *source_eeprom;
int source;
int input;
char buffer[20];
char text[20] = "Data Masuk = ";

// Call funtion eeprom 
void write_eeprom()
{                        
*source_eeprom = source;     
}

void read_eeprom()
{   
source = *source_eeprom;       
}

void main(void)
{

DDRB.0  = 0;
PORTB.0 = 1;

// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTD Bit 0
// RD - PORTD Bit 1
// EN - PORTD Bit 2
// D4 - PORTD Bit 4
// D5 - PORTD Bit 5
// D6 - PORTD Bit 6
// D7 - PORTD Bit 7
// Characters/line: 16
lcd_init(16);

// Source eeprom & read eeprom
source_eeprom = 0;
read_eeprom();

while (1)
      {
      // Place your code here
      lcd_gotoxy(0,0);
      lcd_putsf("EEprom Internal");
      sprintf(buffer,"%s %02d",text,source);
      lcd_gotoxy(0,1);
      lcd_puts(buffer);   
        if(input_data_baru == 0) input = input + 1;
        if (input > 3) input = 0;
        if(input == 1)
        {
        source = 76 ;
        write_eeprom();
        }   
        
        if(input == 2)
        {
        source = 65 ;
        write_eeprom();
        }
        
        if(input == 3)
        {
        source = 43 ;
        write_eeprom();
        }
      delay_ms(200);
      }
}
3. Compile project pada software cvavr,apabila tidak terjadi error lanjut dengan proses upload atau build all project files 

4. Download program .hex (hasil compile) pada minimum sistem menggunakan usb asp baca disini,bila menggunakan simulasi tinggal kalian masukan file .hexnya ke dalam ic baca disini 

Instruction 
Jika kalian membuatnya pada simulasi,kalian coba run kemudian kalian tekan push button 1x atau 2x atau 3x lihat data yang terakhir tampil pada lcd kemudian kalian stop simulasi pada proteus,coba kalian run kembali simulasi proteus ,lihat data yang tampil pada lcd,jika datanya masih sama berati data kalian berhasil ditulis ke eeprom internal 

Development
data yang dimasukan tidak hanya bertipe data integer,tapi bisa juga tipe data char/string 

Share:

Senin, 09 Mei 2016

Write Read EEprom Arduino

 WRITE READ EEPROM INTERNAL  

VIA ARDUINO 





Salam elektro,sebelumnya apa kalin sudah tau apa itu EEPROM ? 

EEPROM kependekan dari Electrically Erasable Programmable Read Only Memory. Seperti halnya PROM dan EPROM, EEPROM merupakan memori non-volatile. Informasi, data atau program yang tersimpan di dalamnya tidak akan hilang walaupun komputer dimatikan, dan tidak membutuhkan daya listrik untuk mempertahankan atau menjaga informasi atau program yang tersimpan di dalamnya.
EEPROM adalah komponen yang banyak digunakan dalam komputer dan peralatan elektronik lain untuk menyimpan konfigurasi data pada peralatan elektronik tersebut. Kapasitas atau daya tampung simpan datanya sangat terbatas. Pada sistem hardware komputer, chip EEPROM umumnya digunakan untuk menyimpan data konfigurasi BIOS dan pengaturan (setting) sistem yang berhubungan dengannya.
EEPROM memiliki kelebihan tersendiri dibandingkan EPROM. EEPROM dapat dihapus secara elektris menggunakan sinar ultraviolet, sehingga proses penghapusannya lebih cepat dibandingkan EPROM. Penghapusan juga dapat dilakukan secara elektrik dari papan circuit dengan menggunakan perangkat lunak EEPROM Programmer. Alat yang dapat digunakan untuk menghapus isi EEPROM disebut EEPROM Rewriter. Produk EEPROM versi awal, hanya dapat dihapus dan diisi ulang kurang lebih sebanyak 100 kali. Sedangkan produk-produk terbaru dapat dihapus dan diisi ulang (erase-rewrite) sampai ribuan kali (bahkan beberapa informasi menyebutkan mampu sampai 100 ribu kali)


Bagaimana kalian sudah mengerti ? 
Pada tutorial kali ini aruselektronika akan mencoba menggunakan internal eeprom menggunakan arduino uno,arduino uno mempunyai kapasitas memory eeprom sebesar 1kb cukup lumayan untuk menyimpan data data kecil pada program arduino,jika ingin lebih besar kalian bisa gunakan arduino mega atau arduino jenis lainnya 

Untuk membaca dan menulis ata pada memory eeprom internal arduino  sangatlah mudah karena kalian sudah disediakan library <EEPROM.h>,dengan menggunakan library tersebut kalian tinggal menuliskan/menambahkan beberapa perintah saja,ya tentunya kalian sangat terbantu dengan adanya library tersebut   

TOLONG BACA DENGAN DETAIL !

Siapkan alat dan bahan :
  • Arduino Uno
  • Potensio Meter 1K
  • Breadboard
  • Kabel jumper disesuaikan
  • Laptop
  • Software arduino ide
  • Kabel usb
  • Download library <EEPROM.h> (tutorial instal library klik disini)
  • Download simulasi proteus (tutorial memasukan program arduino ke proteus klik disini)  
1. Sambungkan board arduino uno & potensio meter 

                         
CATATAN !
a. Jika kalian bingung dengan data yang tampil pada serial monitor bisa kalian beri komentar pada bagian program Serial.print,silahkan kalian pilih data mana yang akan kalian tampilkan  

2. Copy paste satu persatu sketch/program di bawah ini  ke dalam software arduino 
/*
 * EEPROM Internal
 * By Fickry Muhammad
 */

#include 

int address = 0;
int addr = 0;
byte value;
 
void setup()
{
Serial.begin(9600);
}
 
void loop()
{
int val = analogRead(0);       //read data 

EEPROM.write(addr, val);       //write data to eeprom internal

value = EEPROM.read(address);  //read data from eeprom internal
 
Serial.print(address);
Serial.print("\t");
Serial.print(addr);
Serial.print("\t");
Serial.print(value, DEC);      //
Serial.print("\t");            //new tab 
Serial.println();

address=addr;

address = address + 1;        //place addres read eeprom from 1 to 512
if (address == 512)           //if addres full in the place value addrees back to read from 0 
address = 0;
 
addr = addr + 1;              //place addres wtite eeprom from 1 to 512
if (addr == 512)              //if addres full in the place value addrees back to read from 0
addr = 0;
 
delay(200);
 
}
3. Verify program arduino,apabila tidak terjadi error lanjut dengan proses upload

4. Upload program,apabila succes akan muncul tulisan done uploading,apabila ada yang belum tahu bagaimana cara upload code/sketch ke board arduino bisa baca disini

5. Sekarang kalian buka serial monitor,kalian putar potensio secara perlahan kalian amati setiap perubahan data 


Dalam library <EEPROM.h> mempunya 2 fungsi utama yaitu menulis EEPROM.write(addr, val); dan membaca EEPROM.read(address); 

EEPROM.write (addr, val) untuk menulis data ke EEPROM. Parameter ‘addr’ adalah alamat EEPROM mulai dari 0 s/d 1023, sedangkan parameter ‘val’ adalah nilai/data yang berada dalam alamat EEPROM tersebut. Karena lebar data hanya 8 bit maka data yang ditampung hanya dapat bernilai 0 s/d 255.

EEPROM.read(address) untuk membaca/mengambil data dari EEPROM. Parameter ‘address’ merupakan alamat EEPROM yang akan dibaca.


Share:
Copyright © FILAB | Powered by FILAB
Design by Fickry Muhammad | Technology by Filab.id