folder Tahribat.com Forumları
linefolder Donanım & Driver
linefolder Arduino'dan Anlayan [ Eeprom Okuma-Yazma ]



Arduino'dan Anlayan [ Eeprom Okuma-Yazma ]

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AnaMuhalefet
    AnaMuhalefet's avatar
    Kayıt Tarihi: 12/Kasım/2007
    Erkek

    Elimde Arduino Uno R3 modelinden var.

    +Harici bir karttan sökülmüş 24C02 serisi Eeprom var.

    Bu eeprom'daki verileri okutup yazma işlemi yapmam gerekiyor.

    Elektroniğe ve arduinoya biraz yabancıyım. Kartta ya da eepromda sakatlık çıkarmak istemiyorum.

    Google vs çoook karıştırdım çeşitli anahtar kelimelerle ama konuya cahiliyetten olsa gerek net bir bilgi bulamadım :)

    Basitçe anlatabilecek arkadaşım var mı?

    Araştırmalardan benim gelebildiğim kadar ki kısmı maalesef şu: Eeprom I2c protokolle haberleşen 8 bacaklı bir eeprom ( 1 A0; 2 A1; 3A2; 4 Ground; 5 SDA; 6 SCL; 7 VP ; 8 VCC girişi ) .

    Şimdiye kadar bulabildiğim en faydalı ve en anlamlı link şu: ( burdaki model arduino mega sanırım )

    http://www.haberocean.com/2015/01/read-and-write-data-to-24c02-using-arduino-mega-circuit-and-program-part-1/

    Bu eepromla- Arduino breadboard arasındaki bağlantıları nasıl yapmam gerekiyor ( Arduino pc ye bağlı olacak ) yön gösterebilecek arkadaşım var mı?

     

     

     

     

     

     


    Bir işi: " BİLMEYEN " ELEŞTİRİR, " AZ BİLEN " AKIL VERİR, " YAPAMAYAN " ÇAMUR ATAR, " BİLEN " YAPAR.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    Hacım data sheet e bakmak lazım iyice incelemek lazım:

    http://pdf1.alldatasheet.com/datasheet-pdf/view/23727/STMICROELECTRONICS/24C02.html

    http://www.atmel.com/images/doc0180.pdf

     

    Şimdi datasheet e göre sol üstteki üç bacak adres input'u Sağdaki en üst bacak VCC

     

    sağ en alttakiler ise sda ve scl bacakları

     

    Sinyalizasyona iyi bakmak lazım ama uğraşılacak iş değil hocam. Para versen bakıp kodlamam şu an data sheetde gördüğüm kadarıyla. En son FPGA ile uğraşırken uğraşıyordum bu işlerle. Çok kafa ziken şeyler.

     

    Ekleme: Dur la bak adamın biri yazmış ya google dan denemedin mi?

     

    http://playground.arduino.cc/Code/I2CEEPROM

     

     


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AnaMuhalefet
    AnaMuhalefet's avatar
    Kayıt Tarihi: 12/Kasım/2007
    Erkek

    Hocam zannedersem iki tipi var 24C02 serisinin, biri Atmel biri ST yazan. Bendeki olan Atmel değil, daha minik olan modeli ST olan 24C02 Smd yazan cinsten. Zannedersem bunların datasheet midir nedir artık özellikleri değişebiliyor.

    http://www.robotistan.com/24c02-dip8

    http://www.robotistan.com/24c02-so8

    Bendeki olanın (ST) datasheet detayları şu linkte var:

    http://www.alldatasheet.com/datasheet-pdf/pdf/23727/STMICROELECTRONICS/24C02.html

    http://elektronikhobi.net/harici-eeprom-kullanimi/ ( Burda da güzel açıklamışlar )

    Senin adamın yazdığı programda AT24C256 'a göre sanırım.

    İşte bilmiyorum atıyorum adamın 24Cxxx serisine göre yazdığı programı ben 24C02 de de kullanamam gibi geliyor. Kodlardan esinlenebiliriz tabiki de. İşte nasıl bağlantı yapacağımı keşfetsem şansımı zorlucam artık da olayı çözemiyorum ya da çaylak olduğumuz için emin olamıyorum deyim.

    Ya da arduino yerine şöyle bir şey alsam işimi görür mü acaba?

    https://www.alibaba.com/product-detail/EEPROM-Reader-Writer-Programme-r24CXX-24LCXX_60063010676.html?spm=a2700.7724857.0.0.7Vcfeo

     

     

     

     

    AnaMuhalefet tarafından 08/Eyl/16 02:15 tarihinde düzenlenmiştir

    Bir işi: " BİLMEYEN " ELEŞTİRİR, " AZ BİLEN " AKIL VERİR, " YAPAMAYAN " ÇAMUR ATAR, " BİLEN " YAPAR.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    aercys
    aercys's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek

    Hocam selamlar,

    Öncelikle bağlantı şeması hakkında bilgi vereyim. Cihazda dediğin gibi 8 adet pin var. Bunlardan VCC ve GND yi besleme olarak kullanacaksın(VCC +5V GND 0V).

    SCL ve SDA data ve clock pinleri. Bunları pull-up dirençleri ile birlikte arduinonun ilgili pinlerine bağlayacaksın.

    A0..A2 pinleri adresleme pinleri. Bunu da I2c protokolü ile haberleşirken slave adreslemede kullanılıcak şekilde konfigüre edeceksin.

    EEproma yazma işlemi için Page Write ve Byte Write seçeniğin var.

    Yukarıda gördüğün byte write seçeneğini. Start condition ile başlıyor, ardından msb olacak şekilde device adres gönderiliyor (Okuma mı yazma mı yapacağında device adreste belirtilir). Bunu sonra eeprom tarafından gönderilen ack biti izliyor. Sonra eepromda yazılmak istenen adres gönderiliyor yine ack biti gönderiliyor. Son olarak data gönderilip ack alınarak işlem tamamlanıyor. 

    Device adrese gelecek olursak;

    Device adres datasheet te yazılana göre 1 ve 0 ile başlamak zorunda.

    Ve senin konfigüre ettiğin A0...A2 bitlerinde adresi belirlemekte. Yani

    Device adres: 1 0 1 0 A2 A1 A0 R/W olarak belirleniyor. (Datasheetten inceleyebilirsin) Eğer A2 (5V) A1 (0V) A0 (0V) olsa idi adres 1 0 1 0 1 0 0 R/W olacaktı (0: W, 1: R) 

    Vakit geç olduğundan fazla ayrıntılı yazamıyorum ancak i2c protokolünün nasıl kullanıldığını anlarsan bu işlemi daha rahat kavrarsın.

    Kolay gelsin.

    Daha fazla ayrıntıyı http://www.rhydolabz.com/documents/24c04.pdf adresinde bulabilirsin

     

     

     


    0x62 0x75 0x6e 0x75 0x20 0x79 0x61 0x7a 0x61 0x6e 0x20 0x74 0x6f 0x73 0x75 0x6e 0x2c 0x20 0x6f 0x6b 0x75 0x79 0x61 0x6e 0x61 0x20 0x6b 0x6f 0x73 0x75 0x6e
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    aercys
    aercys's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek

     

    2. post olmuş pardon.

    aercys tarafından 08/Eyl/16 04:27 tarihinde düzenlenmiştir

    0x62 0x75 0x6e 0x75 0x20 0x79 0x61 0x7a 0x61 0x6e 0x20 0x74 0x6f 0x73 0x75 0x6e 0x2c 0x20 0x6f 0x6b 0x75 0x79 0x61 0x6e 0x61 0x20 0x6b 0x6f 0x73 0x75 0x6e
Toplam Hit: 1731 Toplam Mesaj: 3
arduino uno r3 eeprom 24c02 read and write