UPLOAD

    Emre Ramazanoğlu

    Istanbul, Turkey

    1.6K

    Temel Arduino Dersleri

    Published: October 05, 2018

    Arduino Atmel marka işlemcilerin kullanıldığı hazır bir devre kartıdır. Açık kaynak kodludur ve isteyen kişi kendi Arduino’sunu yapabilir. Arduino projelerde kullanım kolaylığı sağlar ve projelerin daha hızlı ve stabil olarak yapılmasını sağlar. Arduino yapı ve özelliklerine göre çeşitli türlerden oluşmaktadır. Biz projemizde Arduino Uno modelini kullanacağız. Arduino Üzerinde USB bağlantısı, güç bağlantısı ve giriş çıkış pinleri bulunmaktadır. USB bağlantısı karta program yollama, bilgisayar ile kart arasındaki bilgi aktarımına ve kartı beslemek için kullanılır. Güç bağlantısı da aynı şekilde harici beslemeler için kullanılır. 9 Voltluk besleme önerilir. USB’den beslemek bu besleme türüne göre daha risklidir. Çünkü bilgisayarın USB çıkışı yeterli akım vermeyebilir Arduino için (motor ile ilgili uygulamalarda özellikle). Arduino ile programlamaya başlamadan önce bazı temel elektronik bilgilerimizi gözden geçirelim.

    Comments

    Temel Arduino Dersleri

    • 1. TEMEL ARDUİNO UYGULAMALARI TEMEL ARDUİNO UYGULAMALARI Anlatım: Emre Ramazanoğlu
    • 2. Neden Arduino?  Neden Arduino? •Arduino Atmel marka işlemcilerin kullanıldığı hazır bir devre kartıdır. •Açık kaynak kodludur ve isteyen kişi kendi Arduino’sunu yapabilir. •Arduino projelerde kullanım kolaylığı sağlar ve projelerin daha hızlı ve stabil olarak yapılmasını sağlar. •Arduino yapı ve özelliklerine göre çeşitli türlerden oluşmaktadır. •Biz projemizde Arduino Uno modelini kullanacağız. Arduino Üzerinde USB bağlantısı, güç bağlantısı ve giriş çıkış pinleri bulunmaktadır. •USB bağlantısı karta program yollama, bilgisayar ile kart arasındaki bilgi aktarımına ve kartı beslemek için kullanılır. Güç bağlantısı da aynı şekilde harici beslemeler için kullanılır. 9 Voltluk besleme önerilir. • USB’den beslemek bu besleme türüne göre daha risklidir. Çünkü bilgisayarın USB çıkışı yeterli akım vermeyebilir Arduino için (motor ile ilgili uygulamalarda özellikle). •Arduino ile programlamaya başlamadan önce bazı temel elektronik bilgilerimizi gözden geçirelim.
    • 3. Temel Elektronik  Temel Elektronik •Resimde görüldüğü gibi bread boardımızın iki kenarında aşağıya doğru uzanan delikler vardır. Bu delikler besleme kanalımızdır. Aşağıya doğru inen çizgilere karşılık gelen delikler kısa devre durumundadır. Yani sol üstteki kırmızıdan bağlanan bir kablo aynı çizgi üzerinden bağlanacak kablolar ile birleşiktir. Ayı şekilde orta kısımdaki yatay çizgilere karşılık gelen delikler de birbirleri ile bağlantılıdır. Fark ettiyseniz yatay çizgilerin ortasından bir yarık geçmektedir. Bu yarığın amacı entegrelerimizi kolaylıkla takabilmemizi sağlamasıdır. Breadboard
    • 4. Direnç Direnç •Hemen hemen herkesin bildiği bilgilerimizi de gözden geçirelim. •V=I*R formülünü inceleyelim; bu formüle göre sabit bir voltaj altında direncimizi arttırırsak Akımımız azalmaktadır. •Bu özellik ile fazla akım çekmemesini istediğimiz elemanların önüne direnç koymalıyız.
    • 5. Voltaj Bölücü  Voltaj Bölücü •Giriş voltajının istenilen voltaja düşürülmesini sağlayan devredir. •Çıkış voltajı R1 ve R2 dirençlerine bağlıdır. •Vout = Vgiriş*R2/(R1+R2) şeklinde yazılır. •Örneğin R1=10k R2= 10k ohm olarak seçilir ve giriş voltajımız da 5 volt olursa, çıkış voltajımız = 5*10K/(10K+10K) = 2.5 Volt olarak bulunur.
    • 6. Diyotlar Diyotlar •Kullanım alanlarına göre çeşitli diyotlar bulunmaktadır. •Led, fotosel, zener diyotlar bunlara örnek olarak verilebilir. •Lise bilgilerimizden de bildiğimiz gibi diyotlar tek yönde geçirgendir. Fakat ne yazık ki gerçek dünyada diyotlar kağıt üzerindeki gibi ideal davranmazlar. •Diyot akım geçirme yönünde kullanılsa bile bir voltaj farkına neden olmaktadır. •Bu voltaj farkı diyotun yapısına göre değişmekle beraber genellikle 0,6 – 0,7 Volt arasında olmaktadır.
    • 7. Temel Yazılım Bilgileri  Temel Yazılım Bilgileri •Arduino programlamaya geçmeden önce temel yazılım kodlarına bakalım. Projelerimizde kullanacağımız bazı fonksiyon ve kod yapılarını tanıtacağım. Koşullar (if-else-elseif): Yazılım dillerinin en temel komutlarından birisidir. •Elinizde bir durum var ve bu durum doğru ise a işini yapmasını eğer yanlış ise b işini yapmasını istiyorsanız, bu kod sistemi tam bu işe uygun. •Kısaca kod şemasına bakalım. • İf( a == 5 ){ //Buraya doğru durumda çalışması istenilen kodlar }else{ A’nın 5 olmadığı durumda çalışacak kodlar. } • a == 5 burada bizim koşulumuzu oluşturmaktadır. •Dikkat edilmelidir ki iki tane eşittir kullanılmaktadır. •Yani denk midir anlamına gelmektedir.
    • 8. For döngüsü For döngüsü •Yazdığımız kodların belli bir süre tekrar etmesini isteyebiliriz. •Bunun için döngüler kullanmalıyız. • For(int i =0; i < 10; i ++){ // burası 10 kere okunacak // program buraya her uğradığında i değeri bir arttırılacak // i değeri 10’a ulaşana kadar döngü devam edecek •}
    • 9. While döngüsü While döngüsü •For gibi while kodları da döngü amacıyla kullanılır. •b = 20; while( b > 10){ // b değişkeninin 10’dan büyük olduğu durumlarda döngü devam eder b = b – 1 ; // her döngüde b’nin değerini bir azalttık // dikkat edilmelidir ki eğer b’nin değerini değiştirmeseydik // döngü koşulu hep doğru olacağından program burada takılı kalacaktı }
    • 10. Arduino’nun Kurulumu ve Arduino Programı  Arduino’nun Kurulumu ve Arduino Programı •Arduino’yu kullanmaya başlıyoruz. Öncelikle arduinomuzun USB kablosunu arduino’ya bağlayalım. Daha sonra bilgisayarımıza takalım. Win 7 ve üst sürümlerinden arduino otomatik olarak yüklenecektir. Biraz bekledikten sonra artık arduino bilgisayar tarafından tanınacaktır. •Arduino’nun bilgisayar tarafından tanınıp tanınmadığını görmek için aygıt yöneticisinden kontrol edelim ve arduino'nun bağlı olduğu COM Portunu aklımızda tutalım ( aygıt yöneticisi: bilgisayarıma sağ tıklayın -> yönet -> aygıt yöneticisi ) Arduino’yu bilgisayarımıza tanıtırken bizde bir yandan kullanacağımız programı indirelim. •Bunun için http://arduino.cc/en/Main/Software adresine girelim ve Arduino programını indirip programı kuralım. Programı hatasız bir şekilde yükledikten sonra programı açalım.
    • 11. Arduino ile Yanıp Sönen Led Yapımı  Arduino ile Yanıp Sönen Led Yapımı •Öncelikle LED bağlamayı öğrenelim. LED’in ayaklarına bakıldığında birinin uzun birinin kısa olduğu görülmektedir. Buradan anlamamız gereken şey, uzun ayağın + uca kısa ayağında da – uca bağlanması gerektiğidir. Yani uzun ayağımızı arduinoya bağlayacağız. •Fakat ayaklar arasında bir bağlantı yoksa, LED’in içindeki kısa olan yere bağlı ayak + ucu, diğer ayak – ucu göstermektedir. •LED’imizin çalışma akımı vardır. •Bunu sağlaması ve fazla akım çekmemesi için LED’in artı ucu ile arduino(yada +5 volt besleme) arasına 220 ohm’luk bir direnç bağlamalıyız. • Aksi taktirde LED’imiz patlayabilir. İçerisinden çıkan gaz sağlık için zararlı olabilir. Şimdi programlamaya giriş yapabiliriz. •Arduino programları iki ana fonksiyondan oluşur.
    • 12. Temel Başlangıç Temel Başlangıç •void setup() fonksiyonu •Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. •void loop() fonksiyonu •diğer programlama dillerinden alışık olduğumuz main() fonksiyonu gibidir. •Farklı olarak loop fonksiyonu işlevi bitince tekrar baştan başlar yani sonsuz bir döngüdür aslında. • Arduino Programlama Şeması: // İlk başta kütüphaneleri ekleyebiliriz // Global cinsteki değişkenlerimizi tanımlayabiliriz // Fonksiyonlarımızı burada yazabiliriz void setup(){ // ilk başta çalışmasını istediğimiz kodlar buraya yazılır } void loop(){ // sonsuz döngü şeklindeki main fonksiyonumuz •// programı buraya yazıyoruz }
    • 13. Arduino’yu test etmek ve ilk programımızı yazmak için bu projeyi yapabiliriz. 1 Saniye aralıklar ile LED’imiz yanıp sönecektir. Arduino’yu test etmek ve ilk programımızı yazmak için bu projeyi yapabiliriz. 1 Saniye aralıklar ile LED’imiz yanıp sönecektir. •int LED = 10; // burada arduinonun 10. Ayağına ledimizi bağladığımızı söylüyoruz •void setup(){ pinMode(LED, OUTPUT); // LED pini yani Arduino’nun 10. Ayağı çıkış yapıldı } • void loop(){ digitalWrite(LED,HIGH); // LED’in bağlı olduğu pinden 5 volt gerilim sağlandı delay(1000); // 1000 ms yani 1 saniye program duruyor digitalWrite(LED,LOW); // LED söndürülüyor delay(1000); // bir saniye bekliyoruz }
    • 14. Arduino ile SeriPort Üzerinden Bilgisayara Veri Yollama  Arduino ile SeriPort Üzerinden Bilgisayara Veri Yollama •Gerek arduinonun kontrolü gerekse işlenen değerlerin kullanıcıya aktarılması için arduinomuz ile bilgisayarımız arasındaki haberleşmeyi yapmamız gerekir. Bu haberleşme arduinonun RX ve TX ayaklarından gerçekleşecektir. Haberleşme için her zamanki gibi arduinoyu USB üzerinden bilgisayarımıza takmamız yeterli olmaktadır. Haberleşme için setup fonksiyonumuza başlatma kodunu yazmayı unutmayalım. Aşağıdaki kod ile bilgisayara her saniye artan sayımızı yolluyoruz.
    • 15. Arduino ile SeriPort Üzerinden Bilgisayara Veri Yollama  Arduino ile SeriPort Üzerinden Bilgisayara Veri Yollama •void setup() { •Serial.begin(9600); • // bilgisayar ile arduino’muzun haberleşmesini başlatıyoruz. •// Bilgisayarın ve arduino’nun aynı hızda çalışması için 9600 yazdık. •// Yani saniyede 9600 tane bit transferi olacaktır. •} •int sayici = 0; • void loop() { Serial.print(“Sayicimizin degeri= “); // Ekrana mesajımızı yazdırıyoruz. •Serial.println(sayici); // sayaç değerimizi ekrana yazdırıp yeni satıra geçiyoruz. •delay(1000); // Bir saniye bekle }