Kütüphaneleri Arduino IDE'ye takma ve bağlama. Arduino Kütüphaneleri: Bağlantı

İyi günler, değerli okuyucular ve portal trehboks kullanıcıları! Arduino programlamasında hangi kütüphanelere ve neden ihtiyaç duyduklarını sordunuz mu? Her durumda, bu soruların her ikisinin de cevapları bu makalede öğrenecektir.

Ne olduğunu?

Programlamadaki kütüphane, yazılım geliştirmek için kullanılan bir alt yordam ve nesneler koleksiyonudur.
Durumu Arduino diliyle göz önünde bulundurursak, bu, geliştirme ortamından ayrı olarak ayarlanmış ve herhangi bir modül veya sensörle etkileşime girmeyi sunan bir dizi kod öğesidir.

Daha fazla anlaşılabilir olması için, sürücü bir örnektir. Arduino servo'yu bağladın. Bununla etkileşime geçmek için, yerleşik kütüphaneyi bağlamanız gerekir. Servo.h.. Bu, komutun yardımıyla eskizinizin başında yapılır. servo.h dahil.
Kütüphane Servo.h.uygun servo yönetimi için bir dizi komut içerir.

Servo


Aşağıda açıklamalar ile örnek bir kod olacaktır.

#Dahil etmek. // #include komutu Kütüphaneyi Bağlar
Servo myservo; // myservo tipi servo adlı bir değişken bildir
vOID SETUP () // Standart Prosedür Kurulumu
{
Myservo.attach (10); // team.attach, bir servoyu 10 numaralı bağlantı noktasına bağlar (başka bir şey yapabilirsiniz)
}
boşluk döngüsü ()
{
Myservo.write (0); // takım .Write, servo milini istenen açı altında çevirir (0 ila 180 arasında)

Myservo.write (180); // şaftı 180 dereceye çevirin
Gecikme (2000); // 2 saniye duraklat
}

Bu koddan kendiniz için tahsis edilmeniz gerekenler:

  • Yardım ile // tek satır bir yorumu belirtir, çok hatlı bir yoruma ihtiyacınız varsa, / * ... * /.
  • Takımın yardımı ile #Dahil etmek. Herhangi bir kütüphaneyi bağlayabilirsiniz.
  • Takımlar .attach () ve .yazmak () Kütüphaneye bakın Servo.h.
  • Takım gecikme ()kütüphaneyi ifade etmiyor Servo.h,standart ekiplere aittir arduino Dili.
  • Herhangi bir komuttan önce, tür değişkeni adı yazılır. SERVO.
  • Bir değişken sadece bir servo için ifade eder.
Kütüphaneler çok fazla ve ihtiyacınız olan modülü bağlamayı denemeye başlarsanız, bunları İnternet üzerinden indirebilirsiniz. Bu arada, dil arduino programlama. Kablolama denir ve C ++ 'nın basitleştirilmiş bir sürümüdür.

Kütüphaneler nasıl kurulur?

Kütüphaneyi koddaki uygulamak için, yüklenmesi gerekir ve indirmek için gereklidir. Kütüphaneyi indirdiniz, daha fazla kurulum için asfaltlanmaması gereken bir arşiv şeklinde olacaktır. Daha sonra, Kütüphane klasörü Arduino / Libraries klasörüne aktarılmalıdır. Ayrıntılı kurulum Ekran görüntülerinde aşağıya bakabilirsiniz.




Başarılı bir kurulum durumunda, Arduino IDE'de, kurulu kütüphaneden çizimlerin örneklerini bulabilirsiniz.


Taze kurulu bir kütüphane kullanmadan önce Arduino IDE'nin yeniden yüklenmesi gereken önemlidir.

Kütüphanelerin Türleri

Arduino kütüphanesinin tüm kütüphaneleri birkaç türe ayrılabilir:
  • Standart (yerleşik) kütüphaneler Arduino IDE'ye inşa edilen kütüphanelerdir. Ayrı bir kuruluma ihtiyaçları yoktur ve Arduino IDE'yi yükledikten hemen sonra kullanım için kullanılabilir.
  • Ek kütüphaneler Arduino IDE'ye gömülü olmayan kütüphanelerdir. İnternette, örneğin Github'da bulunabilirler. Sensör üreticileri esas olarak bu kütüphanelerin gelişimi ile meşgul.
  • Bağımlı Kütüphaneler - Bu kütüphaneler ek ile ilgilidir. Bir başkası olmadan çalışamayan bir kütüphane bağımlı olarak adlandırılır.

Neden kütüphanelere ihtiyacın var?

Arduino programlama dilindeki kütüphaneler kodu basitleştirmek ve çeşitli modüllerle çalışmak için gereklidir. Aslında, kütüphaneden bir komutta, kütüphanenin yaratıcısı tarafından yazılan birkaç kod satırı vardır. Teorik olarak, çoğu modül kontrol edilebilir ve kütüphaneler olmadan, bunun için kroki yazmak çok zaman ve güç olacaktır. Ancak yine de, kütüphanelere yardım etmeden LCD ekranı zorlayabilirsiniz.

Bu nedenle, ekran yeni başlayanlar için karmaşık modüllerden biri olarak kabul edilir. Daha sonra ekranı kontrol etmek için eskiz örneğini düşünelim, çünkü iki kütüphane derhal dahil edilir.


I2C protokolü ile LCD ekran


Ancak, basit bir metin gösterimi olmadığını, ancak I2C protokolüyle olduğunu düşünüyoruz. I2C protokolü için küçük bir siyah ücrettir. arka taraf Ekran (ikinci fotoğraf). Bu pano, ilgili kütüphaneyle birlikte, kod dizelerini azaltmak ve bağlantı için kablo sayısını dörtten azaltmak için tasarlanmıştır.

#Dahil etmek. // I2C ile çalışmak için kütüphaneyi bağlayın
#Dahil etmek. // Bir metin ekranında çalışmak için bir kütüphane bağlayın.

Liquidcrystal_i2c LCD (0x27, 16, 2);
/ * Ekranın çalışması için, adresini bulmanız gerekir, ancak bu makalede düşünmeyeceğiz. 16 - Dize üzerindeki hücre sayısı. 4 - Satır sayısı. Ekrana bağlı olarak bu parametreler değiştirilebilir. * /

void kurulum ()

{
LCD.BEGIN (); // Ekranı açın
lcd.backlight (); // arka ışığı açma
LCD.Print ("Merhaba, Dünya!"); // metin çıkışı
}

boşluk döngüsü ()
{
// hiçbir şey yazmayın
}

Kütüphaneyle ilgili ekipleri zaten bulduğunuzdan eminim. Liflicrystal_i2c.h.o .Begin .backlight ve .Yazdır. Bu kroki kütüphanesinde Tel.h. İhtiyaç için doğru iş I2C protokolü.

Sonuç

Kütüphaneler programlamada çok gereklidir. Eskizlerin yazımını önemli ölçüde basitleştirmenize ve modüllerin kontrolünü daha uygun şekilde kolaylaştırmanıza izin verir. Bu makalede, kütüphanelerin ne olduğunu, bunların nasıl kurulacağını ve neden ihtiyaç duyulduğunu anladık. Ve ayrıca birkaç örnek gözden geçirildi. Bu kadar.

Bu belge Arduino için bir kütüphanenin oluşturulmasını açıklar. Açıklama, LED üzerinden kodun Morse Kodu İletiminin yazılmasıyla başlayacaktır. Ardından krokunun kütüphaneye nasıl dönüştürüleceği gösterilecektir. Bu, diğer kullanıcıların oluşturulan kodu kolayca kullanmalarını, güncellemesini ve tamamlamasına izin verecektir.

Skatch, Mors kodunu çoğaltma:

İnt pin \u003d 13; void setup () (Pinmode (PIN ÇIKIŞ);) geçersiz döngü () (nokta (); nokta (); nokta (); dilediğini (); dilediğini (); tire (); nokta (); nokta (); DGT (); gecikme (3000);) void nokta () (DigitalWrite (PIN, HIGH); gecikme (250); DigitalWrite (pin, Düşük); gecikme (250);) void çizgi () (DigitalWrite (PIN, YÜKSEK ); Gecikme (1000); digitalwrite (pim, düşük); gecikme (250);)

Bu test, çıkış 13'teki LED'i yanıp sönerek SOS sinyalini verir.

Scatch, kütüphaneye aktarılması gereken kodun bir kısmını içerir. İlk olarak, bunlar işlevlerdir. nokta () ve çizgi ()Yanıp sönen LED'i kontrol eder. İkincisi, bu bir değişkendir ledpin., hangi giriş / çıkış portunun kullanılacağını tanımlamak. Sonunda arama işlevi pinmode ()Kullanılan G / Ç bağlantı noktasında çıkış modunu ayarlayarak .

Krokunun kütüphaneye dönüştürme işlemi.

Kütüphane iki dosya içeriyor: Başlık Dosyası (Extension.h) ve Uygulama Dosyaları (Extension.cpp ile). Başlık dosyası kütüphane özelliklerini içerir, yani. Her şeyin listesi içinde bulunur. Oluşturulan başlık dosyası Morse.h olarak adlandırılacaktır. Daha fazla iş için, başlık dosyasıyla birlikte, uygulama dosyasının içeriğini görmelisiniz.

Başlık dosyası, fonksiyonların bildirildiği bir sınıf ve kullanılan değişkenler içerir:

Sınıf Mors (Pinlic: Mors (Int Pin); Void DOT (); Void Dash (); Özel: Int _Pin;);

Bu durumda sınıf, bu bir yerde gelen bir dizi işlev ve değişkendir. İşlevler ve değişkenler halka açık olabilir ( halka açık), bu demek genel erişim Onlara kütüphaneyi kullanan ya da özel ( Özel), bu, onlara sadece sınıfın içinde erişim anlamına gelir. Her sınıfa sahip Özel fonksiyon Bir sınıf örneği oluşturmak için kullanılan tasarımcı. Tasarımcı ayrıca sınıf olarak adına sahiptir, ancak dönüş değeri türüne sahip değildir.

Ayrıca, başlık dosyası birkaç tane daha içeriyor ek dize. İlk olarak, bu bir yönergedir #Dahil etmek.Standart tiplere ve kalıcı Arduino programlama diline erişim sağlayan (varsayılan direktif, her krokiye, ancak kütüphaneye dahil değildir). Direktifin aşağıdaki gibidir (ve sınıfın üstünde):

#include "wprogram.h"

Arduino 1.0 ve üzeri sürümlerinde, eklemeniz gerekir:

#İnclude Arduino.h.

Ayrıca, başlık dosyasının içeriğine aşağıdaki tasarıma girmek gelenekseldir:

#ifndef Morse_h #define Morse_h // #Include direktifleri ve kodu buraya yerleştirilir #endif

Bu, hataya göre birinin direktif kütüphanesini direktif tarafından bağlanırsa, kütüphanenin yeniden bağlanmasını önler. #Dahil etmek..

Kütüphane kodunun başında, kütüphaneye hedef, yazar, tarih ve lisansı hakkında yorum yapmak gelenekseldir.

Bitmiş başlık dosyası şunları içerir:

/ * Morse.h - Morse kodunu yanıp sönen kütüphane. David A. Mellis, 2 Kasım 2007. tarafından oluşturuldu. Kamu malı içine yayımlandı. * / #İfndef morse_h #define Morse_H #include "wprogram.h" sınıfı Morse (Kamu: Morse (int pin); void nokta (); void tire (); Gizli: int _pin); #Endif

Morse.cpp uygulama dosyasını düşünün.

Kodun başında birkaç direktif var #Dahil etmek.. Bu direktiflerin standart Arduino fonksiyonlarına ve kütüphane kafa dosyasındaki özelliklere erişmesine izin verilir:

#clude "wprogram.h" #include "morse.h"

Kodda daha fazla yapıcıdır. Oluşturulan sınıfın bir örneğini oluşturmak için kullanılır. Bu durumda, kullanıcı parametre aracılığıyla kullanılan G / Ç portunun numarasını belirtir. Bağlantı noktası çıkış moduna monte edilir ve sayı, diğer fonksiyonlarda kullanım için özel bir değişkene kaydedilir:

Morse :: Morse (PIN) (Pinmode (Pin, Çıkış); _PIN \u003d PIN;)

Kodu Morse.:: fonksiyonun Mors sınıfına ait olduğu anlamına gelir . Değişken adının başlangıcındaki düşük boşluk _ tOPLU İĞNE. - Özel değişkenler için kabul edilen atama. Genel olarak, adı herhangi biri olabilir, ancak özel değişkenler için benimsenen adlandırma kurallarına göre, önek "_" kullanılması adettir. Ayrıca işlevi argümandan ayırt etmenizi sağlar (bu durumda tOPLU İĞNE.).

Void Morse :: Nokta () (DigitalWrite (_PIN, YÜKSEK); Gecikme (250); DigitalWrite (_Pin, Düşük); Gecikme (250);) Void Morse :: Dash () (DigitalWrite (_Pin, Yüksek); Gecikme ( 1000); digitalwrite (_pin, düşük); gecikme (250);)

Genel olarak, uygulama dosyası kodunun başlangıcında bazı açıklayıcı yorumlar yerleştirmek için kabul edilir. Tam Kütüphane Kodu:

/ * Morse.cpp - Mors kodunu yanıp sönme için kütüphane. David A. Mellis, 2 Kasım 2007. tarafından oluşturuldu. Kamu malı içine yayımlandı. * / # Ekleme "wprogram.h" #include "Morse.h" Morse :: Morse (PIN) (Pinmode (Pim Çıktı); _pin \u003d pim;) geçersiz Morse :: Nokta () (DigitalWrite (_Pin, Yüksek) ; Gecikmesi (250); DigitalWrite (_Pin, Düşük); gecikme (250);) Void Morse :: çizgi () (DigitalWrite (_PIN, HIGH); gecikme (1000); DigitalWrite (_Pin, Düşük); gecikme (250) ;)

Kütüphaneyi kullanma.

İlk önce bir klasör oluşturmanız gerekir Morse. altüste Kütüphaneler. Directory Notepad. İkincisi, Morse.h ve Morse.cpp dosyalarını oluşturulan klasöre kopyalamanız gerekir. Arduino programını menüde çalıştırdıktan sonra Eskiz\u003e İthalatçımors kütüphanesi bulunacak. Kütüphane, kullanarak eskizlerle birlikte derlenecek. kütüphaneyi derlerken sorunlar ortaya çıkmıştır, o zaman onun dosyaları uzantılarıyla olup olmadığını kontrol etmek gerekir. CPP I.H (ek uzantıları i.txt .pde olmamalıdır).

Oluşturulan kütüphaneyi kullanarak yeniden yazılan ilk kroki, şöyle görünecektir:

#Dahil etmek. Mors Morse (13); void kurulumu () () void döngü () (morse.dot (); morse.dot (); morse.dot (); morse.dash (); morse.dash (); morse.dash (); morse.dot (); Morse.dot (); Morse.dot (); gecikme (3000);)

Orijinal krokiden birkaç farklılıklar:

İlk olarak, Direktif eklendi #Dahil etmek. Eskizin tepesine. Bu, Mors Kütüphanesinin kullanılabilirliğini ve bağlantısını tanımlar. Kullanılmayan kütüphane, yönergeyi kaldırarak kaldırılabilir #Dahil etmek.

İkincisi, Mors sınıfının bir örneği oluşturulur, morse.:

Mors Morse (13);

Bu satırı yürütürken (işlevi gerçekleştirmeden önce) kurulum ()) Tasarımcı Mors sınıfı için çağrılır ve Örnek olarak verilen argümanı kabul eder (13).

Bu fonksiyonda kurulum () hiçbir şey içermez, çünkü Pinmode () işlevinin aranması, kütüphanenin içinde meydana geldi (bir sınıf örneği oluşturulduğunda).

Üçüncüsü, işlevleri aramak için Nokta () ve çizgi ()Önek eklemek gereklidir morse.. - Kullanılan örneğin adı. Her biri yerel bir değişkende depolanan port numarasıyla Mors sınıfının birkaç örneği olabilir. _TOPLU İĞNE.. Belirli bir örnek işlevi için bir arama, arama sırasında hangi değişkenlerin kullanıldığı belirlenir. Aşağıdaki iki satır varsa:

Mors Morse (13); Mors mors2 (12);

mücadelenin içinde morse2.dot (), değişken _TOPLU İĞNE. 12 değerine sahip olacak.

Ne yazık ki, otomatik kod arka ışığı eklenti kitaplıklarıyla çalışmıyor. Arka ışığının kazanması için, denilen bir dosya oluşturmanız gerekir. Anahtar kelimeler.txt.. Misal:

Mors anahtar kelime1 nokta anahtar kelime2

Sekme boyunca her satırın karşısında, ayrılmış bir kelime değerindedir ve tekrar kelimenin sekmesinden geçer. Sınıflar ayrılmış kelime anahtar kelimesine karşılık gelir ve turuncu renkte boyanmış; Fonksiyonlar - Anahtar Kelime2 ve Brown'da boyanmış. Kelimeleri tanımak için Arduino geliştirme ortamını yeniden başlatmalısınız.

Oluşturulan kütüphane tercihen kullanımının bir örneğine eşlik eder. Bunu yapmak için, klasör oluşturulur. Örnekler. Dizinlerde Morse.. Daha sonra bu klasörde daha önce oluşturulan SOS SOS tarafından kopyalandı. (Eskiz dosyası menüden bulunabilir Eskiz\u003e ShowketchFolder.). Arduino'yu menüde yeniden başlattıktan sonra Dosya\u003e Sketchbook\u003e Örnekler Bir paragraf olacak Kütüphane-Mors, Bir örnek içeren. Ayrıca kütüphaneyi daha iyi kullanacağınızla ilgili yorumlar eklemelisiniz.

Birçok çizim (programlar) kütüphanelerle çalışır. Kütüphane, tanımlanmış bir modül veya modül türlerinden biri ile çalışmayı kolaylaştırır. Örneğin kütüphane bağlamadan LCD ekranda metni görüntülemek istiyorsanız, o zaman birden fazla satır kodu alacak komutların ve verilerin birkaç bayt, transfer gerekiyor ve en önemlisi, bilmeniz gereken LCD ekran çalışan mikrodenetleyicinin yazın onun bellek, adres ve kayıtları amacıyla mimarisini bilmek yönetildiğini komutların atama, kendisi için bulup onun Datasheet yeniden okumak gerekecektir. (Örneğin, LiquidCrystal_i2c.h için) kitaplığını kullanarak kod yazarken, sadece bir kütüphane işlevi görüntülenecek metni gösterebilir: lcd.print ( "MY TEXT");

Kütüphanenin yöntemlerini ve işlevlerini kullanmaya başlamadan önce, gereklidir. indirmek (Bilgisayarına indir), ayarlamak (İstediğiniz klasöre yerleştirin) ve prize takmaya (Metin ekle "#include<файл.h>"Skatch'de).

Kütüphane İndir:

Kütüphane derslerimizde, açıklamalarımızda veya örneklerimizde kullanılıyorsa, bu kütüphaneyi indirmek için bir bağlantı belirtiriz. Tüm kütüphanelerimiz zip arşivindeyiz, ancak arşivden dosyaları almak için acele etmeyin, gerekli olmayabilir, çünkü Arduino IDE'nin kendisi arşivleri açabilir ve kütüphaneleri istenen klasörlere yerleştirebilir (daha fazla bakınız).

Dosyayı kaydetme yolunu belirten bir yolunu belirtmeden kütüphane arşivini siteden indirdiyseniz, indirilen dosya klasöründe büyük olasılıkla: bu bilgisayar\u003e İndirilenler.

Kütüphane kurulumu:

Kütüphaneyi bilgisayarınıza indirdikten sonra (indirdikten sonra), yüklemeniz gerekir. Kütüphaneyi manuel olarak kurabilir veya Arduino IDE tarafından yapabilirsiniz:

Arduino IDE ile bir kütüphane kurmak:

Menüyü girin: Taslak > Bir kütüphane bağlayın > Ekle.zip kütüphanesi ... .


Görünen pencerede, simgeye tıklayın. Bu bilgisayar "Ve klasörü seçin" İndirilenler " İndirirken Zip arşivisitede, dosyayı kaydetme yolunu, ardından "İndirme" klasörü yerine, dosyanın yolunu belirtin.


Seç Sıkıştırılmış dosya. İndirdiğiniz kütüphane. Dosya adı, kütüphanenin adıyla eşleşmeyebilir. Ardından düğmeye tıklayın " Açık » ( Açık. ).


Bunda, kütüphanenin kurulumu tamamlandı, krokiye bağlanmaya devam edebilirsiniz.

Kütüphane kurulumu manuel olarak:

İndirilenleri sizin tarafınızdan açın Zip arşivi ve klasörü yerleştirin (klasör adı genellikle kütüphane adıyla çakışıyor) bu arşiv Klasörde: Bu bilgisayar > Belgeler > Arduino. > kütüphaneler. .


Arduino IDE kopyalama sırasında başlamıştır varsa, o zaman (açık) Arduino IDE çalıştırmak ve taslak haline kütüphane bağlayan başlayabilir, bu programın tüm pencereleri kapatmak için gereklidir.

Not: klasör kütüphaneler. sadece yukarıda belirtilen yolda değil, aynı zamanda arduino IDE program klasöründe (Arduino dosyası nerede? .exe). Kütüphaneyi bu klasöre kopyalamak da yüklenecektir, ancak bunu tavsiye etmiyoruz. Gerçek şu ki, Arduino IDE programının sürekli gelişiyor ve versiyonlarının sayısının sürekli büyüyor. Yüklemek istiyorsanız yeni sürüm Arduino IDE, kütüphaneler bu bilgisayarın klasörde\u003e Belgeler\u003e Arduino\u003e Kütüphaneler, ayrıca eski satışa sunulacak ve Arduino IDE yeni (yüklü) sürümü ve kütüphanelerde Kütüphaneler klasörde olacak Eski versiyonun Arduino IDE programları (daha önce kuruldu) sadece içinde kullanılabilir olacaktır (bunları yenisine kopyalayana kadar).

Kütüphane Bağlantısı:

Kütüphaneyi bağlamak için, krokunun başında sadece bir satır yazmanız gerekir: "#include<файл.h>", Örneğin:

#Dahil etmek. // Irduino_4LED kütüphanesini 4 bölümlenmiş LED göstergesiyle çalışmak için bağlama.

Bazı kütüphaneler, diğer kütüphanelerin yöntemlerini ve işlevlerini kullanarak çalışır, ardından ikinci, aynı yöntemleri ve işlevleri kullanan iki kütüphane bağlamanız gerekir, örneğin:

#Dahil etmek. // I2C #include otobüsle çalışmak için tel kitaplığının bağlanması // ile çalışmak için Liquidcrystal_i2c kütüphanesini bağlayın LCD ekran I2C otobüsü // liquidcrystal_i2c kütüphanesi, tel kitaplığının yöntem ve işlevlerini kullanır

Çoğu kütüphaneyle çalışmak için, işlevlerinin ve yöntemlerinin mevcut olacağı bir nesne (kütüphane sınıfının örneği) oluşturmanız gerekir, örneğin:

Liquidcrystal_i2c LCD (0x27,20,4); // lcd bu nesne kütüphanesi liquidcrystal_i2c // nesne ile kütüphanenin işlevlerine ve yöntemlerine hitap ediyor

LCD yerine, herhangi bir kelime veya harf ve rakamların kombinasyonunu yazabilirsiniz, yöntemlere ve kütüphane işlevlerine erişebileceğiniz nesnenin adıdır. yerine LCD'nin bir mylcd, o zaman tüm yöntem ve LiquidCrystal_i2c kütüphanesinin fonksiyonlarını yazdı varsa, örneğin, nesnenin nesne adı belirtilmedi başvurmanız gerekir: mylcd.print ( "My Metin");

Kütüphanelerden örnekler:

Çoğu kütüphane örnekleri içerir. Bunlar, kütüphane işlevselliğini ortaya çıkaran küçük eskizlerdir (programlar). Arduino IDE araçlarını kullanarak örnekleri görüntülemek için en uygun yolu. Menü öğesini seçin: Dosya > Örnek Örnekler olan kütüphane adları içeren bir liste görünecektir. Kütüphane adı üzerinden fare Ve bir örneğinin bir taslak ile yeni bir Arduino IDE penceresinin görünümünü yol açacaktır Örneğin tıklayın içerdiği örnekler listesini göreceksiniz.


Alternatif yol Örnekler görüntüleme, kroki dosyalarını klasörden başlatmaktır:
yol > kütüphaneler. > kütüphane adı > Örnekler. > İsim örneği .

Kütüphane Arama:

Kütüphaneler bağımsız olarak imzalanabilir, ancak Arduino IDE işlevselliğini kullanabilirsiniz.

Menü öğesini seçin: Taslak > Bir kütüphane bağlayın > Kütüphaneleri yönetin ... .


Açılıyor " Kütüphane Müdürü "İlgilendiğiniz kütüphaneyi bulabileceğiniz kütüphaneyi arama dizgisine girerek," Tip "ve" konu "öğelerini ek olarak yükleyebilirsiniz.


Kütüphane açıklamasına basılması, görünümünün ortaya çıkmasına neden olur. Sürüm "Ve düğmeler" Kurulum " "Kurulum" düğmesine tıklandıktan sonra, kütüphaneyi krokiye bağlamaya başlayabilirsiniz "#include<файл.h>".

Kütüphaneyi Arduino'ya kurmak ve bağlamak oldukça yaygın bir işlemdir, herhangi bir geliştirici daha erken veya daha sonra mutlaka yüzler. Tüm programlama dillerinde harici eklenti kodu zaman kazanmak için kullanılır. Arduino bir istisna değildir: Birçok sensör, modül, ekran ve motor, kodlarında uygulanması zor olan yeterince karmaşık etkileşim şemaları gerektirir. İstediğiniz kütüphaneyi indirmek için çok daha kolay ve daha hızlıdır, manuel olarak hızlı bir şekilde bağlayın veya Arduino IDE'yi kullanarak ve ardından tüm çizimlerinizde kullanın. Bu yazıda, kütüphaneleri bağlamak ve kullanmak için kısa talimatlar bulacaksınız.

Arduino'daki Kütüphane program kodu Yüklenebilecek harici dosyalarda ve krokunuza bağlanın. Kütüphane Mağazaları Çeşitli metodlar ve sensörler, göstergeler, modüller ve diğer bileşenlerle işlemi basitleştirmek için gereken veri yapıları. Kütüphanelerin kullanımı, projeler üzerindeki çalışmaları önemli ölçüde basitleştirir, çünkü programın temel mantığına, çok fazla önemsemeye zaman geçirmeden odaklanmak mümkündür. Günümüzde, kolayca indirilebilecekleri ve tamamen ücretsiz oldukları internette çok sayıda kütüphane ortaya çıktı. Web sitemizde bulunabilir.

Bakış açısından dosya sistemi Kütüphane belirli klasörleri içeren bir dizindir. Arduino IDE projesinin derlenmesi ve montajı sırasında, bu sınıfları, veri yapılarını ve taslağında kullanılan ve kullanılan kütüphanelerdeki yöntemleri içerir. Bu nedenle, yapmamız gereken tek şey, istenen kütüphanenin yüklü olduğunu hazırladıktan sonra, kodunuza uygun talimatları ayarlamaktır.

Arduino IDE'ye bağlı kütüphanelerin listesini nasıl öğrenebilirim?

Her kurulu kütüphane, çalışmak için bir veya daha fazla örnek içerir. Arduino'ya bağlı cihazın yeteneklerini görüntülemek için kullanılırlar. Bu nedenle, çoğu hızlı yol Arduino IDE'deki örnekler listesiyle belirlenen tüm Arduino kütüphanelerinin bir listesini alın. Bunu yapmak için, ana menüde bir dosya seçin ve ardından alt menü örneklerini açın.

Başka bir yol, Blatp Menüsü ve alt menüsünü kullanmaktır - kütüphaneyi bağlayın. Kütüphanelerin listesini de görebilirsiniz:

Bağlantı Operatörü #Bir Header H Dosyası

Kütüphaneyi kullanmaya başlamak için, Header H dosyasını Dahil Et Direktifine etkinleştirmeniz gerekir. Örneğin, Kütüphane Liquidcrystal.h'a bağlanma şöyle görünecek: #include

Kütüphanenin kendisini kullanarak tam bir örnek görebilirsiniz.

Kütüphanede gerekli dosyalar

Her kütüphane en az 2 dosya içermelidir - bu bir uzantılı bir başlık dosyasıdır. H ve kaynak dosyası uzantılı. CPP. Başlık dosyası, sınıfın, sabitlerin ve değişkenlerin bir açıklamasını içerir. İkinci dosya, yöntem kodlarını içerir. Ek olarak, iki temel dosyaya ek olarak bulunabilir. metin belgeleri KOMİVELER KULLANICI KODLARI KODLARI KODUNLARLA KOŞLUKLAR. H ve CPP dosyaları mutlaka kök içinde yatmaz

Dosyaları düzenleme Arduino IDE'de mümkün değildir, tüm değişiklikler herhangi bir şekilde gerçekleştirilebilir. metin düzelticiveya C ++ geliştirme ortamı. Bunun nedeni, Arduino IDE'de CPP dosyalarıyla çalışmıyoruz, kod editörü "saf" C'ye yönelik değil, yalnızca Arduino diliyle çalışır.

İstediğiniz kütüphaneyi nerede bulabilirim?

Gerekli kütüphane internet üzerinden indirilebilir. Çoğu kütüphane GitHub web sitesinde mevcuttur. Kütüphaneyi indirdikten sonra, eklemek önemlidir. sağ klasörBöylece derleyici onu bulabilir ve kroki indirebilir. Arduino IDE'yi yükledikten sonra tüm kodların kaydedildiği klasör oluşturulur. İçin işletim sistemi Linux klasörü, "Scetchbook" adına sahiptir ve / evde bulunur / Windows klasörü "Arduino" "Belgelerim" bölümünde bulunabilir.

Ek olarak yüklü olan tüm kütüphaneler "Kütüphaneler" klasöründe bulunur. Arduino'nun erken sürümleri için, klasörün bağımsız olarak oluşturulması gerekir ve 1.0.2 sürümüyle başlar, Arduino IDE otomatik olarak yüklendiğinde eklenir.

Kütüphane nasıl kurulur. Adım adım talimat

Kütüphane bir PC'ye yüklendikten sonra, başlatmanız gerekir. Kütüphaneyi Arduino IDE'yi ve manuel olarak kullanılarak iki şekilde yerleştirebilirsiniz.

Arduino IDE kullanarak bağlantı

Kütüphane bir zip arşivi biçiminde indirilir. Bu şekilde etkinleştirmek için arşivin açılması gerekmez. Yüklemek için, Kütüphane Menüsüne gitmeniz gerekir - Kütüphane - Ekle.zip kütüphanesini bağlayın.

Pencere açıldığında, "bilgisayar" bölümündeki "İndir" klasörünü seçmeniz gerekir. Kütüphaneyi yükledikten sonra başka bir yere kaydedilirse, belirtmeniz gerekir.

O zaman indirilen dosyayı seçmeniz ve "Aç" ı tıklayın.

Kütüphane kurulacak ve kullanılabilir. Dosya örneklerini kullanmaya başlamak için - örnekler, Arduino geliştirme ortamını yeniden başlatmanız gerekir.

Kütüphaneyi zip dosyasından manuel olarak takma

Kuruluma başlamadan önce, Arduino IDE'den çıkmanız gerekir. İndirilen ZIP dosyası kütüphaneye sahip asfaltsız olmalıdır. Sonuç olarak, kütüphane dosyalarının bir uzantıyla yerleştirileceği bir klasör alacağız. CPP I.H ve Kataloglar. Elde edilen klasörün kütüphanelere yerleştirilmesi gerekecektir.

Windows'ta, Kütüphaneler klasörü belgelerimdeki rotada - Arduino - kütüphanelerde bulunabilir. Linux'ta eskizli bir kütüphane klasörü olacaktır.

Sonunda, Arduino IDE'yi yeniden başlatmanız gerekir, indirilen kütüphane kapsayıcı aracılığıyla etkinleştirmek için kullanılabilir olacaktır - kütüphaneyi bağlayın.

Arduino kütüphanesini bağlarken hatalar

Kütüphaneyi takarken ve bunlarla mücadele etmenin yollarını takarken olası hataların listesi aşağıda listelenmiştir:

  • 'XXXX' bir tür adlandırmaz - Kütüphane henüz kurulmamışsa, klasör veya kütüphane yanlış adlandırılmışsa, klasörün yanlış adresi geri yüklenmez veya Arduino IDE geliştirme ortamı tarafından yeniden başlatılmamıştır.
  • Yanlış Klasör Konumu - Bu hata vurgulanırsa, kütüphanenin ortamı aramak için kullanılabilir bir klasörde olup olmadığını kontrol etmeniz gerekir.
  • Yanlış Kütüphane Adı - #inClude'den sonraki isim Kütüphane adıyla eşleşmiyorsa hata görünür.
  • Tamamlanmamış kütüphane - hepsi indirilmediyse görünebilir dosyalar ve klasörler.
  • Kütüphanenin bağımlılığı - bu tür kütüphane yalnızca ek ile çalışırken, başlangıçta bağlamanız gerekir.

Çok sık, kodun aynı kısımları programdaki programdan yakalanır. Örneğin, sensörle çalışmak için kod. Bu kodu tekrar tekrar yazmamak için, içinde gerçekleştirilir. ayrı dosyalar - Kütüphaneler. Çok sayıda bitmiş kod zaten diğer insanlar tarafından yazılmıştır ve kütüphaneler yardımıyla programlarında kolayca kullanılabilir.

Kütüphaneleri Bağlama

Arduino IDE'nin bir parçası olarak kütüphaneler

Arduino IDE'nin bir parçası olarak birçok kütüphane geliyor. Menüden Kodunuza Bir Kütüphane Ekleyin Taslak Kütüphaneleri İthalat ... Kütüphane adı :

"Servo" öğesini seçtikten sonra Arduino IDE'nin kendisi doğru çizgileri koda ekler:

#Dahil etmek. void kurulum () () () () // bir kez yürütülen kurulum kodu ) void döngü () () () ( // ana kod, kurulum kodundan sonra döngüsel olarak yürütülen }

Tabii ki, istediğiniz kütüphanenin adını biliyorsanız, #include krokunun en üstüne yazabilirsiniz. - Sonuç aynı olacak.

Arduino IDE'de bir kütüphane ile çalışmanın bir örneğini görmek için menüyü seçmek için Dosya örnekleri Kütüphane adı İsim örneği

Üçüncü taraf kütüphanesi

Arduino için Kütüphaneler gerçekten çok. Ve bunlardan sadece hafif birinin Arduino IDE'nin bir parçası. GitHub web sitesinde birçok kütüphane bulunabilir.

Dört basamaklı bir gösterge ile çalışmak için projenize bir kitaplık eklemeye çalışalım. Kütüphaneye bağlantı, onunla çalışmak için ürün açıklaması sayfasında. Kütüphane sayfasına giderseniz, birçok kütüphane dosyasını ve bununla çalışma örneklerini görebilirsiniz. Ama biz sadece düğmeye ilgi duyacağız ZIP indirin. :
Üzerine tıkladıktan sonra, tüm kütüphane dosyalarıyla indirme .zip-arşivi başlatılır. Bu durumda, Quaddisplay-master.zip dosyası olacaktır. Kütüphane adı yalnızca latin harflerden ve sayılardan oluşabilir, isim numaralarla başlayamaz, bu yüzden de arşivimizi hemen yeniden adlandıralım. Şimdi o quaddisplay.zip olarak adlandırılacak.

Arşivi indirdikten sonra, Arduino IDE'ye gitmeniz ve kütüphane ithalatını kendinize gerçekleştirmeniz gerekir. Çalışma klasörü Tüm üçüncü taraf kütüphanelerinin olması gerektiği kroki kitabı / kütüphaneleri. Menüde doğrudan Arduino IDE'den yapılabilir Taslak Kütüphaneleri İthalat ... Kütüphane Ekle ...:
Quaddisplay.zip arşivimizi seçmek istediğiniz bir iletişim kutusu açılır ve düğmesine tıklayın. Açık. . Hazır. Şimdi kütüphaneler koda eklenebilir. Kütüphaneyle çalışma örnekleri menüde mevcuttur. Sketchbook kütüphaneleri dosyası Kütüphane adı İsim örneği

Arduino 1.6.7 ve üstünde: Dosya örnekleri Kütüphane adı İsim örneği

Kütüphane Oluşturma

Genellikle, bir kütüphane oluştururken, iki dosya oluşturulur: başlık dosyası ve kütüphane koduyla dosya. Dairenin alanını hesaplamamıza izin veren bir kütüphane yazalım. % Sketchbook% \\ Arduino \\ Libraries dizininde kütüphanemizin adına sahip bir klasör oluşturun (ad, yalnızca Latin harfleri ve sayılardan oluşabilir ve numaralarla başlayamaz). CirCleArea Kütüphanemizi arayalım. Şimdi bize% sketchbook% \\ Arduino \\ Libraries \\ CirCleAlea klasörüne dönelim ve orada iki dosya oluşturun:

    circleArea.h - başlık dosyası

    cirCleArea.CPP bir kütüphane kod dosyasıdır.

CircleArea.h kodu:

Circlearea.h. #Dahil etmek. #Define pi 3.14 // İki ondalık belirtileri - yeterli doğruluk. // Her şeyin durduğu kütüphane işlevimizi ilan ediyoruz Float circlearea (şamandıra yarıçapı);

CirCleArea.CPP kodu böyle olacak:

circleArea.cpp. #Dahil etmek. // kullanışlı gel, sayısal türleri kullanacağız #Dahil etmek. // pow () işlevi buradan aldık #Dahil etmek. // Başlık dosyası PI ve reklam işlevidir // Her şeyin durduğu kütüphane işlevimizi uyguluyoruz Şamandıra circlearea (return pi * Pow (yarıçap, 2);)

Çizimdeki kütüphaneyi kullanmak böyle olacak:

CircleArea.ino #include. void kurulum () () () () // Kurulum kodunuzu buraya bir kez çalıştırın: Serial.Begin (9600); ) void döngü () () () ( // Ana kodunuzu buraya, tekrar tekrar çalıştırın: için (int i \u003d 1; ben< 5 ; ++ i ) { Serial.print ("circle area with radius " ) ; Serial.print (i) ; Serial.print (" = " ) ; Serial.println (circleArea(i) ) ; } }
Konuya devam ediyor:
işletim sistemi

HTTPS'nin gerekli olduğu ve sertifika için "Hizmete Bir Bağlantı Ekle" ile kayıtlı olduğum bir web servisim var. Aşağıda bir örnek oluşturma kodum ...