1 sonuçtan 1 ile 1 arası

Konu: Arduino öğrenirken yol haritası

  1. #1

    Arduino öğrenirken yol haritası

    Genelde Arduino nedir sorusundan sonra “Nasıl kullanacağım, neyi öğreneyim?” konusunda bir kafa karışıklığı yaşayan dostlarımıza robot çalışmalarına başlamadan önce kolaylık olması için bir Arduino öğrenim yol haritası ilk bölümünü aşağıda bulabilirsiniz.

    Aşağıdaki çalışmaları yapmadan önce Arduinoyu bilgisayarınıza yüklemiş olmanız ve en az bir arduino bordunuzun da olması gerekmektedir.

    Aruino seçimi veya nasıl yükleneceği konusundaki konuları şuradan http://arduinoturkiye.com/kategori/arduinoya-giris/ bulabilirsiniz.

    Bu yazıdaki içerik ve resimler arduino.cc den alınarak Türkçeleştirilmiştir.

    Baştan yanılmamanız için şunu belirteyim “Arduino Basittir ama kolay değildir”.

    Yıllarını elektronikte harcamış bir çok abimiz Arduinoda 1 satırlık komutu görüp, kendi yazdıkları 100 satır kod karşısında, hem dudak bükerler, hem küçümserler, hemde kıskanırlar.

    Önemli olan işi yapmaksa Arduino bunu size basit yoldan sağlar ancak bir çok temel elektronik bilgisi ve program yazma bilgisini de baştan bildiğinizi farzeder.

    Bu baştan bilmeniz gereken temel bilgi olmadan da arduino ile bir şeyler yaparsınız ancak, internette bulduğunuz onun bunun kodunun elinde oyuncak olursunuz kapı kapı forumları dolaşarak kodunuzu düzelttirecek insanların peşinden koşarak zaman, para kaybeder en sonunda arduinoyu bir kenara atar (hayallerinizi de) unutur gider başarısız olursunuz. Biz bunu istemeyiz.

    O halde buyrun buradan…

    Temel Fonksiyonlar / Core Function

    1. İlk bilgiler / Basics
    Kodlarda geçen komutların işlevi araştırmayı teşvik için özellikle anlatılmamıştır.
    Kodların içinde geçen "// bla bla" şeklindeki işret ve laflar programın tek satırlık açıklamalarıdır kod değildir.
    Aynı şekilde

    /*
    programın açıklamaları
    bu şekilde de birden fazla satırda da yazılabilir
    */

    1.1 Minimum temel kod / BareMinimum
    Arduninoda programlara sketch adını veriyorlar setup() ve Loop() bölümlerinin programınızda olması gerekmektedir.


    void setup() {
    // ilk değerler ve ilk başta bir kere çalışacak kodlar
    }
    void loop() {
    // devamlı tekrarlanarak sırasıyla çalışacak kodları burada yazıyoruz
    }

    1.2 Led yakıp söndürme / Blink
    Bunu mutlaka yapın. Süreleri değiştirerek farklı yanma hızlarını keşfedin…

    İsim:  ExampleCircuit_bb.jpg
Görüntüleme: 168
Büyüklük:  22.2 KB (Kilobyte)

    İsim:  ExampleCircuit_sch_bb.jpg
Görüntüleme: 323
Büyüklük:  17.1 KB (Kilobyte)

    /*
    Blink
    Led yakıp söndürür
    */
    // Pin 13 e LED bir direnç ile bağlanmıştır
    int led = 13;
    //reset butonuna basıldığında ilk önce setup bir kez çalışır
    void setup() {
    // ledin bağlandığı pin çıkış olarak ayarlanıyor.
    pinMode(led, OUTPUT);
    }
    // sonsuz döngü
    void loop() {
    digitalWrite(led, HIGH); // ledi aktif yap
    delay(1000); // 1 saniye bekle
    digitalWrite(led, LOW); // ledi söndür
    delay(1000); // 1 saniye bekle
    }
    Şunları kullandık: pinMode, digitalWrite, delay

    1.3 Buton ve dijital port okuma / Digital Read
    Buton okumak bir çok durumda lazım olacak bir robotuun ileri geri işlemlerinde kullanacağız mesela.

    İsim:  button.jpg
Görüntüleme: 335
Büyüklük:  19.5 KB (Kilobyte)

    İsim:  button_sch.jpg
Görüntüleme: 311
Büyüklük:  15.8 KB (Kilobyte)

    /*
    Pin 2 yi okur sonucunu serialmonitor den gösterir
    */
    // pin 2 ye buton bağladık ve tanımladık
    int pushButton = 2;
    // setup bir kez çalışır
    void setup() {
    // seri portumuzu 9600 baud a ayarladık
    Serial.begin(9600);
    //butonu okuyacağımız pini giriş olarak ayarladık
    pinMode(pushButton, INPUT);
    }
    //sonsuz döngü
    void loop() {
    //buton pini oku
    int buttonState = digitalRead(pushButton);
    // butonun değerini buttonState değerinden ekrana seri porttan yolla
    Serial.println(buttonState);
    delay(1); // biraz bekle
    }
    Şunları kullandık: pinMode, serial.Begin, digitalRead, Serial.println


    1.4 Potans okuma / Analog Read
    Hayatta hiç bir şey buton değerleri gibi bir veya sıfır değil. Daha neler göreceksiniz denemeden bilemezsin.

    İsim:  AnalogReadSerial_BB.jpg
Görüntüleme: 150
Büyüklük:  10.6 KB (Kilobyte)

    İsim:  AnalogReadSerial_sch.jpg
Görüntüleme: 190
Büyüklük:  15.3 KB (Kilobyte)

    /*
    10K lık bir potansiyometreyi Arduinoya bağlayın
    */
    // ilk kurulum değerlerini burada yazıyoruz
    void setup() {
    // seri portumuza 9600 baud değerini veriyoruz
    Serial.begin(9600);
    }
    // sonsuz döngü
    void loop() {
    // pin 0 dan analog değer okuyoruz
    int sensorValue = analogRead(A0);
    // sensor değerini ekrana serial port üzerinden yazıyoruz
    Serial.println(sensorValue);
    delay(1); // biraz bekle
    }
    Şunları kullandık: serial.Begin, analogRead, Serial.println, delay

    1.5 Led parlaklığı kontrol / Fade
    Ledi yaktınız parlaklığını da kontrol etmeyi ihmal etmeyin.
    İleride servo motorların kontrolünde de aynı yöntemi kullanacağız.

    İsim:  simplefade_bb.jpg
Görüntüleme: 175
Büyüklük:  20.9 KB (Kilobyte)

    İsim:  simplefade_pin9_schem.jpg
Görüntüleme: 195
Büyüklük:  16.1 KB (Kilobyte)

    /*
    Pin 9 daki ledin parlaklığını değiştirir
    */

    int led = 9; //ledin bağlandığı pin
    int brightness = 0; // ilk parlaklık değeri sıfır yaptık
    int fadeAmount = 5; // parlaklık adımları değeri. her seferinde 5 birim artar azalır demek.
    //ilk kurulum değerleri. Resetten sonra bir kez yapılır.
    void setup() {
    // pin 9 u çıkış yaptık
    pinMode(led, OUTPUT);
    }
    // sonsuz döngü
    void loop() {
    // pin 9 parlaklığını ayarla
    analogWrite(led, brightness);// parlaklığı değiştir
    brightness = brightness + fadeAmount;
    // parlaklık değerleri sona gelince mantığı değiştir
    if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
    }
    // gözümüzün değişikliği algılaması için 30 milisaniye bekle
    delay(30);
    }

    Şunları kullandık: pinMode, analogWrite, delay

    1.6 Voltaj okumak / Analog Read
    Arduino ile voltaj okuyarak hassas işler yapmamıza olanak verir. Yukarıdaki Pot okuma programından faydalanarak voltajları okuyabiliriz. Yerleşim şekli ve şeması şöyle

    İsim:  AnalogReadSerial_BB.jpg
Görüntüleme: 150
Büyüklük:  10.6 KB (Kilobyte)

    İsim:  AnalogReadSerial_sch.jpg
Görüntüleme: 190
Büyüklük:  15.3 KB (Kilobyte)

    /*
    Pin A0 a potansın orta ucu bağlanır ve okuma yapılır. voltaj değeri hesaplanır.
    */
    // ilk değerler
    void setup() {
    // seripotun hızı 9600 baud yapılır
    Serial.begin(9600);
    }
    // sonsuz döngü
    void loop() {
    // analog pin 0 daki değer okunur ve sensorvalue ye konur
    int sensorValue = analogRead(A0);
    // analog okunan değerler 0 - 1023 arasındadır.
    //sistem 5v ile beslendiğinden 5.0/1023 değeri ile okunan değeri çarparsak voltaj değeri bulunur
    float voltage = sensorValue * (5.0 / 1023.0);
    // okunan voltajı ekrana seri port üzerinden yaz.
    Serial.println(voltage);
    }

    Şunları kullandık: serial.Begin, analogRead, Serial.println, delay


    İlk temel işleri bitirdik, artık ilerideki maçlara bakacağız.

    Ömer Koman
    Konu joyhbuber tarafından (11.06.2015 Saat 20:57 ) değiştirilmiştir.
    Ben zeki doğmuştum, beni eğitim mahvetti..
    Mark Twain.

Konu Bilgileri

Users Browsing this Thread

Şu an 1 kullanıcı var. (0 üye ve 1 konuk)

Benzer Konular

  1. Arduino'ya Giriş Eğitim Videoları - Çağan
    By joyhbuber in forum Arduino ( elektronik devreler)
    Cevaplar: 12
    Son Mesaj: 16.06.2015, 17:05
  2. Coşkun Taşdemir Arduino Web Seminerleri
    By joyhbuber in forum Arduino ( elektronik devreler)
    Cevaplar: 5
    Son Mesaj: 12.06.2015, 00:40
  3. Arduino’nun Bileşenleri
    By joyhbuber in forum Arduino ( elektronik devreler)
    Cevaplar: 0
    Son Mesaj: 11.06.2015, 21:14
  4. Arduino Temel Bağlantılar (Arduino Basic Connections)
    By joyhbuber in forum Arduino ( elektronik devreler)
    Cevaplar: 0
    Son Mesaj: 11.06.2015, 21:05
  5. Arduino nedir ve ne değildir?
    By joyhbuber in forum Arduino ( elektronik devreler)
    Cevaplar: 1
    Son Mesaj: 11.06.2015, 20:45

Bu Konudaki Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •