16
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri ARDUİNO Arduino Eğitimleri Bölüm 8 Kalıcı Hafıza Kullanımı http://www.flickr.com/photos/collinmel/2317520331/

ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

ARDUİNO

Arduino Eğitimleri

Bölüm 8

Kalıcı Hafıza Kullanımı

http://www.flickr.com/photos/collinmel/2317520331/

Page 2: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

Kalıcı HafızaEEPROM

Electrically

Erasable

Programmable

Read-Only

Memory

Page 3: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

Kalıcı HafızaEEPROM

Arduino üzerindeki mikrodenetleyici’de 256 baytlık bir EEPROM bulunuyor.

Bu EEPROM’a Arduino’nun gücü kesildiğinde de saklamak istediğimiz verileri yazıp okuyabiliriz.

EEPROM için çok basit iki fonksiyon kullanılıyor: readEEPROM() ve writeEEPROM()

Page 4: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

EEPROM Fonksiyonları

EEPROM’a veri yazmak için EEPROM.Write(Veri,Adres)

EEPROM’dan veri okumak için veri = EEPROM.Read(Adres)

EEPROM’a kaydedilen veriler Arduino’nun gücü kesildiktensonra da saklanır.

Page 5: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

UYGULAMA

EEPROM OKUMA VE YAZMA

Page 6: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜ

I2C (Inter Integrated Circuit) mikrodenetleyiciler ve çeşitli çevre birimleri arasında iletişim için kullanılan “seri” iletişim protokollerinden birisidir.

I2C isim hakkı Philips (NXP) firmasına ait olduğundan Two Wireadıyla da kullanılmaktadır.

İki hat üzerinden birden fazla komponent birbirleri ile iletişimkurabilir

I2C Specification:http://www.nxp.com/documents/user_manual/UM10204.pdf

Page 7: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜKaynaklar

I2C Specification:http://www.nxp.com/documents/user_manual/UM10204.pdf

NXP firmasının I2C protokolünü anlatan videosuhttp://www.youtube.com/watch?v=BcWixZcZ6JY

I2C Specification:http://www.nxp.com/documents/user_manual/UM10204.pdf

Page 8: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜ

I2C (Inter Integrated Circuit) mikrodenetleyiciler ve çeşitli çevre birimleri arasında iletişim için kullanılan “seri” iletişim protokollerinden birisidir.

I2C isim hakkı NXP (Philips) firmasına ait olduğundan Two Wireadıyla da kullanılmaktadır.

İki hat üzerinden birden fazla komponent birbirleri ile iletişimkurabilir

Page 9: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜ

SDA ve SCL hatlarına Rp pull-up dirençleri bağlanmalıdır.

Page 10: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜArduino Two Wire

Kütüphanesi

Arduino’da I2C ile haberleşme fonksiyonlarını kullanabilmekİçin “Two wire” kütüphanesini programlarımızda kullanmamız gerekiyor

#include “wire.h”

setup() fonksiyonu içerisinde Wire.begin() fonksiyonu ileI2C haberleşmeyi başlatmalıyız.

Page 11: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜ24C02 EEPROM

24C02 I2C protokolü ile iletişim kurularak harici olarakKullanılabilen bir EEPROM çipidir.

Page 12: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜ24C02 EEPROM

Pin Fonksiyon İsim

1 Adres Pinleri A0

2 A1

3 A2

4 Toprak GND

5 I2C Veri SDA

6 I2C Saat SCL

7 Yazma Koruma WP

8 Besleme VCC

Page 13: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜ24C02 EEPROM

1 0 1 0 A2 A1 A0 R/W

Okuma yapılırken R/W = 1Yazma yapılırken R/W = 0

24C02 ADRES

Page 14: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜ24C02 EEPROM

Arduino I2C pinleriA4 SDAA5 SCL

Page 15: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜ24C02 EEPROM

Page 16: ARDUİNO - Kavsaoglu...Arduino Eğitimleri I2C PROTOKOLÜ Arduino Two Wire Kütüphanesi Arduino’da I2 ile haberleşme fonksiyonlarını kullanabilmek İçin “Two wire” kütüphanesini

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri

I2C PROTOKOLÜ24C02 EEPROM