arduino tüm kütüphaneler / Arduino Kütüphane Nedir, Nasıl Kurulur? - Robolink Akademi

Arduino Tüm Kütüphaneler

arduino tüm kütüphaneler

KÜTÜPHANELER

Arduino ortamı, çoğu programlama platformunda olduğu gibi KÜTÜPHANELERİn kullanımı ile genişletilebilir. Kitaplıklar, eskizlerde kullanım için ekstra işlevsellik sağlar, örn. donanım ile çalışma veya veri işleme. Bir çizimde kitaplık kullanmak için Taslak > Library Ekle'dan kitaplık seçin.
IDE ile birlikte birkaç kütüphane kurulur, ancak kendi kütüphanenizi indirebilir veya oluşturabilirsiniz. KÜTÜPHANELERİn kurulumuyla ilgili ayrıntılar için bu talimatlara bakın. Ayrıca kendi KÜTÜPHANELERİnizi yazma konusunda bir öğretici vardır. Kütüphaneniz için iyi bir Arduino tarzı API oluşturma hakkında bilgi için API Stil Kılavuzuna bakın.

Standard Kütüphaneler

  • EEPROM- "kalıcı" depolamaya okuma ve yazma
  • Ethernet- Arduino Ethernet Shield, Arduino Ethernet Shield 2 ve Arduino Leonardo ETH kullanarak internete bağlanmak için
  • Firmata- standart bir seri protokol kullanarak bilgisayardaki uygulamalarla iletişim kurmak için.
  • GSM- GSM kalkanı ile bir GSM / GRPS şebekesine bağlanmak için.
  • LiquidCrystal- likit kristal ekranları ( LCD'ler ) kontrol etmek için
  • SD- SD kartları okumak ve yazmak için
  • Servo- servo motorları kontrol etmek için
  • SPI- Seri Çevrebirim Arabirimi (SPI) Veri Yolu kullanarak aygıtlarla iletişim kurmak için
  • SoftwareSerial- herhangi bir dijital pin üzerinde seri iletişim için. Arduino'nun ve sonraki sürümleri Mikal Hart'ınNewSoftSerial KÜTÜPHANESİni SoftwareSerial olarak içeriyor .
  • Stepper- step motorları kontrol etmek için
  • TFT- Arduino TFT ekranına metin, resim ve şekil çizmek için
  • WiFi- Arduino WiFi kalkanını kullanarak internete bağlanmak için
  • Wire- Bir cihaz veya sensör ağı üzerinden veri göndermek ve almak için iki Kablo Arabirimi ( TWI / I2C ).

Matrix ve Sprite KÜTÜPHANELERİ artık çekirdek dağıtımın bir parçası değildir.

Only KÜTÜPHANELERİ

  • CurieBLE- Bluetooth Düşük Enerji (BLE) ile akıllı telefonlar ve tabletlerle etkileşim kurun.
  • CurieIMU- Yerleşik ivmeölçeri ve cayroyu yönetin.
  • CurieTimerOne- Zamanlayıcı işlevlerinin kullanılmasına izin verir.
  • CurieTime- Dahili RTC'yi (Gerçek Zamanlı Saat) kontrol etmeyi ve kullanmayı sağlar

Due Only KÜTÜPHANELERİ

  • Audio- SD karttan ses dosyalarını oynatın.

Due, Zero and MKR KÜTÜPHANELERİ

  • USBHost- Fare ve klavye gibi USB çevre birimleriyle iletişim kurun.
  • Scheduler- Birden fazla engellemeyen görevi yönetin.

Zero and all the SAMD21 based MKR boards KÜTÜPHANELERİ

  • AudioFrequencyMeter- Bir ses sinyali örnekleyin ve frekansını geri alın
  • AudioZero- SD karttan ses dosyalarını çalma
  • RTC- Etkinlikleri programlamak için Gerçek Zaman Saati
  • ArduinoSound- Ses verilerini çalmanın ve analiz etmenin basit bir yolu
  • I2S- SAMD21'deI2S protokolünü kullanmak için

WiFi and MKR KÜTÜPHANESİ

  • WiFi yalnızca Wifi kalkanı ile kullanılacak kütüphane
  • WiFiOTA- MKR'de kablosuz güncellemeler

MKR WiFi , MKR VIDOR , Arduino NANO 33 IoT and Arduino UNO WiFi Rev.2

  • WiFi NINA- yukarıdaki panoların WiFi Nina modülünü kullanmak için kütüphane.

Arduino Nano 33 BLE, Nano 33 BLE Sense, NANO 33 IoT, Uno WiFi Rev 2, MKR WiFi

  • ArduinoBLE- yukarıdaki panoların BLE özelliklerini kullanmak için kütüphane.

Arduino Nano 33 IoT and UNO WiFi Rev. 2

  • ArduinoLSM6DS3- Arduino Nano 33 IoT ve Arduino UNO WiFi Rev. 2'de bulunan LSM6DS3 6 eksenli IMU'yu kullanmak için kütüphane.

Arduino Nano 33 BLE and BLE Sense

  • ArduinoLSM9DS1- Arduino Nano 33 BLE ve Arduino Nano 33 BLE Sense'de bulunan LSM9DS1 9 eksenli IMU'yu kullanmak için kütüphane.

Arduino Nano 33 BLE Sense

  • PDM- MP34DT05 dijital mikrofonu kullanmak için kütüphane, kütüphanemiz PDM ArduinoSound kütüphanemiz ile de kullanılabilir.
  • ArduinoAPDS hareket sensörü APDS'ı kullanmak için kütüphane; jest, renk, ortam aydınlatması ve yakınlığı algılar.
  • ArduinoLPS22HB- barometre ve LPS22 sıcaklık sensörünü kullanmak için kütüphane; dijital çıkış barometresi olarak çalışan ultra kompakt bir sensördür.
  • ArduinoHTS bağıl nem sensörü HTS'i kullanmak için kütüphane; seri bir arayüzde dijital çıkış olarak döndürülen bağıl nem değişimlerini tespit edebilen polimer dielektrik düzlemsel kapasitör yapısı kullanan ultra kompakt bir sensördür.

MKR Motor Carrier Only KÜTÜPHANESİ

MKR FOX only KÜTÜPHANESİ

  • SigFox- sadece MKRFOX ile kullanılacak kütüphane

MKR WAN only KÜTÜPHANESİ

  • MKRWAN- sadece MKR WAN ile kullanılacak kütüphane

MKR GSM only KÜTÜPHANESİ

  • MKRGSM- sadece MKR GSM ile kullanılacak kütüphane

MKR NB only KÜTÜPHANESİ

  • MKRNB- sadece MKR NB ile kullanılacak kütüphane

MKR , MKR WiFi , MKR GSM , MKR NB , MKR RS Shield, UNO WiFI Rev.2, Ethernet Shield only KÜTÜPHANESİ

  • Arduino Modbus- RS üzerinden Modbus Protokolü ve Modbus istemcileri ve sunucuları ile TCP ile iletişim kurmak için kütüphane.

MKR GPS Shield KÜTÜPHANESİ

MKR RGB Shield KÜTÜPHANELERİ

  • ArduinoMKRRGB- Arduino MKR RGB Shield ile kullanılacak kütüphane
  • ArduinoGraphics- grafik ilkelleri olan kütüphane, MKR RGB Shield ile de çalışır

MKR Shield KÜTÜPHANELERİ

  • ArduinoRS kütüphane olduğunu Arduino MKR RS kalkanı üzerinde uygular RS

MKR ENV Shield KÜTÜPHANESİ

  • ArduinoMKRENV- Arduino MKR ENV Shield sensörleri tarafından ölçülen tüm değerleri okumak için kütüphane

MKR THERM Shield KÜTÜPHANESİ

  • ArduinoMKRTHERM- Arduino MKR THERM Shield'e bağlı sensörleri okumak için kütüphane

Esplora Only KÜTÜPHANESİ

  • Esplora- bu kütüphane Esplora kartına monte edilmiş çeşitli sensörlere ve aktüatörlere kolayca erişmenizi sağlar.

Arduino Robot KÜTÜPHANESİ

  • Robot- bu kütüphane Arduino Robotun fonksiyonlarına kolay erişim sağlar.

Yún devices KÜTÜPHANESİ

  • Bridge Library- Linux işlemcisi ile Yún'daki mikro denetleyici arasındaki iletişimi sağlar.
  • Ciao Library- Mikrodenetleyici ve Linino OS arasındaki etkileşimi basitleştirmeyi amaçlayarak en yaygın protokollerle çeşitli bağlantılara izin verir

USB KÜTÜPHANELERİ (Leonardo, Micro, Due, Zero and Esplora)

  • Keyboard- Takılı bir bilgisayara tuş vuruşlarını gönderin.
  • Mouse- Bağlı bir bilgisayarda imleç hareketini kontrol edin.

Arduino&#;nun dahili Servo kütüphanesini hepimiz en az bir kez kullanmışızdır. Kendisi gayet iyi çalışan, sevdiğimiz bir kütüphanedir. Ancak bazen bize küçük şakalar yapabiliyor. Nasıl mı?

Servo kütüphanesi Arduino&#;nun kullandığı mikrokontrolcünün 3 adet Timer&#;ı (sayıcı/sayaç diyebiliriz) arasından Timer1&#;i kullanıyor. Kullandığımız bazı komut veya kütüphaneler arasında da Timer1&#;i kullanan olursa bir çakışma yaşanıyor ve Servo kütüphanesi aracılığıyla çalıştırdığımız servolarımız şaşırmaya, garip şeyler yapmaya başlıyor.

Bunun kolay bir çözümü yok. Mikrokontrolcüler ucuz ve basit yapılar ve pek çok kısıtlamaya sahipler. Yaşadığımız bu çakışma sorununu çözmek için ServoTimer2 adı verilen harici bir kütüphane geliştirilmiş. Bu kütüphane mikrokontrolcü üzerindeki Timer2 sayacını kullanıyor. Böylece başımıza gelen çakışmalardan kurtulmamız mümkün olabilir. Bu yazıda bu kütüphaneyi kullanmayı ve inceliklerini öğreneceğiz.

Öncelikle tanıdık bildik Servo kütüphanesinin nasıl kullanıldığını hatırlayalım;

Sketch kodunu kopyalamak için pencerenin sağ üst köşesindeki butona tıklayabilir veya buraya tıklayarak ZIP dosyası olarak indirebilirsiniz. Mete Hoca tarafından modifiye edilmiş ve kullanımı kolaylaştırılmış ServoTimer2 kütüphanesini buraya tıklayarak indirebilirsiniz.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

/*

  Arduino Servo Kütüphanesi Nasıl Kullanılır?

  Servo kütüphanesinin detaylı açıklaması ve örnek projelerini

  web sitemizde bulabilirsiniz.

  Mete Hoca

  monash.pw

*/

 

#include <Servo.h>      // Servo kütüphanesini ekliyoruz

Servoservom;           // Kütüphaneyi servom adıyla tanımlıyoruz

 

intmotor=3;          // Servo motorumuzun sinyal pini

 

voidsetup(){

  monash.pw(motor);// Kütüphanemizi motora bağlıyoruz

}

voidloop(){

  monash.pw(0);      // Servoyu 0 derece konumuna getiriyoruz

  delay();

  monash.pw();    // Servoyu derece konumuna getiriyoruz

  delay();

}

Yukarıdaki kodu incelersek servo motorumuzun kontrolü için 0 ve olarak derece değerleri girmemizin yeterli olduğunu görürüz.

ServoTimer2 kütüphanesi ise çok farklı bir mantıkla çalışıyor. Bu kütüphaneyi 0 ve değerleri ile değil, ve değerleri arasında değer göndererek kullanmak zorundayız.

Yukarıdaki sketch&#;i bir de ServoTimer2 kütüphanesi ile çalıştıralım;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

/*

  Arduino ServoTimer2 Kütüphanesi Nasıl Kullanılır?

  ServoTimer2 kütüphanesinin detaylı açıklaması ve örnek projelerini

  web sitemizde bulabilirsiniz.

  Mete Hoca

  monash.pw

*/

 

#include <ServoTimer2.h> // ServoTimer2 kütüphanesini ekliyoruz

ServoTimer2servom;      // Kütüphaneyi servom adıyla tanımlıyoruz

 

intmotor=3;           // Servo motorumuzun sinyal pini

 

voidsetup(){

  monash.pw(motor);  // Kütüphanemizi motora bağlıyoruz

}

voidloop(){

  monash.pw();     // Servoyu ayarlayabileceğimiz en ALT değer

  delay();

  monash.pw();    // Servoyu ayarlayabileceğimiz en ÜST değer

  delay();

}

Servomuz yine aynı şekilde hareket ediyor, ancak bambaşka bir yapı kullanıyoruz. Ancak biz servo motorlarımızı derece göndererek kullanmaya çok alışkınız. ve arasındaki değerlerle uğraşmak kafa karıştırıcı olabilir.

Bunun da çözümü var;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

/*

  Arduino ServoTimer2 Kütüphanesi Nasıl Kullanılır?

  ServoTimer2 kütüphanesinin detaylı açıklaması ve örnek projelerini

  web sitemizde bulabilirsiniz.

  Mete Hoca

  monash.pw

*/

 

#include <ServoTimer2.h> // ServoTimer2 kütüphanesini ekliyoruz

ServoTimer2servom;      // Kütüphaneyi servom adıyla tanımlıyoruz

 

intmotor=3;           // Servo motorumuzun sinyal pini

 

voidsetup(){

  monash.pw(motor);  // Kütüphanemizi motora bağlıyoruz

}

voidloop(){

  servo2(0);             // Servoyu ayarlayabileceğimiz en ALT değer

  delay();

  servo2();           // Servoyu ayarlayabileceğimiz en ÜST değer

  delay();

}

 

voidservo2(intx){     // arasını arasına dönüştüren fonksiyon

  x=map(x,0,,,);// Bütün iş burada yapılıyor

  monash.pw(x);       // Hesaplanan değer servoya gönderiliyor

}

Arduino&#;nun map() komutunu kullanarak hazırladığımız bu fonksiyon işimizi oldukça kolaylaştırdı.

NOT: ServoTimer2 kütüphanesi çok farklı bir yöntemle çalıştığı için kullandığımız farklı servo motorlarda farklı tepkiler verebilir. Her bir motor için geleneksel Servo kütüphanesi ile karşılaştırarak denemeler yapıp başlangıç ve bitiş değerlerini yeniden belirlemek gerekebilir.

Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!

metehoca

firatsoygul/PT

Arduino için PT lcd sürücü kütüphanesi.

Bu kütüphaneyi aynı zamanda CT, LC, SC, RSM, LF, HXJ, LP, SL, SWE, ZL, TM, SJ, CS, ADS, AX, CS, LS, PM, PS, SC sürücülerinde de kullanabilirsiniz.

Bu kütüphaneyi, KAMOSONIC marka eski bir araba kasetçalarının ön panelinde bulunan ekranı kullanarak oluşturdum. Büyük ihtimalle benim çalıştığım panelin aynısına sahip olmayacaksınız. Sizin sahibi olduğunuz lcd paneli, tamamen kendine özel alanlar içerecektir. Ancak yukarıdaki sürücülerin herhangi birini içerdiği sürece, segment ve sembol datalarını kendi kartınıza göre düzenleyerek, diğer lcd paneller için de kullanılabilirsiniz. Örnek olarak LC sürücüsü kullanan başka bir lcd panel için düzenlenmiş halini, bu sayfada inceleyebilirsiniz.

image_a

KURULUM

  • Arduino taslak klasörünüzde bulunan klasörünün altında adında yeni bir klasör oluşturun(libraries klasörü henüz mevcut değilse siz oluşturun).
  • Kütüphane dosyaları içinde bulunan ve klasörlerini, yeni oluşturduğunuz klasörüne yerleştirin.

Arduino taslak klasörü, işletim sisteminize bağlı olarak aşağıdaki konumlarda bulunur(eğer değiştirmediyseniz).

  • Linux için: veya
  • Windows için:
  • Mac için:

Ayrıca Arduino IDE menüsünden penceresini açtığınızda, "Taslak Defteri Konumu" alanından da öğrenebilir-değiştirebilirsiniz.

Dosyaları yerleştirdikten sonra, açık olan bütün Arduino IDE'leri kapatın. Tekrar açtığınızda, IDE otomatik olarak kütüphanelerinizi tekrar tarayacak ve yeni eklediğiniz kütüphaneyi de listesine ekleyecektir. Bunu kontrol etmek için, Arduino IDE'nizi açın ve menüsü altında satırını arayın. Bu satır üzerine geldiğinizde, kullanıma hazır bazı örnekler göreceksiniz.

BAĞLANTI

Bu kütüphane SPI bağlantısı için standart Arduino SPI kütüphanesini kullanır. Bu nedenle;

  • Data girişini Arduino 11 nolu pine (veya ICSP soketi üzerindeki 4 nolu MOSI pinine),
  • CLK'yı ise Arduino 13 nolu pine (veya ICSP soketi üzerindeki 3 nolu SCK pinine),
  • FCE (ChipEnabled, SlaveSelect) girişini Arduino 10 nolu pine bağlamak gerekiyor.
  • INH girişini ise +5v. akımla beslemelisiniz.

Bu pinler Arduino Uno modeli için geçerli. Diğer Arduino modelleri için bu sayfadaki tabloya bakabilirsiniz. FCE (ChipEnabled, SlaveSelect) girişini ise bütün modellerde Arduino 10 nolu pine bağlıyoruz. Veya fonksiyonundaki parametreyi başka bir pine ayarlayabilirsiniz. Bağlantı şeması görseldeki gibi olmalıdır.

image_baglanti

KULLANIMI

Kütüphaneyi kendi projenizde kullanabilmek için, Arduino IDE menüsünde yolunu takip edebilirsiniz. Veya kendiniz dosyanızın en üstüne aşağıdaki kodu ekleyin.

#include<PTh>

Kütüphaneyi bu şekilde çalışmaya dahil ettikten sonra, kütüphanedeki sınıfından yeni bir nesne üretmeniz gerekiyor.

Artık oluşturduğunuz bu yeni nesnesi ile, aşağıdaki fonksiyonları kullanabilirsiniz.

void begin(int chipEnabledPin, int address)

Bu fonksiyon lcd'yi başlatır. Chip enable pin numarasının ve sürücünün SPI adresinin parametre olarak girilmesi gerekiyor. Ayrıca ve gibi standart Arduino SPI fonksiyonlarını içerir ve chip enable pinini durumuna getirir. Bu işlemlerin ekrana yazdırma yapılmadan önce başlatılması gerektiği için, Arduino fonksiyonu içinde tanımlanması gerekiyor.

voidsetup() { monash.pw(10, ); }

void text(char text[])

Girilen metni sabit biçimde ekrana yazdırır. Yazdırılacak metin türünde bir dizi değişkeni olarak girilebilir veya doğrudan karakterleri arasında yazılarak parametre olarak girilmelidir. Ekran aynı anda 8 karakteri gösterebildiği için, girilen metnin ilk 8 karakteri ekranda görünür.

Kütüphane yalnızca ASCII karakter tablosundaki 32 - arası karakterleri destekler. Bunun dışındaki karakterler ekranda iki karakterlik boşluk olarak görünür.

voidloop() { char a[14]="MERHABA DUNYA"; monash.pw(a); //veya monash.pw("MERHABA DUNYA"); }

void sText(char text[])

Girilen metni ekran üzerinde sağdan sola doğru kaydırarak yazdırır. Yazdırılacak metin tipinde bir dizi değişkeni olarak girilebilir veya doğrudan karakterleri arasında yazılarak parametre olarak girilmelidir. Bu yazım şeklinde ekranda gösterilen metnin bir karakter sayı sınırı bulunmaz.

Kütüphane yalnızca ASCII karakter tablosundaki 32 - arası karakterleri destekler. Bunun dışındaki karakterler ekranda iki karakterlik boşluk olarak görünür.

voidloop() { char a[44]="ARDUINO PT KUTUPHANESI. 01 TEMMUZ "; monash.pw(a); //veya monash.pw("ARDUINO PT KUTUPHANESI. 01 TEMMUZ "); }

Metni taşıyan dizisi tanımlanırken, dizisinin eleman sayısı metnin karakter sayısından 1 fazla olmalıdır. Eğer 12 harfli bir metin giriyorsanız, diziyi 13 elemanlı oluşturmalısınız. Böylece dizinin son elemanına karakteri otomatik olarak yerleştirilir. Aksi halde, sonlandırma elemanı olmayan bir dizi ekrana yazdırılırken, kendisinden sonra tanımlanmış ya da bellekte kendisinden sonraki adreslerde bulunan alakasız veriler de ekrana yazdırılır.

Bazı durumlarda, , gibi farklı veri tiplerinden oluşan birden fazla veriyi, aynı anda ekrana yazdırmanız gerekebilir. Böylesi durumlarda, fonksiyonlarından sprintf()'i kullanabilirsiniz. Aşağıdaki örnekte, bir değişkenin değeri ile bazı karakterler birleştirilerek, lcd nesnesinin fonksiyonuna parametre olarak giriliyor.

voidloop() { int a = 4; int b = 8; char buffer[14]; sprintf (buffer, "%d ARTI %d = %d", a, b, a+b); monash.pw(buffer); }

fonksiyonu veri tipini desteklerken, tipindeki değişkenleri desteklemiyor. Bu durumu aşmak için fonksiyonunu kullanabilirsiniz. Aşağıda, bir değişkenin değeri, fonksiyonu ile başka bir dizisine aktarılıyor. Bir sonraki adımda ise fonksiyonunda başka bir dizisiyle birleştiriliyor. Ve son olarak fonksiyonu ile ekrana yazdırılıyor.

voidloop() { char ss[2]; char scr[2]; int val = 0; float volt; val = analogRead(0); volt = val * ; dtostrf(volt, 4, 2, ss); sprintf(scr, "%s V", ss); monash.pw(scr); }

Yukarıdaki örnek kodu içeren .ino dosyası:

int textLoopCount()

fonksiyonu ile soldan sağa kaydırılarak ekrana yazdırılan metnin, ekranda kaç defa döndüğü bilgisini tipinde dışa döndürür. Bir metnin görünürlüğünü, ekranda belirli sayıda tekrarladıktan sonra sonlandırmak istiyorsanız, bu fonksiyondan dönen değere göre işlem yapabilirsiniz. Aşağıdaki örnekte, girilen metin 3 defa ekranda döndükten sonra döngüden çıkılır ve bir sonraki işleme geçilir.

voidloop() { for (int i = 0; monash.pwopCount() < 3; i++) { monash.pw("BU METIN EKRANDA 3 DEFA DONECEK.); }}

Yukarıdaki örnek kodu içeren .ino dosyası:

void symbol(enum Symbol symbolName, boolean status)

Bu fonksiyon ile ekran üzerinde bulunan sembolleri gösterebilir ve gizleyebilirsiniz. Lcd panel üzerindeki tüm sembollere karşılık gelen birer sabiti tanımlanmıştır. isimli bu sabitlerinden birini ve içereceği durumu ( veya = göster, veya = gizle) bu fonksiyona parametre olarak girerek, ilgili sembolün görünürlüğünü değiştirebilirsiniz.

voidloop() { // Sembol durum bilgisi true girilerek semboller gösteriliyor. boolean sts = true; monash.pw(MUSIC, sts); monash.pw(MUTE, sts); monash.pw(BLUETOOTH, sts); delay(); // Sembol durum bilgisi 0 girilerek semboller gizleniyor. byte bsts = 0; monash.pw(MUSIC, bsts); monash.pw(MUTE, bsts); monash.pw(BLUETOOTH, bsts); }

Yukarıdaki örnek kodu içeren .ino dosyası:

Tüm sembol sabitleri aşağıda verilmiştir.

INT, MUTE, BLUETOOTH, TRACK, DISC, RDM, RPT, MP3, FOLDER_ICON, MUSIC, AUDIO_FILE_ICON, BOOK_ICON, LOUD, PERSON_ICON, CD_ICON, PTY, AF, DOT, EON, TA, TP, EQ, POP, FLAT, EQ_BORDER, ROCK, CLAS, CHART_DOT, CHART_1, CHART_2, CHART_3, VOLUME_1, VOLUME_2, VOLUME_3, VOLUME_4, VOLUME_5, VOLUME_6, VOLUME_7

void volumeChart(int volumeChartNo, boolean status)

'Volume seviyesi' ve 'chart' gösterimi gibi, sıralı ve birbiri ile bağlantılı bazı sembollerin kontrolü için kullanılır. fonksiyonuyla da müdahale edilebilen ve sembollerinin durumu, bu fonksiyon ile sıralı değerler girilerek değiştirilebilir. Böylece bu sembolleri bir döngü içinde sıralı işlemlerde kullanabilirsiniz.

voidloop() { // VOLUME_1 sembolünü göster. monash.pwChart(1, true); // VOLUME_2 sembolünü göster. monash.pwChart(2, true); // CHART_1 sembolünü göster. monash.pwChart(9, true); // VOLUME_2 sembolünü gizle. monash.pwChart(2, false); }

Volume ve chart sembollerinin fonksiyon içindeki sıralaması aşağıda verilmiştir.

1: // VOLUME_ // VOLUME_ // VOLUME_ // VOLUME_ // VOLUME_ // VOLUME_ // VOLUME_ // CHART_DOT9: // CHART_ // CHART_ // CHART_3

void volumeLevel(int levelValue)

Volume seviyesini istenen konuma getirir. Toplamda 7 basamaklı volume sembolünü ayarlayabilirsiniz. Bu seviye sembollerini döngüye girmeden bir seferde istenilen seviyeye getirmek için bu fonksiyonu kullanabilirsiniz. Örneğin seviyeyi 5. düzeye getirmek için komutunu kullanmak yeterli.

voidloop() { monash.pwLevel(3); monash.pwLevel(7); }

Seviye basamakları toplam 7 farklı segmentten oluşuyor. Varsayılan olarak en düşük seviye , en yüksek seviye ise kabul edilmiştir. Ancak bu değerleri , ve fonksiyonları ile düzenleyebilirsiniz.

void volumeStartValue(int startValue), void volumeEndValue(int endValue)

Seviye aralığı olarak 7 birimin yetmediği durumlarda, bu fonksiyonlar ile başlangıç ve bitiş değerleri ayarlanabilir. Örneğin aşağıdaki örnekte, Arduino nolu analog pinine uygulanan voltajın (max. 5 v.) yaklaşık değeri, seviye simgeleri üzerinde gösterilmiştir. Arduino analog girişten gelen voltaj değerini 0 - arası bir değere çevirmektedir. Ancak bu değer standart seviye sınırı olan yediyi aştığı için, yedinin üzerindeki her veri seviyeyi en sona taşır. Bu durumu düzeltmek için, alt ve üst seviye sınırlarını bu iki fonksiyonla bildirebilirsiniz.

Program boyunca bu ayarı değiştirme ihtiyacı duyulmuyorsa, fonksiyonu içinde tanımlayınız.

voidsetup() { monash.pw(10, ); monash.pwStartValue(0); monash.pwEndValue(); int val = 0; } voidloop() { val = analogRead(0); monash.pwLevel(val); }

image_volt

Yukarıdaki örnek kodu içeren .ino dosyası:

void levelDirection(direction d)

Seviye animasyonunun hareket yönünü ayarlamanızı sağlar. Fonksiyona girelebileceğiniz toplam iki yön bulunuyor.

Animasyonun, volume arttıkça içe doğru çoğalması için, fonksiyonu aşağıdaki gibi kullanın.

voidloop() { levelDirection(IN); }

fonksiyonu içinde, başlangıçta bir defa tanımlamanız yeterli olacaktır. Öntanımlı değer olarak ayarlıdır.

void sChart(boolean chartValue)

Chart sembollerinin, dönme animasyonu için kullanılır. Fonksiyona veya değeri girildiği sürece, chart sembolleri üzerinde dönüş animasyonu oluşturur.

voidloop() { for (int j = 0; j <= 8; j++) { monash.pw(1); } }

Yukarıdaki örnek kodu içeren .ino dosyası:

void speed(int textSpeed)

Ekrandaki animasyonların (metin kaydırma, seviye geçişleri, chart animasyonu vb.) hızını belirlemek için kullanılır. Uygulamanın herhangi bir noktasında kullanılabilir. tipindeki parametre milisaniye cinsinden olmalıdır. Belirtilen süre animasyonun geçiş hızını belirler. Dolayısıyla süre ne kadar az ise, animasyonlar o kadar hızlı gösterilir. Hiç bir değer belirtilmemişse, varsayılan değer milisaniye olarak uygulanır.

void clear()

Ekranda o anda yazılı olan karakterleri siler. Metinler arası geçişlerde kullanıldığında, metinlerin iç içe geçme riskini engeller. Her yeni metni ekrana yazdırmadan önce kullanmanız gerekiyor.

void reset()

fonksiyonuna ek olarak, ile tutulan metin döngü sayısını, ekrandaki tüm sembolleri, sol ve sağ seviye bilgilerini sıfırlar. Animasyon hızını başlangıç değeri olan milisaniyeye ayarlar. Ekran güç tasarrufu (power saving) modunda ise açılacaktır. Ancak ve ile belirlenen seviye aralıklarını değiştirmez.

void noDisplay()

Sürücü güç tasarrufu (power saving) moduna geçer. Sürücü içindeki osilatör duracağı ve segment hatlarındaki voltaj Vss değerine çekileceği için, ekran lcd bölümü kapanır. Ekranın batarya ile çalıştırılacağı durumlarda, belirli bir süre sonunda bu moda geçilebilir.

void display()

Güç tasarrufu (power saving) modunda bulunan sürücüyü normal çalışma moduna geçirir.

image_symbols

Sample_2

    Merhaba arkadaşlar çoğu kişinin arduino kütüphane yükleme, kullanma aşamasında sorun yaşadığı için bu yazıyı yazmak istedim.

Kütüphane Nedir ?

    Kütüphaneler bir sensöre, modüle veya ekran gibi şeylere arduinoyu bağlamamızı kolaylaştıran bir kod paketi diyebiliriz. Bu kod paketlerini başka geliştiriciler yazmıştır ve bizde bu kod paketlerini kullanarak çok kolay bir şekilde veri yazma, okuma işlemlerini yaparız. Kütüphaneleri kullanmadan da kod yazılabilir. Ama kodumuz çok uzun olur ve her şeyi bizim yapmamız lazımdır. En basitinden pinMode(led,OUTPUT) komutunu çalıştırınca arka planda arduinonun kendi kütüphanesinde bazı işlemler yapılıyordur. Bu fonksiyonlar arduinonun temel fonksiyonlarıdır. Temel fonksiyonlarından ayrı olarak geliştiricilerin yazmış olduğu kütüphaneler vardır.

    Örnek olarak bir lcd ekrana yazı yazmak için veya bir servo motoru belirli bir açıya getirmek için kütüphanelere ihtiyacımız vardır. Örnek olarak aşağıya servo motor kullanımı ile ilgili bir kod koydum. Bu kod servo motoru 90 dereceye ayarlıyordur. Aslında arka planda çok uzun kodlar var ama kütüphane kullandığımız için bazı fonksiyonlar ile çok kısa bir kod yazmış oluyoruz.

    İlk satırda kütüphaneyi include kodu ile ekledik. Eğer kütüphane sizde indirilmemiş veya kurulmamışsa bu kodu yazınca hata verecektir. Servo motor için gerekli kütüphane arduino ide de otomatik olarak yüklü gelir. Farklı kütüphaneler yüklü gelmediği için hata verebilir. Bu yüzden ilk olarak kütüphaneyi indirmeniz gerekiyor. Daha sonra kurulum yapıp kod yazmaya geçebiliriz.

Kütüphane nasıl indirilir, kurulur ?

    Kütüphaneyi indirmek ve kurmak için 2 yöntem vardır.

1.Yöntem 

    Bu yöntemde internette girmeden direk arduino ide üzerinden kütüphane indirme ve kurma işlemlerini yapacağız. Arduinoyu açtığımızda karşımıza böyle bir ekran çıkacaktır.

    Daha sonra Taslak->Library Ekle ->Kütüphaneleri Yönet kısmına tıklayalım veya resimde gördüğünüz gibi CTRL+SHIFT+I tuşları ile de bu ekranı açabiliriz.

    Ekranı açınca karşımıza aşağıdaki gibi bir ekran çıkacaktır.

    Sağ üstteki arama kısmında kurmak istediğimiz bir kütüphanenin ismini yazarak arama işlemi yapalım. Örnek olarak DHT11 kütüphanesini yüklemek istedim. Çok sayıda kütüphane olabilir ve bu kütüphaneler birbirinde farklı olduğu için kodlarını yazarken de farklılıklar olacaktır.

    SimpleDHT isminde bir kütüphane buldum ve versiyonlardan en son versiyonu seçip kur butonuna basalım. Kurulum yaptıktan sonra aşağıdaki gibi mavi bir renkte INSTALLED yazısı kütüphanenin yanında yazacaktır. Bu kurulduğu anlamına gelmektedir.

    Kütüphanemiz başarı ile kurulmuştur. Kütüphanenin nasıl kullanıldığı hakkında bilginiz yoksa kütüphanenin altında mavi bir renkle yazılmış olan More info linkine basarak kütüphanenin nasıl kullanacağı hakkında geliştiricinin sitesine sizi yönlenderecektir.

2.Yöntem

    Bu yöntemde ise kütüphane yöneticisinde olmayan veya internette bulduğumuz bir kütüphaneyi yüklemek için kullanıyoruz. İnternette bulduğumuz kütüphaneler genelde ZIP şeklindedir. İlk önce internette bulduğumuz kütüphaneyi ZIP şeklinde indirmemiz gerekiyordur. Güncel olarak kullandığım kütüphaneleri github sayfama ekledim ve zamanla bu kütüphaneleri çoğaltacağım. Kütüphane indirme işlemini github üzerinden göstermek istiyorum.

    İlk önce bu linke tıklayarak kütüphanelerin bulunduğu github sayfasına gidelim.

    Karşımıza böyle bir ekran geliyor ve yüklemek istediğimiz kütüphaneyi seçiyoruz. Ben DS RTC Saat Modülü kütüphanesini seçeceğim.

    monash.pw tıkladıktan sonra karşımıza aşağıdaki gibi bir ekran çıkacaktır.

    Buradan sağ alt tarafta bulunan Download butonuna tıklayarak kütüphanemizi indirelim. Butona tıkladığımızda kütüphanemiz aşağıda gördüğünüz gibi ZIP şeklinde indirilmiştir.

Kütüphane indirme işlemini tamamladığımıza göre arduinoyu açalım. Taslak->Library Ekle->.ZIP Kitaplığı Ekle kısmına tıklayalım.

    Karşımıza dosya seçme ekranı çıkacaktır. Buradan indirdiğimiz ZIP dosyasını bulalım ve seçip aşağıdaki görüldüğü gibi OPEN&#;a basarak yükleme işlemini gerçekleştirelim.

    Aşağıda gördüğünüz gibi yükleme işlemimiz başarıyla gerçekleştirilmiştir.

    Dosya-> Örnekler kısmında da gördüğümüz gibi RTC kütüphanemiz gözüküyor ve içerinde 2 adet de örnek varmış 🙂

   Kütüphane yükleme işlemimiz bu kadar arkadaşlar. Yazımı okuduğunuz için teşekkür ediyorum ve anlamadığınız bir yer olursa aşağıdan yorum olarak yazabilirsiniz.

Yunus Emre EKE

monash.pw

Merhabalar ben Yunus Emre Eke. Trakya Üniversitesi Bilgisayar Mühendisliği 4.Sınıf Öğrencisiyim. Uzun süredir yazılım ve elektronik ile uğraşıyorum. Arduino projelerimi paylaştığım instagram sayfasına profilimden göz atabilirsiniz.

nest...

oksabron ne için kullanılır patates yardımı başvurusu adana yüzme ihtisas spor kulübü izmit doğantepe satılık arsa bir örümceğin kaç bacağı vardır