ATmega 328 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Arduino Hakkında - EEPROM


   Arduino ile uğraşanlar daha önce bu terimi duymuştur ancak birçoğumuz bunun ne anlama  geldiğini bilmez. EEPROM aslında Arduino kartlarının sahip olduğu mikrokontrolörlerin özelliğidir. Bu özellik sayesinde Arduino kapalı olduğu zamanda bile bir takım değerleri hafızasında tutmasını sağlar yani EEPROM Arduinonun bir nevi küçük bir sabit disk gibi davranmasını sağlar.

    Arduino bu özellik için EEPROM kütüphanesine sahiptir ve write() ile read() komutları ile kullanılır.

    Write() komutu EEPROM a veri yazmak için kullanılır. EEPROM.write(adres, değer) şeklinde kullanılır. Adres 0 dan başlayan integer(sayı) değeri alırken değer kısmı ise 0 dan 255 arasında değer alır. Bu komutun tamamlanma süresi 3.3 mili saniyedir ve veriyi belli bir süre  kayıtlı tutar bu yüzden bu komutu kullanırken hangi amaç ile kullanacağınıza dikkat edin. Aşağıdaki gibi kullanılır.

 #include <EEPROM.h>

void setup()
{
  for (int i = 0; i < 255; i++)
    EEPROM.write(i, i);
}

void loop()
{
}

  

 Read() komutu ise EEPROM da tutulan değeri çağırmamızı sağlar ve EEPROM.read(adres) şeklinde kullanılır ve bize istediğimiz değeri byte olarak gönderir. Kullanımını daha iyi anlamanız için aşşağıya örnek bir kod ekliyorum.

#include <EEPROM.h>

int a = 0;
int value;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  value = EEPROM.read(a);

  Serial.print(a);
  Serial.print("\t");
  Serial.print(value);
  Serial.println();

  a = a + 1;

  if (a == 512)
    a = 0;

  delay(500);
}



    EEPROM Nerede Kullanılır

    Yukarıdaki tanımlar bazılarımız için havada kalmış olabilir bu yüzden nerede kullanıldığını dair birkaç örnek verelim. EEPROM sistem resetlense yada fabrika ayarlarına dönülse dahi silinmeyen veri depolamak için kullanılır. Mesala kablosuz modelleri fabrika ayarlarına döndürdüğümüzde tekrar bağlanmak için kutuda yazan ve her sefer aynı olan bir şifreyi kullanırız işte bu şifre gibi elektronik cihazların sabit bilgileri EEPROM da tutulur. Arduino ile kullanımı için ise Arduino tabanlı kilit sistemi örnek verilebilir, en az bir şifreyi EEPROM da tutarındaki olumsuz durumlarda şifre değiştirmek zorunda kalmayalım.

   Hangi Arduino kartının ne kadarlık bir EEPROM a sahip olduğunu öğrenmek için bu linke tıklayarak tabloyu inceleyebilirsiniz.

Arduino Türleri - 3 Arduino Uno


    Bu yazımızda Buradaki tabloda karşılaştırmalı özet olarak kısa bir tanıtımını yaptığım ve ilgili kısmını aşşağıyada eklediğim  Arduino ailesinin en çok bilinen ve kullanılan ilk Arduino modeli olan Arduino Uno yu detaylı olarak ele alacağız. Zaten Uno İtalyancada 1 - ilk anlamına gelir isminin Uno olmasının nedeni de budur. Arduino Uno hakkında bilgi edinmeden önce buradaki yazıdan ATmega 328 hakkında bilgi edinmenizde yarar vardır zira Arduino Uno temel olarak bu mikrokontrolörün bize sunduğu nimetlerden faydalanmaktadır. Arduino Uno nun en çok kullanılma nedeni eski oluşu, internette dokümanın bol olması ve başlangıçta yapmak istediğiniz projelerde sizi zorlamadan istediğiniz sonucu vermesidir.

Adı Mikrokontrolörü Çalışma voltajı / Giriş voltaj aralığı İşlem hızı Analog
Giriş/Çıkış
Digital
IO/PWM
EEPROM
[KB]
SRAM
[KB]
Flash
[KB]
USB UART
Uno ATmega328 5 V/
7-12 V
16MHz 6/0 14/6 1 2 32 Normal 1

    Arduino Uno pinleri ve diğer dahili ürünler

    Arduino Uno 14 dijital pine sahiptir ve bu pinlerin 6 sı Pulse-Width Modulaton(PWM) tekniği için kullanılabilir. PWM için kullanılan pinler Arduino Uno kartında pin numaralarının üstünde bulunan işaret ile belirtilmektedir.  dijital pin haricinde 6 adet analog giriş pinine sahiptir. Bunlar dışında 1 adet 5 volt bir adet 3.3 volt çıkış pini, 3 adet gnd(ground) pini, 1 reset pini, 1 adet Analog Referans(AREF) pini, 1 adet güç giriş pini ve Serial programlama pinleri vardır. Arduino unuda Serial programla pinleri dışındaki pinler dişi pinlerdir ve Uno kartının  sağ ve sol taraflarında bulunmaktadır, serial programlama pinleri ise erkektir ve kartın arka kesminde yer alır. Pinlerin yerlerini alttaki Uno fotorafında daha net bir şekilde görebilirsiniz.Not: Arduino Uno R3 versiyonu ile reset butonu USB girişinin yan tarafına alınarak daha kolay ulaşılması sağlanmıştır.
Arduino Uno R2 pin şeması



    Pinler ve ATmega 328 dışında Arduino Uno normal USB girişine ve adaptör girişine sahiptir. USB girişi sayesinde bilgisayara bağlayıp kolay bir şekilde kod atabilir yada bilgisayar ile haberleşmesini sağlarız. Adaptör girişi ise adaptör yada pil sayesinde arduino için gereken gücü almamızı sağlar ancak usb ile bilgisayara bağlıyken yada başka kaynaktan güç alırken bu girişi kullanmak zorunda değiliz. Arduino Uno 3 adet led barındırır bunlardan ikisi RX ve TX ledleridir ve seri haberleşme akışı sırasında çalışırlar diğer led ise 13. pine bağlıdır bu sayede led uyarısı istediğimiz durumlarda harici led bağlamadan bu ledi kullanabiliriz.

    Arduino Uno Güç özellikleri

     Arduino Uno USB yada harici bir güç kaynağı ile çalıştırılabilir, eğer USB dışında bir kaynak kullanıyorsak direk şehir hattına bağlamak AC -> DC adaptör, uygun aralığa ayarlanmış güç kaynağı yada uygun aralıktaki pil kullanılmalıdır. Arduino Uno her ne kadar 6-20 volt arası çalış sada 7-12 volt arasındaki bir güç kaynağı ile çalıştırılması önerilmektedir. Voltaj Giriş Pini(VIN) sayesinde harici güç kaynağı jumper yada kablo yardımıyla Arduino Unoya bağlanır(7-12 volt).
     Arduino Uno güç almak dışında sizin projelerinizde kullanmanız için 5 ve 3.3 DC güç çıkış pinleri bulundurmaktadır. Bu pinler sayesinde en fazla 50 mA e kadar sisteme güç aktarımında bulunulabilir. Ayrıca IOREF ile I/O çıkış, AREF ile Analog giriş voltajları referans alınabilir.
    Arduino bağladığınız bir ürünün diğer ucunu Arduino Uno üzerindeki GND pinine bağlamayı unutmayın.

   Arduino Uno Hafızası

   Arduino Uno barındırdığı ATmega 328 sayesinde 32 Kb lık bir hafızaya sahiptir ancak bunun 0.5 Kb lık kısmı Arduino bootloaderı tarafından kullanılmaktadır. Ayrıca Arduino Uno 2 Kb RAM ve 1 Kb EEPROM  barındırır


     Arduino Uno Haberleşme ve Bağlantı özellikleri

      Arduino Uno sahip olduğu ATmega 328 sayesinde 0.(RX) ve 1.(TX) pinleri sayesinde seri haberleşme yapabilmektedir, ayrıca sahip olduğu USB bağlantı sayesinde doğrudan USB bağlantısında bulunabilir. Bu bağlantılar ARduino Uno kartımıza kod atmak dışında sensörlerden ölçtüğümüz verileri Arduino IDE içinde bulunan "serial monitor" sayesinde görebilirken yine bu araç sayesinde Arduino Unoya anlık komutlar verebiliriz.

    Arduino Uno Otomatik Kapatma (Koruma)

     Arduino Uno kendini korumak için 500 mA den fazla akım çektiğinde kendini kapatıp açar eğer bu sırada bilgisayara bağlıysa bağlantıyı keser.
 
    Arduino Uno Fiziksel Özellikleri

     6.85 cm uzunluğundaki Arduino Uno 5.33 cm genişliğe sahiptir. Arduino Uno pinleri arasındaki mesafe 2.54 mm iken 7. ve 8. dijital pin arasındaki mesafe ise 4.05 mm dir. Ayrıca USB ve güç jakları ile header çıkıntıları üst taraftadır ve altında sadece lihimler vardır.

    Arduino Uno Çeşitleri

    Arduino Uno 4 farklı versiyono sahiptir bunlar r1, r2, r3 dışında SMD modelleridir. SMD modellerinde ATmega 328 dahilidir ve diğer modellerin aksine çıkartılamaz. Arduino Uno r1 ilk arduino kartıdır, R2 ise DFU modu için 10 K lık bir direnç eklenmiştir eğer Arduino Uno R1 kullanıcısı iseniz DFU modu için kartınıza direnç bağlamanız gerekir. Arduino Uno en köklü değişimi R3 ile almıştır, AREF pininin yanına 2 adet yeni pin eklenmiştir (SDA ve SCL), Reset devresi daha güçlü hale getirilerek olumsuz durum riski azaltılması amaçlanmış ayrıca  ATmega 8U2 çipi ATmega 16U2 olarak değiştirilmiştir.

Arduino Hakkında - ATmega 328 Mikrokontrolör

ATmega 328 - Arduino Uno
   ATmega328 mikrokontrolör bizim için Arduino kartlarımızın en çok kullanılan modellerin beyinidir, aslında bizim Arduino(hatta elektrik-elektroniğin tamamında) yaptığımız ATmega 328 in hangi bacağından hangi durumda ne kadar elektrik salınımı olacağını belirlemek. Bu yüzden Arduino öğrenmeden önce ATmega 328 hakkında bir takım bilgi vermek istiyorum zaten bizim Arduino ile çalışırken  kullanacağımız şeylerde ATmega 328 ile hemen hemen aynı işlevler. Hatta arduino tabanlı bir proje için daha güzel görünümlü ve işlevsel kart tasarımı yaparken arduino yerine sadece Atmega 328 kullanıcaksınız. Ayrıca Atmega 328 Uno dışında Mini ve Nano gibi modellerde de kullanılmaktadır.

     ATmega 328 Atmel şirketinin megaAVR serisinden düşük güç tüketme teknolojisine (picoPower) sahip bir mikrokontrolördür. ATmega 328 8 bitlik AVR işlemcisi, 32 Kb hafızası ve 2 Kb ram barındırmaktadır. 20 MHz saat hızına kadar çalışsada Arduino Uno 16 MHz lik işlem frekansına sahiptir. 28 pine sahip olan Atmega 328 in pin sıralamasını aşşağıdaki resimde görebilirsiniz ancak bu sıralama ARduino kartları ile aynı değildir. Parantez içindeki değerler Arduino pinlerini göstermektedir bu şema özellikle Arduino yaptığınız projeler için kart tasarlarken işinize yarayacaktır eğer bu işlere yeni başlıyorsanız bu sayfayı yer imlerine ekleyin yada resmi ulaşabileceğiniz bir yere kaydedin.
 
ATmega 328 pinleri ve ARduino Pinleri





 ATmega 328 ile ilgili elektronik bilgiden sonra birazda mekanik bilgiler verelim. ATmega 328 i daha çok  dikdörtgen şeklinde büyük modeli ile görsekte kare şeklinde küçük  modelide vardır ancak bunun el ile lehimlemesi çok zor olduğu ve uygun header bulunmadığı(yani devreye entegre ettikten sonra çıkarıp tekrar kullanması imkansız gibidir. Dikdörtgen 328 ( üsteki şemada pin sırası altta ise kendisi bulunmaktadır ) 7.62 mm uzunluğa sahiptir. 1.8 - 5.5 volt arasında çalışsada ben ARduino dışında 5 volt ile kullanıyorum. (-45) - (85) derece arasında çalışabilen ATmega 328 82 derecede 20 yıl 25 derecede 100 yıl çalışma ömrü sunmaktadır.


ATmega 328 P


    ATmega 328 ile ilgili daha fazla detayı bu adresten öğrenebilirsiniz.

    Size karışık gelsede ilerleyen dönemlerde ATmega 328 (yada diğer kontrolörleri) daha yakından tanımak zorunda kalacaksınız.