Arduino ve uyumlu programlama dilleri. Arduino programlama dili Arduino programlama arduino

Tarihsel olarak, Arduino yazılım bölümü entegre bir yazılım ortamı(IDE), yazmanıza, derlemenize ve ayrıca yazılı kodu donanıma yüklemenize olanak tanır. ArduinoIDE ortamı ve Wiring dilinin kendisi, öncelikle İşleme'ye, dolaylı olarak da C / C ++'a dayanmaktadır. Aslında, Arduino IDE eğlence için değil, rahatlık için büyük bir hodgepodge'dur.

Hatta dıştan vearduinoIDE veİşleme benzer


Program (eskiz) nelerden oluşur?
Her program, ne kadar karmaşık görünürse görünsün, ayrı setlerden oluşur. bloklar kaşlı ayraçlarla () gösterilen kod. Minimal program yalnızca 2 blok gerektirir: kurulum ve döngü. Arduino için herhangi bir C ++ programında bunların varlığı zorunludur, aksi takdirde derleme aşamasında bir hata alabilirsiniz.
geçersiz kurulum() ( ) geçersiz döngü() ( )
setup() işlevinde, başlangıç ​​ayarları değişkenler, kayıtlar. setup() tamamlandıktan sonra kontrol, gövdede ( ( ) arasında) yazılan sonsuz bir döngü olan loop() işlevine geçer. Denetleyicinin tüm algoritmik eylemlerini gerçekleştiren bu komutlardır.

Donanım "Merhaba, dünya!" - yanıp sönen LED.
Arduino ile yazılım ve donanımın birleştiği noktada başlayan ilk tanışma LED'in yanıp sönmesidir.


Öncelikle minimum programı tamamlamanız gerekir. Arduino için (örneğin, UNO), pin 12'ye ve GND'ye bir LED bağlarız (LED'in rengi kişisel tercihlerden seçilir).

geçersiz kurulum() ( pinMode(12, OUTPUT); ) geçersiz döngü() ( digitalWrite(12, YÜKSEK); gecikme(100); digitalWrite(12, DÜŞÜK); gecikme(900); )
Ctrl+C -> Ctrl+V yapın, derleyin, yükleyin, yönetin. Bir saniyeden fazla sürmeyen bir ışık gösterisi görüyoruz. Bunun neden olduğunu bulalım.

Daha önce boş olan bloklara birkaç tane ekledik. ifade . Kurulum ve döngü fonksiyonlarının kaşlı ayraçları arasına yerleştirildiler.
Her ifade, işlemci için bir talimattır. Bir blok içindeki ifadeler, kesinlikle herhangi bir duraklama ve geçiş olmaksızın sırayla yürütülür. Yani, belirli bir kod bloğundan bahsediyorsak, ne yapıldığını anlamak için yukarıdan aşağıya okunabilir.

arasında ne olur{ } ?
Bildiğiniz üzere Arduino pinleri hem giriş hem de çıkış olarak çalışabilmektedir. Bir şeyi kontrol etmek istediğimizde kontrol pinini çıkış durumuna getirmemiz gerekir. Bu, fonksiyondaki bir ifade ile yapılır. kurmak :
pinMode(12, ÇIKIŞ); Bu durumda ifade işlev çağrısı . PinMode'da, sayı ile belirtilen pin, belirtilen moda (GİRİŞ veya ÇIKIŞ) ayarlanır. Hangi pinin ve hangi modun söz konusu olduğu parantez içinde virgülle ayrılmış olarak belirtilir. Bizim durumumuzda 12. pinin çıkış olarak çalışmasını istiyoruz. OUTPUT çıktı anlamına gelir, INPUT ise girdi anlamına gelir. 12 ve OUTPUT gibi niteleyici değerler denir işlev bağımsız değişkenleri . Bir fonksiyonun kaç tane argümanı olacağı, fonksiyonun özüne ve yaratıcısının iradesine bağlıdır. Kurulum ve döngüde olduğu gibi, işlevler hiç argümansız olabilir.

Ardından, sırayla döngü bloğuna gidin:
- çağrı yerleşik işlevi digitalWrite. Belirli bir pime mantıksal bir sıfır (DÜŞÜK, 0 volt) veya mantıksal bir (YÜKSEK, 5 volt) sağlamak üzere tasarlanmıştır. digitalWrite işlevine 2 argüman iletilir: pin numarası ve bir mantıksal değer.
-gecikme işlevini çağırın. Bu, yine, işlemcinin bir süre "uykuya" geçmesine neden olan yerleşik bir işlevdir. kesin zaman. Sadece bir bağımsız değişken alır: uyumak için milisaniye cinsinden geçen süre. Bizim durumumuzda bu 100 ms'dir. 100 ms biter bitmez işlemci uyanır ve hemen bir sonraki ifadeye geçer.
- yerleşik digitalWrite işlevinin çağrılması. Ancak bu sefer ikinci argüman DÜŞÜK. Yani 12. pine mantıksal sıfır atıyoruz -> 0 volt uyguluyoruz -> LED'i söndürüyoruz.
- gecikme işlevinin çağrılması. Bu sefer biraz daha uzun "uyuyoruz" - 900 ms.

Son işlev yürütülür yürütülmez, döngü bloğu sona erer ve her şey tekrar tekrar olur. Aslında, örnekte sunulan koşullar oldukça değişkendir ve gecikme değerleri ile oynayabilir, birkaç LED bağlayabilir ve trafik ışığı veya polis flaşörü gibi görünmesini sağlayabilirsiniz (hepsi yaratıcısının hayal gücüne ve iradesine bağlıdır) ).

Bir sonuç yerine, temizlik hakkında biraz.
Aslında tüm boşluklar, satır sonları, sekme karakterleri yoktur. büyük önem derleyici için. Bir boşluk olduğu yerde, bir satır sonu olabilir ve bunun tersi de geçerlidir. Aslında art arda 10 boşluk, 2 satır sonu ve 5 boşluk daha hepsi bir boşluğa eşdeğerdir.


Boş alanın yardımıyla programı anlaşılır ve görsel hale getirebilir veya tam tersine tanınmayacak şekilde bozabilirsiniz. Örneğin örnek olarak verilen program aşağıdaki gibi değiştirilebilir:

geçersiz kurulum() ( pinMode(12, OUTPUT); ) geçersiz döngü () ( digitalWrite(12,HIGH); gecikme(100) ; digitalWrite(12,LOW); gecikme(900); )

Okurken birinin gözünden kanamayı önlemek için birkaç basit kurala uyabilirsiniz:


1. Her zaman, arasında yeni bir bloğun başlangıcında( Ve ) girintiyi artırın. Genellikle 2 veya 4 boşluk kullanılır. Değerlerden birini seçin ve ona bağlı kalın.

Geçersiz döngü() ( digitalWrite(12, YÜKSEK); gecikme(100); digitalWrite(12, DÜŞÜK); gecikme(900); )
2. Normal dilde olduğu gibi: virgüllerden sonra bir boşluk koyun.

digitalWrite(12, YÜKSEK);
3. Bir blok başlangıcı karakteri yerleştirin ( Yeni hat geçerli girinti düzeyinde veya bir öncekinin sonunda. Ve blok sonu karakteri ) geçerli girinti düzeyinde ayrı bir satırda:

geçersiz kurulum() ( pinMode(12, OUTPUT); ) geçersiz kurulum() ( pinMode(12, OUTPUT); )
4. Anlamsal blokları ayırmak için boş satırlar kullanın:

geçersiz döngü() ( digitalWrite(12, YÜKSEK); gecikme(100); digitalWrite(12, DÜŞÜK); gecikme(900); digitalWrite(12, YÜKSEK); gecikme(100); digitalWrite(12, DÜŞÜK); gecikme( 900); )
5. Beyin çocuğunuzun okumasının keyifli olması için sözde yorumlar var. Bunlar, program kodundaki derleyici tarafından tamamen yok sayılan ve yalnızca onu okuyan kişi için önemli olan yapılardır. Yorumlar çok satırlı veya tek satırlı olabilir:

/* bu çok satırlı bir yorum */ // bu tek satır

Arduino'nun temel unsurları ile tanıştıktan ve “Merhaba Dünya!” Programını yazdıktan sonra. programlama diline alışmanın zamanı geldi.

Dilin yapısı öncelikle C/C++'a dayanmaktadır, bu nedenle daha önce bu dilde programlama yapmış olanlar Arduino programlamada ustalaşmakta zorlanmayacaktır. Geri kalanı, kontrol komutları, veri türleri ve işlevleri hakkında temel bilgileri öğrenmelidir.

Burada yer alan bilgilerin çoğu, veri türlerindeki farklılıklara ve G/Ç bağlantı noktalarının programlanmasına ilişkin birkaç özel yönergeye tabi olarak herhangi bir C/C++ kursuyla uyumlu olacaktır.

Temel bilgilerin temelleri

Birkaç resmi şey, yani herkesin bildiği ama bazen unuttuğu şeyler...

Arduino IDE'de, C/C++'da olduğu gibi, karakter durumunun farkında olmanız gerekir. if, for gibi anahtar sözcükler her zaman küçük harfle yazılır. Her talimat ";" ile biter. Noktalı virgül, derleyiciye hangi bölümün bir ifade olarak yorumlanacağını söyler.

Parantezler (..) program bloklarını belirtmek için kullanılır. Bunları bir işlevin gövdesini (aşağıya bakın), döngüleri ve koşullu ifadeleri sınırlamak için kullanırız.

Program içeriğine yorum eklemek iyi bir uygulamadır, bu kodun anlaşılmasını kolaylaştırır. ile başlayan tek satırlık yorumlar // (çift eğik çizgi). İle başlayan çok satırlı yorumlar /* ve ile bitirmek */

Herhangi bir kütüphaneyi programımıza dahil etmek istiyorsak include komutunu kullanırız. İşte bağlantı kitaplıklarına örnekler:

#katmak // standart kitaplık #include "svoya_biblioteka.h" // proje dizinindeki kitaplık

Arduino'daki Fonksiyonlar

Bir işlev (alt program), bir programın bazı işlemleri gerçekleştiren ayrı bir parçasıdır. İşlevler, ana programı basitleştirmek ve kod okunabilirliğini artırmak için kullanılır. Fonksiyonları bir çok projemizde rahatlıkla kullanabileceğimiz için kullanmakta fayda var.

Standart programlama kursu, aşağıdaki makalelerde sunacağımız işlevler hakkında bilgiler içerir. Arduino söz konusu olduğunda, işlevler başlangıçta tartışılacaktır, çünkü en basit program iki özel işlevi olmalıdır. Bundan önceki makalelerde zaten bahsedilmişti, ancak burada bu bilgileri sistematik hale getiriyoruz.

işlev bildirimi

İşlev bildirim şeması şöyle görünür:

işlev_adı(parametre) yazın ( // yürütülecek komutlar (işlev gövdesi) return (/* dönüş değeri*/); )

tip verilen programlama dilinde mevcut herhangi bir veri tipinin adıdır. Arduino programlanırken kullanılabilen türlerin listesi ayrı bir makalede verilecektir.

Yürütmeden sonra işlev, bildirilen türün değerini döndürür. İşlev herhangi bir dönüş değeri kabul etmezse, veri türü "void" olacaktır.

fonksiyon adı benzersiz bir şekilde tanımlanmasını sağlar. Bir işlevi çağırmak (çalıştırmak) için ona bir ad veririz.

parametre— işlev çağrısı parametresi. Parametreler isteğe bağlıdır, ancak genellikle kullanışlıdır. Argümanı olmayan bir fonksiyon yazarsak parantezleri boş bırakırız.

Köşeli parantezlerin içinde "(...)", yürütmek istediğimiz işlev veya talimatın gerçek gövdesini içerir. Belirli talimatların açıklaması ayrı bir makalede belirtilecektir.

Bir değer döndüren tüm işlevler, bir dönüş ifadesiyle ve ardından dönüş değeriyle sona erer. Yalnızca bir null işaretçisi ("void") ile bildirilen işlevler bir dönüş ifadesi içermez. Geri dönüş ifadesinin, konumdan bağımsız olarak işlevin yürütülmesini sonlandırdığını bilmeniz gerekir.

Aşağıda işlev bildirimlerinin bazı örnekleri verilmiştir.

Void f1() ( //işlev gövdesi) —————————————— int minus() ( //işlev gövdesi dönüş (0); ) ——————————— ——— int artı(int a, int b) ( dönüş (a+b); )

Örneklerden de görebileceğiniz gibi, bir fonksiyon bildirimi ihtiyaçlarınıza bağlı olarak birçok şekilde olabilir.

Kendi programlarınızı yazarken fonksiyonları öğrenmenizi ve kullanmanızı şiddetle tavsiye ederiz. Zamanla, her programcının "tüm durumlar için" kendi işlev kitaplığı vardır, bu da yeni programlar yazmayı daha kolay ve daha hızlı hale getirir.

Artık kendi fonksiyonumuzu nasıl yazacağımızı bildiğimize göre, onu nasıl kullanacağımızı öğrenmemiz gerekiyor.

İşlev çağrısı

Tüm fonksiyonları tek bir dosyaya/programa yazıyoruz. Elbette daha zarif bir çözüm var ama bir dahaki sefere onu tarif etmeye çalışacağız.

Bir işlevi bildirerek, onu diğer işlevlerde uygun adla ve gerekli parametrelerle kullanabiliriz. Yukarıda verdiğimiz fonksiyonların çağrılmasına ilişkin örnekler aşağıdadır:

F1(); artı(2,2); y=artı(1.5);

Örneklerde görebileceğiniz gibi, bir işlevi çağırmak, adını ve gerekli parametre sayısını belirterek yapılır. Bir işlevi her zaman bildirimine göre çağırmak önemlidir.

f1() işlevi parametreler olmadan bildirilirse, çağrılırken hiçbir parametre belirtilemez, örn. f1(0) işlevinin çağrılması yanlış olacaktır.

plus(int a, int b) işlevi tam olarak iki parametre gerektirir, bu nedenle bir veya üç parametre ile çağırmak mümkün değildir.

y=plus(1,5) çağrısı, "artı" işlevini "1" ve "5" parametreleriyle çalıştıracak ve dönüş değerini "y" değişkeninde saklayacaktır.

setup() ve loop() işlevleri.

Fonksiyonları bildirme ve çağırma hakkında bilgi sahibi olduktan sonra, Arduino sistem fonksiyonlarına geçebiliriz: kurmak() Ve döngü(). Arduino IDE'nin bu iki işlevi bildirmesi gerekir.

setup(), güç açıldığında veya RESET düğmesine basıldığında otomatik olarak çağrılan bir işlevdir.

Adına göre, yüklemek için kullanılır başlangıç ​​değerleri genellikle ilk parametrelerde belirtilen sistemin giriş ve çıkışlarının değişkenleri, beyanları. Spesifikliği nedeniyle, bu işlev bir değer döndürmez ve parametrelerle çağrılmaz. setup() işlevinin doğru bildirimi aşağıda verilmiştir:

Geçersiz kurulum () ( // işlev gövdesi - sistem başlatma)

loop (), sonsuz bir döngüde çağrılan bir işlevdir. Bu işlev ayrıca bir değer döndürmez ve parametrelerle çağrılmaz. Aşağıdaki loop() işlevinin doğru bildirimidir:

Boşluk döngüsü () ( // işlev gövdesi - program kodu)

Gördüğünüz gibi, loop() işlevinin bildirimi, setup() işlevinin bildirimiyle aynıdır. Fark, bu işlevlerin mikrodenetleyici tarafından performansında yatmaktadır.

Şimdi aşağıdaki sözde kodu analiz edeceğiz:

geçersiz kurulum () ( on_led1 (); // led1'i aç off_led1 (); // led1'i kapat) geçersiz döngü () ( on_led2 (); // led2'yi aç off_led2 (); // led2'yi kapat)

setup() fonksiyonunda iki talimat vardır, ilki karta bağlı led1'i açar (örneğin pin 13), ikincisi led1'i kapatır.

Loop() fonksiyonu, karta bağlı led2'yi (örn. pin 12) açmak ve kapatmak için aynı talimatlara sahiptir.

Programın çalıştırılması sonucunda led1 bir kez yanıp sönecek, led2 ise Arduino açık olduğu sürece yanıp sönecektir.

RESET butonuna basılması led1'in tekrar yanıp sönmesine ve led2'nin tekrar yanıp sönmeye başlamasına neden olacaktır.

Özetle:

  • setup() ve loop() işlevleri, sistem fonksiyonları, her projede tanımlanması gerekir. Bunlardan birine kod yazmadığımız bir durumda bile yine de bu iki fonksiyonu deklare etmemiz gerekiyor;
  • setup() işlevi bir kez çalışır, loop() sürekli çalışır;
  • Kendi fonksiyonlarımızı tek bir dosyada oluşturuyoruz;
  • Fonksiyonlarımızı hem setup() hem de loop()'tan ve diğer fonksiyonlardan çağırabiliriz;
  • Kendi fonksiyonlarımız parametrelerle çağrılabilir ve bir değer döndürebilir;
  • Bildirimine uygun olarak bir işlev çağrısı yapılmalıdır.

Arduino Programlama Dili Komutları

Parametre adı Anlam
Makale konusu: Arduino Programlama Dili Komutları
Değerlendirme listesi (tematik kategori) Programlama

Arduino programlama dili C diline dayanmaktadır. Bu dilin komutlarını görmek istiyorsanız programlama ortamında menu komutunu çalıştırın. Yardım / İçindekiler. Komutlar üç sütun halinde gruplandırılmıştır:

· yapı: program yapısını yazmak için komutlar - döngüler, dallar, sözdizimi, aritmetik ve mantıksal operatörler, karşılaştırma operatörleri ve bit manipülasyonu

· Değişkenler: çeşitli değişkenler. C'de kullanılanlara benzer şekilde, yalnızca birkaçı Arduino'ya özgüdür:

Ö YÜKSEK- Arduino pininde yüksek seviye, mantık 1, +5 Volt

Ö DÜŞÜK- Arduino pininde düşük seviye, mantık 0.0 volt

Ö GİRİŞ- bir Arduino kontağını giriş olarak atama (harici cihazlardan bilgi alma)

Ö ÇIKTI- bir Arduino kontağını çıkış olarak atama (harici cihazlara bilgi aktarma, güç ünitelerini kontrol etme)

· Fonksiyonlar: Arduino ile çalışırken kullanılan fonksiyonlar sonraki derslerde detaylı olarak ele alınacaktır.

Not 1: yapı ve değişkenler C programlama dilinde kullanılanlara benzer, yani biliyorsanız verilen dil- kolayca Arduino programlamada ustalaşın ve tam tersi, Arduino programlama dilinde uzmanlaşmak, C dilinde ve benzerlerinde uzmanlaşmanıza yardımcı olacaktır.

Not 2: ortama ekli yönergelerdeki komutların açıklamaları şu adreste verilmiştir: ingilizce dili, bu sorunlu olabilir. Açıklamaların Rusçaya çevirisi Arduino.ru web sitesinde mevcuttur.

Not 3: programdaki bir komutun açıklaması, bu komutu seçip çalıştırarak elde edilebilir. Yardım / Yardımda Bul.

Arduino Programlama Dili Söz Dizimi

C dilinde kullanılana benzer:

· ; - noktalı virgül. Bir satırın sonunu gösterir. Kullanım örneği:

int led = 13;

devamsızlık durumunda; programı yüklemeye çalıştığınızda olması gereken yerde Arduino programı yüklenmeyecek ve pencerenin altında bir hata verecek

· { } - yuvarlak parantezler. Bir açılış ayracı bir bloğun başlangıcıdır, bir kapanış ayracı bir bloğun sonudur

geçersiz kurulum() {

pinMode(led, ÇIKIŞ);

· // – yorumlar. Bu karakterlerden sonraki satırda yazılanları kontrolör algılamaz, bunlar programcı için notlardır.

gecikme(1000); // bir saniye bekleyin (1000 milisaniye)

· #katmak<назавние библиотеки.h> - kitaplığın bağlantısı - örneğin LCD göstergesini kontrol etmek için bir dizi program:

#katmak

Not: sonra noktalı virgül # dahil etmek gerekli değildir.

Arduino programlama dili komutları - kavram ve türleri. "Arduino programlama dili komutları" kategorisinin sınıflandırılması ve özellikleri 2017, 2018.

Arduino programlama dili, programlama dünyasında yaygın olarak kullanılan C/C++ diline dayanmaktadır.

Arduino'nun hedef kitlesi, robotik ve basit otomasyon sistemleri alanında profesyonel olmayan kullanıcılardır. Ana ürün, çok çeşitli görevleri yerine getirebilecek çeşitli cihazlar oluşturmanın mümkün olduğu bir dizi panodur.

Örnek olarak, bu şirket tarafından üretilen bir dizi tahtadan evcil hayvanlarınız için otomatik bir yemlik monte edebilirsiniz. Ve bu en basit örneklerden sadece biri. Olası uygulamalarının kapsamı yalnızca kullanıcıların hayal gücü ile sınırlıdır.

Hariç baskılı devre kartı, Arduino markası altında üretilen, programcılar çevresinde yaygın olarak bilinen dile dayanan kendi Arduino programlama dillerine sahiptirler. C/C++. Ne olduğuna daha yakından bakalım.

Arduino programlama dilinin öğrenilmesi oldukça kolaydır, çünkü ana hedef kitle kullanımları amatördür. Ancak, en çok biri olarak kabul edilir. en iyi diller Mikrodenetleyicileri programlamak için.

Noktalı virgül;

Arduino programlama dilinde yazılan her ifadeyi noktalı virgül izlemelidir. Örneğin:

int LEDpin = 9;

Bu ifadede bir değişkene değer atıyoruz ve sonuna noktalı virgül koyuyoruz. Bu, derleyiciye bir kod parçasını bitirdiğinizi ve bir sonraki parçaya geçtiğinizi söyler. Arduino kodundaki noktalı virgül, bir tam ifadeyi diğerinden ayırır.

Tek satırlık yorumlar için çift ters eğik çizgi //

// Çift eğik çizgiden sonraki herhangi bir şey gri olacak ve program tarafından okunmayacaktır.

Yorumlar, kodunuzu yorumlamak için kullandığınız şeydir. İyi kod iyi yorumlanmıştır. Yorumlar, size ve kodunuza rastlayabilecek herkese, onu yazarken ne düşündüğünüzü söylemek için vardır. İyi bir yorum şöyle bir şey olurdu:

// LED'i bu Arduino pinine bağlayın int LEDpin = 9;

Şimdi 3 ay sonra bile bu programa baktığımda LED'in nereye bağlandığını biliyorum.

Derleyici yorumları görmezden gelir, böylece ne istersen yazabilirsin. Bir yorum için çok fazla metne ihtiyacınız varsa, aşağıda gösterilen çok satırlı yorumu kullanabilirsiniz:

/* Çok satırlı bir yorum tek bir ters eğik çizgi ve ardından bir yıldız işaretiyle açılır. Bundan sonraki herhangi bir şey, önce bir yıldız işareti ve ardından bir ters eğik çizgi kullanarak yorumu kapatana kadar derleyici tarafından grileştirilir ve yoksayılır */

Yorumlar, kod dipnotlarına benzer, ancak kitaplarda sayfaların altında bulunanlardan daha yaygındır.

Kıvrımlı parantez ( )

Kıvrımlı parantezler, bir işlevin yürüttüğü yönergeleri eklemek için kullanılır (işlevleri daha sonra ele alacağız). Her zaman bir açık kaşlı ayraç ve bir kapanış kaşlı ayraç vardır. Kaşlı ayracı kapatmayı unutursanız, derleyici bir hata kodu yazdırır.

Void loop() ( //bu kaşlı ayraç açılır //program burada harika )//bu kaşlı ayraç kapanır

Unutmayın - hiçbir süslü parantez kapatılamaz!

işlevler ()

Şimdi fonksiyonlar hakkında konuşma zamanı. İşlevler, çok sık kullanılan ve belirli bir biçimde kapsüllenmiş kod parçalarıdır. anahtar kelimeler böylece onları daha kolay kullanabilirsiniz. Örneğin, bir köpeği yıkamanız gerekmesi durumunda aşağıdaki talimat dizisi bir işlev olabilir:

  1. bir kova al
  2. su ile doldurun
  3. sabun ekle
  4. bir köpek bul
  5. köpeği köpürt
  6. köpeği yıka
  7. köpeği durulayın
  8. kuru köpek
  9. kovayı bir kenara bırak

Bu basit talimatlar dizisi, WashDog olarak adlandırabileceğimiz bir işlev içinde özetlenebilir. Tüm bu talimatları her yürütmek istediğimizde, sadece WashDog yazıyoruz ve işte - tüm talimatlar yürütülüyor.

Arduino, . Bunları girdiğinizde, işlev adı turuncu olacaktır. Örneğin, pinMode() işlevi, Arduino'nun pin modunu belirtmek için kullanılan genel bir işlevdir.

PinMode işlevinden sonraki parantezler ne olacak? Birçok işlev bağımsız değişken gerektirir. Bağımsız değişken, işlevin çalıştığında kullandığı bilgidir. WashDog işlevimiz için bağımsız değişkenler, köpeğin adı ve sabun türü ile kovanın sıcaklığı ve boyutu olabilir.

PinMode(13, ÇIKIŞ); //Arduino pin modunu ayarlar

Argüman 13, pim 13'ü ifade eder ve ÇIKIŞ, pimin çalışmasını istediğiniz moddur. Bu argümanları girdiğiniz terminolojide buna data pass denir, gerekli bilgileri fonksiyonlara iletirsiniz. Tüm işlevler bağımsız değişken gerektirmez, ancak açılış ve kapanış parantezleri boş olsa da kalır.

milis(); //Arduino'nun başlaması için gereken süreyi milisaniye cinsinden alın

OUTPUT kelimesinin genellikle mavi olduğuna dikkat edin. Arduino programlama dilinde sıkça kullanılan belirli anahtar kelimeler vardır ve mavi renk bunların tanımlanmasına yardımcı olur. Arduino IDE bunları otomatik olarak maviye çevirir.

geçersiz kurulum()

Setup() fonksiyonu, adından da anlaşılacağı gibi, Arduino kartını kurmak için kullanılır. Arduino, kurulumdan () sonra kaşlı ayraçlar arasındaki tüm kodu yalnızca bir kez yürütür. setup() içinde meydana gelen tipik şeyler, örneğin, iletişim modunun ayarlanmasıdır:

Void setup() ( // kaşlı ayraçlar arasındaki kod yalnızca bir kez yürütülür )

setup() işlevinden önce void'in ne anlama geldiğini merak ediyor olabilirsiniz. Void, işlevin hiçbir bilgi döndürmediği anlamına gelir.

Bazı işlevler değer döndürür - DogWash işlevimiz, köpeği temizlemek için gereken kova sayısını döndürebilir. analogRead() işlevi, 0 ile 1023 arasında bir tamsayı değeri döndürür. Bu şu anda biraz tuhaf görünüyorsa endişelenmeyin, her birini ele alacağız. genel işlev Arduino olarak kurs devam ediyor.

Kurulum() hakkında bilmeniz gereken birkaç şeye bakalım:

  1. setup() yalnızca bir kez çalışır;
  2. setup(), Arduino çizimindeki ilk işlev olmalıdır;
  3. setup() açılış ve kapanış kaşlı ayraçlara sahip olmalıdır.

boşluk döngüsü()

Arduino geliştiricilerini sevmelisiniz çünkü fonksiyon isimlerinin kendileri için konuşmasını sağladılar. Adından da anlaşılacağı gibi, loop() içindeki kaşlı ayraçlar arasındaki tüm kod tekrar tekrar tekrarlanır ve loop kelimesi tam olarak "loop" olarak çevrilir. loop() işlevi, programınızın gövdesinin olacağı yerdir.

setup() işlevinde olduğu gibi, loop() işlevi herhangi bir değer döndürmez, bu nedenle ondan önce boşluk sözcüğü gelir.

Void loop() ( //buraya koyduğunuz herhangi bir kod tekrar tekrar çalıştırılır )

Kodun tek bir büyük döngüde çalışması size garip geliyor mu? Bu bariz varyasyon eksikliği bir yanılsamadır. Kodunuzun çoğu, yeni eylemleri tetikleyecek belirli bekleme koşullarına sahip olacaktır.

Arduino ile çalışan başka programlar var mı?

Resmi Arduino IDE'ye ek olarak, programlar var üçüncü taraf geliştiricilerürünlerini arduino tabanlı mikrodenetleyicilerle çalışmak için sunan.

Benzer bir dizi işlev, İşleme adlı bir program tarafından bize sağlanabilir. Her ikisi de aynı motorda yapıldığı için Arduino IDE'ye çok benzer. İşleme, orijinal programdan daha düşük olmayan kapsamlı bir özellik setine sahiptir. İndirilebilir Serial kütüphanesi sayesinde kullanıcı, board ile Processing'in birbirlerine gönderdikleri veriler arasında iletişim kurabiliyor ve bu sayede board'un kendi PC'mizden program çalıştırmasını sağlayabiliyoruz.

Başka var ilginç versiyon orijinal program. Buna B4R denir ve temel farkı, temel olarak C dilini değil, başka bir programlama dili olan Basic'i kullanmasıdır. Bu yazılım ürünü ücretsizdir. Bununla çalışmak için, bu ürünün yaratıcıları tarafından yazılanlar da dahil olmak üzere iyi öğreticiler var.

Arduino IDE'nin ücretli sürümleri de vardır. Bunlardan biri PROGROMINO programıdır. Ana avantajı, kod tamamlama olasılığıdır. Bir programı derlerken artık referans kitaplarında bilgi aramanıza gerek kalmayacak. program size soracak olası seçenekler bir prosedür veya diğerini kullanarak. Setinde çok daha fazlası var ilginç özellikler, orijinal programda olmayan ve panolarla çalışmanızı kolaylaştırabilen.

Arduino rakipleri

Mikrodenetleyicilerin üretimi için bu pazar çeşitli oluşturmak için elektronik devreler ve robotiğin dünya çapında birçok hayranı var. Bu durum, sadece benzer ürünleri sunan rakiplerin piyasada ortaya çıkmasına katkıda bulunur. Bunlara ek olarak, farklı kalitede önemli sayıda sahte üretilir. Bazıları aynı kalitede oldukları için orijinallerinden ayırt etmek çok zordur, bazıları ise çok zayıf performans ve orijinal ürünlerle hiç çalışmayabilir.

JavaScript yorumlayıcılı mikroişlemcileri destekleyen Arduino kartları bile var. Her şeyden önce kullanmak isteyenler için önemlidirler. java dili si yerine Sonuçta, daha basittir ve sonuçları daha hızlı elde etmenizi sağlar. Ancak bu kartlar arduino'dan daha pahalıdır ve bu da önemli bir dezavantajdır.

Eğer bir hobi arıyorsanız ve elektrik mühendisliği gibi bir alana ilgi duyuyorsanız bunun için Arduino'yu güvenle tercih edebilirsiniz. Bu hobinin birçok faydası var. Bu aktivite farklı alanlarda bilgi sahibi olmanızı gerektireceğinden entelektüel olarak gelişeceksiniz.

Eğlencenin yanı sıra hobiniz, günlük hayatınızı kolaylaştırmak için kullanabileceğiniz tonlarca faydalı eşya yaratmanıza yardımcı olacaktır. Her seferinde hobinizi kullanmanın daha fazla yeni yolunu bulacaksınız.

Çok sayıda ders kitabı ve öğreticinin varlığı sayesinde bu derste ustalaşmak o kadar da zor olmayacak. Gelecekte, bilgilerini sizinle paylaşacak ve sizi yeni deneyler yapmanız için teşvik edecek, dünyanın her yerinde sizinle aynı fikirde olan birçok insan bulacaksınız!

Bu yazıda, Arduino mikrodenetleyicilerine dayalı cihaz tasarlama konusunda en popüler kitapları sizin için topladım. Bu kitaplardan birini okuduktan sonra akıllı cihazlar ve otomasyon sistemleri oluşturabileceksiniz. Den başlayarak basit cihazlar, sensör değerlerinin görüntülenmesi ve akıllı ev sistemleri veya CNC makineleri ile sonlanması. Bütün bunlar kitap okumadan yapılabilir ama o zaman çok daha fazla zaman, çaba ve para gerektirecektir. kitap kapağı Genel konseptler elektrik mühendisliği, mikrodenetleyicilerin ve bağlı sensörlerin ve mekanizmaların çalışma ilkeleri.

Rusça arduino kitapları indir.

Arduino ile ilgili en popüler 5 kitap aşağıdadır. Hepsini değilse de en azından ilkini okumanızı tavsiye ederim. Bu kitaplar arasında hem yeni başlayanlar için hem de arduino konusuna zaten aşina olan kişiler için kitaplar bulunmaktadır. Herkes kendisi için yeni ve faydalı bir şeyler bulabilir. Aşağıdaki tüm kitaplar Rusçaya çevrilmiştir.

Bu kitap, cihaz tasarımının özelliklerini ve ilkelerini açıklamaktadır. arduino. Arduino'nun donanım ve yazılımını açıklar. Bu kitap, programlamanın ilkelerini açıklamaktadır. Nasıl okunacağını göstermek teknik açıklamalar, kendi projeleriniz için parçaları seçin ve nasıl analiz edeceğiniz elektrik devreleri bitmiş cihazlar Kitap ayrıca çeşitli sensörler, göstergeler, farklı veri aktarım arabirimleri ve aktüatörlerin kullanımına ilişkin örnekleri açıklamaktadır. Kitaptaki tüm örnekler için gerekli parçaların bir listesi, bağlantı şemaları, tam açıklamalı kod örnekleri vardır.

Arduino denetleyicisi kullanan projeler. Petin V.A.

Bu kitap, Arduino mikrodenetleyicilerine dayalı olarak kendi cihazlarınızı yaratmanın pratik kısmına odaklanmaktadır. Bağlantı şemaları verilir, Detaylı Açıklama yazılım bölümünün mantığı, gerekli sensörlerin ve modüllerin bir listesi. Bu kitap, halihazırda bir fikri olan ve Arduino programlama dilinin temel işlevlerine aşina olanlar için hazırlanmıştır.

Bu yayın, Arduino tabanlı mikrodenetleyicilerin programlanmasına ayrılmıştır. Kitap, eskiz örneklerini ve kendi ürün yazılımınızı yazma ilkelerini tartışıyor. Bu materyali inceledikten sonra, birçok teknik unsur içeren en karmaşık cihazlar için ürün yazılımı yazabileceksiniz. Kitap ayrıca popüler kütüphaneleri tartışıyor. rahat kullanım Arduino IDE'de. Sayfa, Arduino programlama dilinin ana fonksiyonlarını ve yapılarını anlamanıza ve hatırlamanıza yardımcı olacaktır.

Nesnelerin İnterneti projelerinde Arduino ve Raspberry Pi. Viktor Petin

>Nesnelerin İnterneti projelerinde Arduino ve Raspberry Pi

Tanım: Popüler Arduino platformu ve Raspberry Pi mikrobilgisayarına dayalı Nesnelerin İnterneti (IoT, Nesnelerin İnterneti) konsepti dahilinde basit cihazların oluşturulması düşünülmektedir. Geliştirme ortamının nasıl kurulacağını ve yapılandırılacağını gösterir Arduino Uygulamaları IDE'nin yanı sıra Frizing düzen ortamı. Teknik yetenekler, bağlantı ve etkileşim özellikleri açıklanmaktadır. çeşitli sensörler ve yürütme cihazları. Geliştirilen projelerin internete erişim organizasyonu, popüler bulut IoT servislerini kullanarak veri gönderip alma organizasyonu: Narodmon, ThingSpeak, Xive, Weaved, Blynk, Wyliodrin, vb. GPRS/GSM Shield kullanılarak veri alışverişine dikkat edilir pano. Ağ üzerinden veri toplamak için kendi sunucunuzu oluşturma projesi çeşitli cihazlar Arduino platformunda. Raspberry Pi ile çalışmak için WebIOPi çerçevesinin nasıl kullanılacağını gösterir. Wi-Fi modülü ESP8266'nın "projelerde kullanımına ilişkin örnekler" Akıllı ev". Yayıncının web sitesi, programların ve kitaplıkların kaynak kodlarını içeren bir arşiv içerir.
— Arduino IDE uygulama geliştirme ortamının ve Frizing prototipleme ortamının kurulması ve yapılandırılması
— Arduino ve Raspberry Pi için sensörler ve aktüatörler
— Narodmon, ThingSpeak, Xively, Weaved, Blynk, Wyliodrin IoT hizmetlerinden veri gönderme ve alma
— Android cihazlardan veri toplamak için bir Web sunucusunun oluşturulması
— GPRS/GSM Shield kartı kullanılarak veri alışverişi
— Raspberry Pi ile çalışmak için WebIOPi çerçevesi
— Akıllı Ev projelerinde ESP8266 WiFi modülü

Pratik Arduino Ansiklopedisi Kitap, ArduinoUNO'nun bugüne kadarki en büyük versiyonu olan Arduino platformuna veya çok sayıda benzer klona dayalı yapıların ana bileşenlerine ilişkin verileri özetlemektedir. Kitap 33 deneysel bölümden oluşan bir settir. Her deneyde, Arduino kartının, en basitinden en karmaşığına kadar, bağımsız özel cihazlar olan belirli bir elektronik bileşen veya modül ile çalışması dikkate alınır. Her bölüm, deneyin pratik uygulaması için gerekli ayrıntıların bir listesini sunar. Her deney için, görsel şema Fritzing entegre geliştirme ortamı formatında bağlantı parçaları. Nasıl görünmesi gerektiğine dair net ve kesin bir fikir verir. montajlı devre. Sonraki verilir teorik bilgi kullanılan bileşen veya modül hakkında. Her bölüm, Arduino yerleşik dilinde yorumlarla birlikte bir taslak (program) kodu içerir.

Hızlı başlangıç. Arduino'ya Başlarken

Arduino kartlı başlangıç ​​kiti, programlama, tasarım ve elektronik yaratıcılık dünyasına geçişinizdir.
Bu kitapçık, Arduino kartını kullanmaya başlamak için ihtiyacınız olan tüm bilgileri ve ayrıca çeşitli kullanarak 14 uygulamalı deneyi içerir. elektronik parçalar ve modüller.
Kazanılan bilgi, gelecekte kendi projelerinizi oluşturmanızı ve bunları kolayca uygulamanızı mümkün kılacaktır.