• Bir şerit boyunca hareket eden bir robot örneğini kullanarak ArduBlock ile Arduino programlama. Arduino Programlama

    Arduino, çeşitli cihazlar, ilginç araçlar ve hatta bilgi işlem platformları oluşturmak için kullanılan küçük bir karttır. Bu karta açık kaynak kodlu ve birçok uygulamanın kullanılabildiği mikrodenetleyici adı verilmektedir.

    Bu yeni başlayanlar, amatörler ve profesyoneller için en kolay ve en ucuz seçenektir. Programlama işlemi hızlı ve kolay bir şekilde hakim olunan ve C++ dilini temel alan Processing/Wiring dilinde gerçekleşmektedir ve bu sayede yapılması oldukça kolaydır. Arduino'nun ne olduğuna, yeni başlayanlar için neyin faydalı olduğuna, yeteneklerine ve özelliklerine bakalım.

    Arduino, yeni cihazlarınız veya gadget'larınız için beyin görevi görecek bir bilgi işlem platformu veya kartıdır. Buna dayanarak, basit devrelere sahip cihazların yanı sıra robotlar veya dronlar gibi karmaşık emek yoğun projeler de oluşturabilirsiniz.

    Tasarımcının temeli giriş-çıkış kartı (donanım kısmı) ve yazılım kısmıdır. Arduino tabanlı yapıcı yazılımı, entegre bir geliştirme ortamı ile temsil edilir.

    Dışarıdan, ortamın kendisi şöyle görünür:

    Arduino'nun yazılım kısmı, programlama konusunda hiçbir fikri olmayan acemi bir kullanıcının bile halledebileceği şekilde tasarlanmıştır. Mikrodenetleyiciyi kullanmanın ek bir başarı faktörü, gerekli parçalar (dirençler, diyotlar, transistörler vb.) lehimlemeye gerek kalmadan denetleyiciye bağlandığında devre tahtasıyla çalışabilme yeteneğiydi.

    Çoğu Arduino kartı bir USB kablosuyla bağlanır. Böyle bir bağlantı, panoya güç sağlamanıza ve çizimleri indirmenize olanak tanır; mini programlar. Programlama süreci de son derece basittir. Kullanıcı öncelikle gerekli programı oluşturmak için IDE kod düzenleyicisini kullanır, ardından Arduino'da tek tıklamayla yüklenir.

    Arduino'yu nasıl satın alabilirim?

    Arduino'nun yönetim kurulu ve birçok parçası İtalya, bu nedenle orijinal bileşenler oldukça pahalıdır. Ancak İtalyan benzetmesine göre üretilen, ancak daha uygun fiyatlarla üretilen, kit-set adı verilen tasarımcının veya kitlerin ayrı bileşenleri vardır.

    İç piyasadan bir analog satın alabilir veya örneğin Çin'den sipariş verebilirsiniz. Örneğin birçok kişi Aliexpress web sitesini biliyor. Ancak Arduino ile tanışmaya başlayanlar için ilk tahtalarını bir Rus çevrimiçi mağazasından sipariş etmek daha iyidir. Zamanla Çin'de pano ve parça satın almaya geçebilirsiniz. Bu ülkeden teslimat süresi iki haftadan bir aya kadar olacak ve örneğin büyük bir kit kitinin maliyeti en fazla olacak 60-70 dolar.

    Standart kitler genellikle aşağıdaki parçaları içerir:

    • ekmek tahtası;
    • LED'ler;
    • dirençler;
    • piller 9V;
    • voltaj regülatörleri;
    • düğmeler;
    • atlama telleri;
    • matris klavyesi;
    • genişletme kartları;
    • kapasitörler.

    Programlama bilmem gerekiyor mu?

    Arduino kartıyla çalışmanın ilk adımları kartın programlanmasıyla başlar. Zaten tahtayla çalışmaya hazır olan programa eskiz denir. Programlamayı bilmediğiniz için endişelenmenize gerek yok. Program oluşturma süreci oldukça basittir ve Arduino topluluğu çok büyük olduğundan internette çok sayıda eskiz örneği vardır.

    Program derlendikten sonra karta yüklenir (flaşlanır). Bu durumda Arduino'nun yadsınamaz bir avantajı vardır - çoğu durumda programlama için bir USB kablosu kullanılır. Program yüklendikten hemen sonra çeşitli komutları yürütmeye hazırdır.

    Arduino'ya yeni başlayanlar iki temel özelliği bilmelidir:

    • kurmak()– kart açıldığında bir kez kullanılır, ayarları başlatmak için kullanılır;
    • döngü()- sürekli kullanılan, kurulumun son adımıdır.

    İşlev Kayıt Örneği kurmak():

    Void setup() ( Serial.begin(9600); // Seri bağlantıyı açın pinMode(9, INPUT); // Pin 9'u giriş olarak atayın pinMode(13, OUTPUT); // Pin 13'ü çıkış olarak atayın )

    İşlev kurmak() en başta ve cihazınızı açtıktan veya yeniden başlattıktan hemen sonra yalnızca 1 kez gerçekleştirilir.

    İşlev döngü() setup() fonksiyonundan sonra yürütülür. Döngü, döngü veya döngü olarak çevrilir. Fonksiyon tekrar tekrar yürütülecektir. Yani ATmega328 mikrokontrolcüsü (çoğu Arduino kartında bulunur), döngü fonksiyonunu saniyede yaklaşık 10.000 kez çalıştıracaktır.

    Ayrıca ek özelliklerle de karşılaşacaksınız:

    • pinModu– bilginin giriş ve çıkış modu;
    • analogOku- çıkışta ortaya çıkan analog voltajı okumanızı sağlar;
    • analogYaz– analog voltajın çıkış pinine yazılması;
    • dijitalOku– dijital çıkışın değerini okumanızı sağlar;
    • dijitalYazma– dijital çıkışın değerini düşük veya yüksek bir seviyeye ayarlamanıza olanak tanır;
    • Seri baskı– proje hakkındaki verileri rahatlıkla okunabilir bir metne çevirir.

    Buna ek olarak, Arduino'ya yeni başlayanlar, panoları veya ek modülleri kontrol etmenize olanak tanıyan işlevlerin koleksiyonları olan panolar için birçok kütüphanenin bulunmasını beğeneceklerdir. En popüler olanlar şunları içerir:

    • depolamaya okuma ve yazma,
    • İnternet bağlantısı,
    • SD kartları okuma,
    • step motor kontrolü
    • metin oluşturma
    • vesaire.

    Arduino nasıl kurulur?

    Yapıcının temel avantajlarından biri kullanıcı ayarlarına ilişkin güvenliğidir. Arduino'ya zarar verme potansiyeli olan tuş ayarları korunur ve kullanılamayacaktır.

    Bu nedenle deneyimsiz bir programcı bile çeşitli seçenekleri güvenli bir şekilde deneyebilir ve değiştirebilir, böylece istenen sonucu elde edebilir. Ancak her ihtimale karşı, tahtayı nasıl mahvetmeyeceğinize dair üç önemli materyali okumanızı önemle tavsiye ederiz:

    Arduino programının klasik kurulumunun algoritması şöyle görünür:

    • Aşağıdan veya üreticinin web sitesinden indirilebilen IDE kurulumu;
    • yazılımın kullanılan bilgisayara kurulumu;
    • Arduino dosyasını başlatmak;
    • geliştirilen programın kod penceresine girilmesi ve karta aktarılması (USB kablosu kullanılarak);
    • IDE bölümünde kullanılacak kurucu tipini seçmelisiniz. Bunu "araçlar" - "panolar" penceresinde yapabilirsiniz;
    • Kodu kontrol edin ve "İleri"ye tıklayın, ardından Arduino'ya yükleme başlayacaktır.
    Sürüm pencereler Mac os işletim sistemi Linux
    1.6.5 Posta Kodu
    yükleyici
    yükleyici 32 bit
    64 bit
    1.8.2 Posta Kodu
    yükleyici
    yükleyici 32 bit
    64 bit
    KOL
    1.8.5 Posta Kodu
    yükleyici
    Uygulama
    yükleyici 32 bit
    64 bit
    KOL

    Bir el doldurma

    Karmaşık fikirleri güvenle uygulamak için yazılım ortamını ve Arduino'yu kullanmak için yeni başlayanların "bu konuyu ele alması" gerekir. Bunu yapmak için daha kolay görev ve projelerle başlamanız önerilir.

    Yapabileceğiniz en basit proje, Arduino kartında portun karşısındaki LED'in her saniye yanıp sönmesini sağlamaktır.

    Bunun için ihtiyacınız var:

    • tasarımcıyı PC'ye bağlayın,
    • programı açın, "servis" bölümünde "seri port" bloğunu arayın
    • gerekli aralığı seçin
    • bundan sonra Arduino IDE'deki kodu "Örnekler" bölümüne eklemeniz gerekir.

    Arduino'ya yeni başlayanlar için ilk projeler şunlar olabilir:

    • yanıp sönen LED;
    • sıcaklık sensörünün bağlantısı ve kontrolü;
    • hareket sensörünün bağlantısı ve kontrolü;
    • fotodirenç bağlantısı;
    • servo kontrolü.

    İlk proje

    İşte geldik ilk projemize. Arduino, LED ve butonu bağlayalım. Bu proje yeni başlayanlar için harika.

    Şemamız şu şekilde olacak:

    Düğmeye bastığınızda LED yanacak ve bir sonraki basışta sönecektir. Arduino'nun taslağı veya programı şöyle olacaktır:

    // bağlı cihazların pinleri int switchPin = 8; int ledPin = 11; // butonun ve LED'in durumunu saklamak için değişkenler boolean lastButton = LOW; boolean currentButton = DÜŞÜK; boolean ledOn = false; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // geri dönüş fonksiyonu boolean debounse(boolean last) ( boole akımı = digitalRead(switchPin); if(son != akım) ( gecikme (5 ); current = digitalRead(switchPin); ) dönüş akımı; ) void loop() ( currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == HIGH) ( ledOn = !ledOn; ) lastButton = currentButton ;digitalWrite (ledPin, ledOn); )

    Henüz yazmadığımız geri tepme fonksiyonunu fark etmiş olabilirsiniz. İçin gereklidir.

    Tahtayla çalışmanın ilk becerilerini anladıktan sonra daha karmaşık ve çok yönlü görevleri uygulamaya başlayabilirsiniz. Yapıcı, bir RC araba, kontrollü bir helikopter oluşturmanıza, kendi telefonunuzu oluşturmanıza, bir sistem oluşturmanıza vb. olanak tanır.

    Arduino kartıyla çalışmanın gelişimini hızlandırmak için, en ilginç cihazları ve gadget'ları oluşturma adımlarını açıklayan bölümümüzden cihaz yapmaya başlamanızı öneririz.

    Bu bölüm Arduino dünyasından kitaplara ayrılmıştır. Yeni başlayanlar ve profesyoneller için.

    Tüm kitaplar ve materyaller yalnızca bilgilendirme amaçlıdır, okuduktan sonra dijital veya basılı kopyasını satın almanızı rica ediyoruz.

    Kitap okumak için programlar:

    • PDF kitapları: Adobe Acrobat Reader veya PDF Reader.
    • DJVU formatındaki kitaplar: veya Djvu Reader.

    Pratik Arduino Ansiklopedisi

    Kitap, ArduinoUNO'nun bugüne kadarki en büyük versiyonu olan Arduino platformunu veya buna benzer çok sayıda klonu temel alan yapıların ana bileşenlerine ilişkin verileri özetlemektedir. Kitap 33 deneysel bölümden oluşuyor. Her deneyde, Arduino kartının, bağımsız özel cihazlar olan en basitinden en karmaşıkına kadar belirli bir elektronik bileşen veya modülle çalışması dikkate alınır. Her bölümde deneyin pratik uygulaması için gereken ayrıntıların bir listesi verilmektedir. Her deney için Fritzing entegre geliştirme ortamı formatında parçaların bağlantısının görsel bir diyagramı verilmiştir. Birleştirilmiş devrenin nasıl görünmesi gerektiğine dair net ve doğru bir fikir verir. Aşağıda, kullanılan bileşen veya modüle ilişkin teorik ayrıntılar verilmektedir. Her bölüm, Arduino yerleşik dilinde açıklamalarla birlikte bir taslak (program) kodu içerir.

    Elektronik. İlk quadcopter'ınız. Teori ve pratik

    Quadcopterlerin kendi kendine üretiminin ve çalışmasının pratik yönleri ayrıntılı olarak açıklanmaktadır. Tüm aşamalar dikkate alınır: yapısal malzemelerin seçiminden ve mali maliyetlerin en aza indirildiği bileşenlerin seçiminden, bir kaza sonrasında yazılımın ayarlanması ve onarımına kadar. Yeni başlayan uçak modelcilerinin sıklıkla yaptığı hatalara dikkat ediliyor. Erişilebilir bir biçimde, çok rotorlu sistemlerin uçuşunun teorik temelleri ve Arduino IDE ile çalışmanın temel kavramları verilmektedir. Cihazın kısa bir açıklaması ve GPS ve Glonass sistemlerinin çalışma prensibinin yanı sıra modern anahtarlamalı yerleşik güç kaynakları ve lityum polimer piller verilmiştir. Çalışma prensibi ve OSD sistemleri, telemetri, Bluetooth kablosuz kanalı ve popüler Ublox GPS navigasyon modüllerini kurma süreci ayrıntılı olarak açıklanmaktadır. Entegre sensörlerin ve uçuş kontrol cihazının cihazı ve çalışma prensipleri anlatılmaktadır. Giriş seviyesi FPV ekipmanının seçimine ilişkin öneriler verilmiş, quadrocopter ekipmanının kurulumunda kullanılan bilgisayarlar ve akıllı telefonlar için programlara genel bir bakış verilmiştir.

    Arduino Kontrol Cihazını Kullanan Projeler (2. Baskı)

    Kitap, ana karta işlevsellik katan ana Arduino kartlarını ve genişletme kartlarını (kalkanları) tartışıyor. Arduino IDE programlama dili ve ortamı ayrıntılı olarak anlatılmıştır. Arduino kontrolör ailesini kullanan projeler dikkatlice analiz edilir. Bunlar robotik, hava istasyonlarının oluşturulması, "akıllı ev", otomat, televizyon, İnternet, kablosuz iletişim (bluetooth, radyo kontrolü) alanındaki projelerdir.

    İkinci baskı, Arduino ses kontrolü projelerini, adreslenebilir RGB şeritleriyle çalışmayı ve Arduino'da iRobot Create'i kontrol etmeyi ekler. Arduino Leonardo kartını kullanan projeler değerlendirmeye alınır. Acemi geliştiriciler için adım adım eğitimler verilmektedir.

    Arduino'yu Öğrenmek: Teknoloji Sihirbazlığı için Araçlar ve Teknikler

    Kitap, Arduino mikrodenetleyici platformuna dayalı elektronik cihazların tasarımına ayrılmıştır. Arduino donanım ve yazılımı hakkında temel bilgiler sağlar. Arduino IDE entegre ortamında programlamanın ilkeleri belirtilmiştir. Size elektrik şemalarını nasıl analiz edeceğinizi, veri sayfalarını nasıl okuyacağınızı ve kendi projeleriniz için doğru parçaları nasıl seçeceğinizi gösterir. Çeşitli sensörlerin, elektrik motorlarının, servo sürücülerin, göstergelerin, kablolu ve kablosuz veri arayüzlerinin kullanım örnekleri ve açıklamaları verilmiştir. Her bölümde kullanılan bileşenler listelenir, kablo bağlantı şemaları sağlanır ve program listeleri ayrıntılı olarak açıklanır. Kitabın bilgi destek sitesine bağlantılar bulunmaktadır. Materyal, evde deneyler için basit ve ucuz bileşenlerin kullanımına odaklanmıştır.

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

    ARDUINO'yu ayırtın Hızlı başlangıç. Başlarken ARDUINO, Arduino kartını tanımanızı sağlayacak tüm bilgilerin yanı sıra, çeşitli elektronik bileşenler ve modüller kullanan 14 pratik deney içerir.

    Arduino kitiyle hızlı başlangıç. Gelecekte kazanılan bilgi, kendi projelerinizi yaratmanızı ve bunları kolayca uygulamanızı mümkün kılacaktır.

    Arduino, Cihaz İletişimi için Sensörler ve Ağlar (2. baskı)

    Elektronik cihazların birbirleriyle nasıl iletişim kuracağını ve komutlara nasıl yanıt vereceğini gösteren Arduino mikrodenetleyici kartını temel alan 33 proje değerlendiriliyor. Akıllı telefonunuzdan "arayarak" ev klimanızın ayarlarını nasıl değiştireceğinizi gösterir; ağ üzerinden etkileşim kuran kendi oyun kumandalarınızı nasıl oluşturacağınız; Çeşitli sensörlerden vb. kablosuz olarak bilgi almak için ZigBee, Bluetooth, kızılötesi ve geleneksel radyo cihazlarının nasıl kullanılacağı. Arduino, İşleme ve PHP programlama dilleri dikkate alınır.

    "Arduino, cihaz iletişimi için sensörler ve ağlar" kitabını okuduktan sonra, veri alışverişi yapan ve komutlara yanıt veren akıllı cihazlardan oluşan ağların nasıl oluşturulacağını öğreneceksiniz. Kitap, yaratıcı fikirlerini uygulamaya koymak isteyenler için idealdir. Elektronik alanında özel teknik bilgi ve beceriye sahip olmanıza gerek yoktur.Projeleri uygulamaya başlamak için ihtiyacınız olan tek şey bir kitap, fikirler ve Arduino denetleyicisi, bazı ağ modülleri ve sensörleri içeren ucuz bir kittir.

    Arduino'nun Temelleri

    Arduino, çevresinden duyusal girdi alabilen ve etkileşimli fiziksel nesneleri kontrol edebilen, tek devre kartı üzerine kurulu açık kaynaklı bir mikrodenetleyicidir. Aynı zamanda karta yazılım yazmanıza olanak sağlayan ve Arduino programlama dilinde programlanan bir geliştirme ortamıdır. Arduino en popüler mikrodenetleyici platformu haline geldi ve bu nedenle temelden ileri seviyeye kadar yüzlerce proje onun kullanılarak geliştiriliyor.

    Bu kitap öncelikle sizi Arduino ailesinin en önemli kart modelleriyle tanıştıracak. Daha sonra Arduino yazılım ortamını kurmayı öğreneceksiniz. Daha sonra dijital ve analog giriş ve çıkışlarla çalışacak, zamanı hassas bir şekilde yönetecek, projelerinizdeki diğer cihazlarla seri iletişim kuracak ve hatta projenizi daha duyarlı hale getirmek için kesintileri kontrol edeceksiniz. Son olarak, kitapta şu ana kadar öğrenilen tüm kavramlar kullanılarak gerçek dünyadan tam bir örnek sunulacak. Bu, kendi mikrodenetleyici projelerinizi geliştirmenize olanak sağlayacaktır.

    Arduino Geliştirme Yemek Kitabı

    Çevreyle etkileşime giren programlama ve elektronik projeler oluşturmak istiyorsanız, bu kitap size Arduino platformunun tüm önemli uygulamalarında size rehberlik edecek düzinelerce tarif sunacaktır. Etkileşimli projeler oluşturmak için her iki dünyanın en iyilerini birleştirmek isteyen programlama veya elektronik meraklılarına yöneliktir.

    Tek çipli bilgisayar kartı Arduino, boyut olarak küçük ancak kapsamı geniş olup, robotikten ev otomasyonuna kadar elektronik projelerde kullanılabilecek kapasiteye sahiptir. Dünyanın en popüler gömülü platformu olan Arduino'nun kullanıcıları, okul çocuklarından endüstri uzmanlarına kadar geniş bir yelpazede yer alıyor ve hepsi de onu tasarımlarına dahil ediyor.

    Arduino Geliştirme Yemek Kitabı, size basitten ileri seviyeye kadar herhangi bir Arduino projesini oluşturmak için gereken tekniklerin araç kutusunu veren açık ve adım adım tarifler içerir. Her bölüm, düğmeleri programlamayı öğrenmekten motorları çalıştırmaya, sensörleri yönetmeye ve ekranları kontrol etmeye kadar Arduino gelişimi için daha temel yapı taşlarını sunar. Baştan sona, geliştirme sorunlarınızı gidermenize ve Arduino projenizi bir sonraki seviyeye taşımanıza yardımcı olacak ipuçları ve püf noktaları bulacaksınız!

    Arduino Çizimler: Programlama Sihirbazlığı için Araçlar ve Teknikler

    Bu uygulamalı kılavuzla Arduino programlamasında ustalaşın Arduino Sketches, gadget'lara hayat veren, giderek popüler hale gelen mikro denetleyiciyi programlamak için pratik bir kılavuzdur. Her seviyedeki teknoloji tutkununun erişebileceği bu kitap, Arduino programlama konusunda uzman eğitimi ve becerilerinizi test etmek için uygulamalı uygulamalar sağlar. Çeşitli Arduino panolarının kapsamını, her standart kütüphanenin ayrıntılı açıklamalarını ve sıfırdan kütüphaneler oluşturmaya yönelik rehberliği ve öğrendiğiniz becerilerin günlük kullanımını gösteren pratik örnekleri bulacaksınız.

    Giderek daha gelişmiş programlama projeleri üzerinde çalışın ve donanıma özgü kitaplıkları ve kendi kitaplığınızı nasıl oluşturacağınızı öğrendikçe daha fazla kontrol sahibi olun. Arduino API'nin tüm avantajlarından yararlanın ve becerilerinizi genişletecek ipuçlarını ve püf noktalarını öğrenin. Arduino geliştirme kartı, çevre birimlerini alet veya lehim olmadan hızlı bir şekilde takmanıza olanak tanıyan yerleşik bir işlemci ve soketlerle birlikte gelir. Oluşturulması kolaydır, programlanması kolaydır ve özel bir donanım gerektirmez. Özellikle bu açık kaynaklı projenin popülaritesinin büyük teknoloji şirketlerine bile uyumlu ürünler geliştirme konusunda ilham vermesi nedeniyle hobi meraklıları için bu bir hayalin gerçekleşmesidir.

    Arduino ve LEGO Projeleri

    Hepimiz LEGO'nun ne kadar harika olduğunu biliyoruz ve giderek daha fazla insan Arduino ile ne kadar muhteşem şeyler yapabileceğinizi keşfediyor. Arduino ve LEGO Projelerinde Jon Lazar, Magic Lantern RF okuyucu, sensör özellikli LEGO müzik kutusu ve hatta Arduino kontrollü LEGO tren seti gibi eğlenceli gadget'lar oluşturmak için gezegendeki en harika iki şeyi nasıl birleştireceğinizi gösteriyor.

    * SNOT'un gerçekten harika olduğunu öğrenin (bu, Çiviler Üstte Değil anlamına gelir)
    * Her şeyin birbirine nasıl uyduğuyla ilgili ayrıntılı açıklamalara ve görsellere bakın
    * Kod ve açıklamalar dahil olmak üzere Arduino'nun her projeye nasıl uyduğunu öğrenin

    İster arkadaşlarınızı etkilemek, ister kediyi kızdırmak, ister sadece arkanıza yaslanıp yaratımlarınızın muhteşemliğinin tadını çıkarmak isteyin, Arduino ve LEGO Projeleri size tam olarak neye ihtiyacınız olduğunu ve bunları nasıl bir araya getireceğinizi gösterir.

    Arduino Atölyesi

    Arduino, meraklıların ev yapımı projelerde elektronik kullanımını kolaylaştırmak için tasarlanmış, ucuz, esnek, açık kaynaklı bir mikrodenetleyici platformudur. Neredeyse sınırsız sayıdaki giriş ve çıkış eklentileri, sensörler, göstergeler, ekranlar, motorlar ve daha fazlasıyla Arduino, etrafınızdaki dünyayla etkileşime giren cihazlar oluşturmanız için size sayısız yol sunar.

    Arduino Workshop'ta bu eklentilerin nasıl çalıştığını ve bunları kendi projelerinize nasıl entegre edebileceğinizi öğreneceksiniz. Arduino sistemine genel bir bakışla başlayacaksınız, ancak hızla çeşitli elektronik bileşenlerin ve kavramların kapsamına geçeceksiniz. Kitaptaki uygulamalı projeler öğrendiklerinizi pekiştirir ve bu bilgiyi nasıl uygulayacağınızı gösterir. Anlayışınız arttıkça projelerin karmaşıklığı ve karmaşıklığı da artar.

    Arduino için C Programlama

    Kendi elektronik cihazlarınızı oluşturmak büyüleyici bir eğlencedir ve bu kitap, otonom ancak bağlantılı cihazların dünyasına girmenize yardımcı olur. Arduino kartıyla tanıştıktan sonra kendinizi şaşırtacak bazı beceriler öğreneceksiniz.

    Fiziksel bilgi işlem, gerçek dünyayı algılamak ve ona yanıt vermek için yazılım ve donanım kullanarak etkileşimli fiziksel sistemler oluşturmamıza olanak tanır. Arduino için C Programlama size algılama, geri bildirim, programlama ve hatta kablolama ve kendi otonom sistemlerinizi geliştirme gibi güçlü yeteneklerden nasıl yararlanacağınızı gösterecek.

    Arduino için C Programlama, kendi elektronik projenizi doğrudan kablolamaya ve kodlamaya başlamak için ihtiyacınız olan her şeyi içerir. C dilini ve Arduino'nuz için çeşitli yazılım türlerini nasıl kodlayacağınızı öğrenecek ve ardından düğmelerin, LED'lerin, LCD'nin, ağ modüllerinin ve çok daha fazlasının nasıl kullanıldığını anlamak için küçük tipik sistemler tasarlamaya geçeceksiniz.

    Yeni başlayan sihirbazlar için Arduino

    Bu kitap, her geçen gün daha popüler hale gelen ve ev tabanlı deneyciler, hobiciler ve bilgisayar korsanlarından oluşan bir ordunun hem güzel hem de tamamen çılgın projeleri hayata geçirmek için onu kullanmaya başladığı Arduino platformu hakkındadır. Arduino'nun yardımıyla herhangi bir beşeri bilimler öğrencisi elektronik ve programlamanın temellerini öğrenebilir ve önemli miktarda maddi ve entelektüel kaynak harcamadan kendi modellerini hızla geliştirmeye başlayabilir. Arduino, oyun ve öğrenmeyi birleştirerek ani dürtü, hayal gücü ve merakın etkisi altında değerli ve ilginç bir şey yaratmanıza olanak tanır. Bu platform, elektronik alanında hiçbir şey bilmese bile yaratıcı bir kişiye güç veriyor! Deney yapın ve eğlenin!

    Arduino/Freeduino mikrodenetleyici kartı programlama

    Arduino/Freduino mikrodenetleyici kartlarının programlanması düşünüldü. Mikrodenetleyicilerin yapısı ve işleyişi, Arduino programlama ortamı, deneyler için gerekli araç ve bileşenler anlatılmaktadır. Arduino kartlarını programlamanın temelleri ayrıntılı olarak ele alınır: program yapısı, komutlar, operatörler ve işlevler, analog ve dijital veri girişi / çıkışı. Materyalin sunumuna çeşitli cihazların geliştirilmesine ilişkin 80'den fazla örnek eşlik ediyor: sıcaklık anahtarı, okul saati, dijital voltmetre, yer değiştirme sensörlü alarm, sokak lambası anahtarı vb. Her proje için bir gerekli bileşenlerin listesi, bir bağlantı şeması ve program listeleri sağlanır. Yayıncının FTP sunucusu kitaptaki örneklerin kaynak kodlarını, teknik açıklamaları, referans verilerini, geliştirme ortamını, yardımcı programları ve sürücüleri içerir.

    Arduino ve Kinect Projeleri

    Arduino'da biraz değişiklik yaptıysanız ve Kinect'i nasıl dahil edebileceğinizi (ya da tam tersini) merak ettiyseniz bu kitap tam size göre. Arduino ve Kinect Projelerinin yazarları size basitten karmaşığa 10 harika, yaratıcı projenin nasıl oluşturulacağını gösterecek. Ayrıca Arduino diline çok benzeyen bir dil olan İşleme'yi proje tasarımınıza nasıl dahil edeceğinizi de öğreneceksiniz.

    On proje, her adımda becerilerinizi geliştirmek için dikkatle tasarlanmıştır. "Merhaba Dünya"nın Arduino ve Kinect eşdeğeri ile başlayan yazarlar, sizi Kinect ve Arduino birleştirildiğinde ortaya çıkan çok çeşitli olasılıkları sergileyen çok çeşitli projelere götürecek.

    Arduino ile Atmosfer İzleme

    Dünyanın dört bir yanındaki üreticiler çevreyi izlemek için düşük maliyetli cihazlar üretiyor ve bu uygulamalı kılavuzla siz de bunu yapabilirsiniz. Kısa ve öz eğitimler, çizimler ve anlaşılır adım adım talimatlar aracılığıyla, Arduino ve çeşitli ucuz sensörleri kullanarak atmosferimizin kalitesini incelemek için gadget'ların nasıl oluşturulacağını öğreneceksiniz.

    Zararlı gazları, duman ve sis gibi toz parçacıklarını ve üst atmosferdeki bulanıklığı, yani genellikle duyularınız tarafından görülemeyen madde ve koşulları tespit edin. Ayrıca atmosferik testlerinizden daha fazlasını öğrenmenize yardımcı olacak bilimsel yöntemi nasıl kullanacağınızı da keşfedeceksiniz.

    * Hızlı bir elektronik kılavuzuyla Arduino'yu hızlandırın
    * Karbon monoksit, LPG, bütan, metan, benzen ve diğer birçok gazı tespit etmek için troposferik bir gaz sensörü oluşturun
    * Güneşin mavi, yeşil ve kırmızı ışık dalgalarının ne kadarının atmosfere nüfuz ettiğini ölçmek için bir LED Fotometre oluşturun
    * Bir LED hassasiyet dedektörü oluşturun ve Fotometrenizdeki her bir LED'in hangi ışık dalga boylarına duyarlı olduğunu keşfedin
    * Işık dalga boylarını ölçmenin atmosferdeki su buharı, ozon ve diğer maddelerin miktarını belirlemenize nasıl olanak sağladığını öğrenin

    Arduino Mastering Kılavuzu

    Yayın, Arduino ile deneyler için tasarlanmış ARDX (Arduino için Başlangıç ​​Kiti) kitiyle çalışmaya ilişkin belgelerden birinin Rusça çevirisidir. Belgeler, Arduino modülüyle ilk tanışmaya odaklanan 12 basit projeyi açıklamaktadır.

    Bu setin temel amacı ilginç ve faydalı vakit geçirmektir. Ve bunun yanı sıra - küçük, basit ve ilginç cihazları bir araya getirerek çeşitli elektronik bileşenlerde ustalaşmak. Çalışma prensibini anlamanıza olanak tanıyan bir çalışma cihazı ve bir araç alırsınız.

    Büyük Ansiklopedi Elektrikçisi

    Temel bilgilerden başlayarak birçok yararlı bilgi bulacağınız bugüne kadarki en eksiksiz kitap. Kitap, elektrik ve elektrikli ekipmanlarla çalışırken karşılaşabileceğiniz tüm ana sorunları ortaya koyuyor. Kablo türlerinin, tellerin ve kordonların tanımı, elektrik kablolarının kurulumu ve onarımı ve çok daha fazlası.

    "Bir Elektrikçinin Büyük Ansiklopedisi" kitabı, elektrik ve elektrikli ekipmanlarla çalışırken karşılaşabileceğiniz tüm ana sorunları ortaya koymaktadır. Kablo türlerinin, tellerin ve kordonların tanımı, elektrik kablolarının kurulumu ve onarımı ve çok daha fazlası. Bu kitap hem elektrik uzmanı hem de ev ustaları için faydalı bir referans olacaktır.

    Bu kitap hem elektrik uzmanı hem de ev ustaları için faydalı bir referans olacaktır.

    Arduino programcısının not defteri

    Bu not defteri, Arduino programlama dilinin komut yapısı ve sözdizimi için kullanışlı, kullanımı kolay bir kılavuz olarak görülmelidir. Basit tutmak için, diğer web siteleri, kitaplar, seminerler ve sınıflarla birlikte yeni başlayanlar için ek bir bilgi kaynağı olarak kullanıldığında kılavuzu geliştirmek için bazı istisnalar yapılmıştır. Böyle bir çözüm, Arduino'nun bağımsız görevler için kullanımını vurgulamayı amaçlamaktadır ve örneğin dizilerin daha karmaşık kullanımını veya seri bağlantı kullanımını ortadan kaldırmaktadır.

    Arduino C programının yapısının bir açıklamasıyla başlayan bu not defteri, dilin en yaygın öğelerinin sözdizimini açıklar ve bunların kullanımını örnekler ve kod parçacıklarıyla gösterir. Defter, Arduino kütüphanesinin çekirdeğinin fonksiyonlarının örneklerini içerir ve ekte devrelerin ve başlangıç ​​programlarının örnekleri sunulur.

    Mikrodenetleyicilerin analog arayüzleri

    Bu yayın, analog çevre birimlerini bilgisayarlara, mikroişlemcilere ve mikro denetleyicilere bağlamak için çeşitli arayüzlerin kullanımına yönelik pratik bir kılavuzdur.

    I2C, SPI/Microware, SMBus, RS-232/485/422, 4-20 mA akım döngüsü vb. gibi arayüzleri kullanmanın özellikleri ortaya çıkarılmıştır.Çok sayıda modern sensöre genel bir bakış verilmiştir: sıcaklık, optik , CCD, manyetik, gerinim ölçerler vb. Kontrolörler, ADC'ler ve DAC'ler ayrıntılı olarak açıklanmaktadır, bunların elemanları - UVH, ION, codec'ler, kodlayıcılar.

    Aktüatörler - motorlar, sıcaklık kontrolörleri - ve çeşitli tiplerdeki (röle, oransal ve PID) otomatik kontrol sistemlerinin bir parçası olarak bunların kontrol edilmesi konuları dikkate alınır. Kitap, analog ve dijital teknoloji unsurlarının kullanımının donanım ve yazılım özelliklerini açıkça temsil eden resimlerle donatılmıştır. Yalnızca yeni başlayan radyo amatörlerinin değil, aynı zamanda analog ve dijital ekipmanlarla çalışma deneyimi olan uzmanların yanı sıra teknik kolej ve üniversite öğrencilerinin de ilgisini çekecektir.

    GSM/GPRS modemler için AT komutlarını kullanma yönergeleri

    Bu kılavuz, Wavecom modemlerle çalışmaya yönelik tüm AT komutları setinin ayrıntılı bir açıklamasını sağlar. Wavecom modemlerdeki yazılımda uygulanan IP yığın protokolleriyle çalışmak için özel AT komutları verilmiştir.

    Kitap, Wavecom ürünlerini temel alan yazılım ve ürün yazılımı uygulamaları oluşturan geliştiricilere yöneliktir. Kılavuz aynı zamanda GSM şebekelerini veri iletim kanalı olarak kullanan sistemlerin çeşitli amaçlarla işletilmesinden sorumlu mühendisler için de önerilmektedir. GSM şebekelerinde veri iletimi konusunu dönem ödevlerinde veya tezlerinde kullanan öğrenciler için mükemmel bir referans kitabı.

    Bize bizden bahsedin

    İleti

    Arduino ile çalışma deneyiminiz varsa ve yaratıcılığa gerçekten zamanınız varsa herkesi portalımızda yayınlanan makalelerin yazarı olmaya davet ediyoruz. Arduino ile yaptığınız deneylerle ilgili hem dersler hem de hikayeler olabilir. Çeşitli sensörlerin ve modüllerin açıklaması. Yeni başlayanlar için ipuçları ve talimatlar. Makalelerinizi yazın ve yayınlayın.

    Bu simülatör Chrome tarayıcısında en iyi şekilde çalışır
    Arduino'ya daha yakından bakalım.

    Arduino harici devrelerin bağlanabileceği büyük bir bilgisayar değildir. Arduino Uno Atmega 328P kullanıyor
    Bu, karttaki en büyük çiptir. Bu çip, hafızasında saklanan programları çalıştırır. Programı Arduino IDE kullanarak usb üzerinden indirebilirsiniz. USB portu ayrıca arduinoya güç sağlar.

    Ayrı bir elektrik prizi bulunmaktadır. Kartta çeşitli cihazlara güç sağlamak için gerekli olan 5v ve 3.3v etiketli iki çıkış vardır. Ayrıca GND etiketli pinler de bulacaksınız, bunlar toprak pinleridir (toprak 0V'dir). Arduino platformunda ayrıca harici düğümlere bağlanan ve yüksek veya düşük (açık veya kapalı) olmak üzere iki duruma sahip, 0'dan 13'e kadar sayılarla etiketlenmiş 14 dijital pin (pim) bulunur. Bu kontaklar çıkış veya giriş olarak çalışabilir; ya bazı verileri aktarıp harici cihazları kontrol edebilirler ya da cihazlardan veri alabilirler. Karttaki aşağıdaki pinler A0-A5 olarak etiketlenmiştir. Bunlar çeşitli sensörlerden veri alabilen analog girişlerdir. Bu özellikle sıcaklık gibi belirli bir aralığı ölçmeniz gerektiğinde kullanışlıdır. Analog girişlerin ayrı olarak etkinleştirilebilen ek işlevleri vardır.

    Breadboard nasıl kullanılır?

    Devre tahtası, her şeyi birbirine lehimlemeden önce cihazın nasıl çalıştığını test etmek için parçaları geçici olarak bağlamak için oradadır.
    Aşağıdaki örneklerin tümü bir devre tahtası üzerinde bir araya getirilmiştir, böylece devrede hızlı bir şekilde değişiklik yapabilir ve lehimleme zahmetine girmeden parçaları yeniden kullanabilirsiniz.

    Breadboard'da parçaları ve telleri ekleyebileceğiniz sıra sıra delikler bulunur. Bu deliklerin bir kısmı birbirine elektriksel olarak bağlıdır.

    İki üst ve alt sıra tüm tahta boyunca seri olarak bağlanmıştır. Bu sıralar devreye güç sağlamak için kullanılır. 5v veya 3.3v olabilir, ancak her iki durumda da yapmanız gereken ilk şey 5v ve GND'yi gösterildiği gibi devre tahtasına bağlamaktır. Bazen bu sıra bağlantıları kartın ortasında kesilebilir, daha sonra gerekirse şekilde gösterildiği gibi bağlayabilirsiniz.








    Tahtanın ortasında bulunan deliklerin geri kalanı beş delik halinde gruplandırılmıştır. Devre parçalarını bağlamak için kullanılırlar.


    Mikrodenetleyicimize bağlayacağımız ilk şey bir LED olacaktır. Bağlantı şeması resimde gösterilmektedir.

    Devredeki direncin amacı nedir? Bu durumda LED'den geçen akımı sınırlandırır. Her LED belirli bir akım için tasarlanmıştır ve bu akım daha büyükse LED arızalanır. Direncin hangi değerde olması gerektiğini ohm yasasını kullanarak öğrenebilirsiniz. Bilmeyenler veya unutanlar için Ohm kanunu, akım ile gerilim arasında doğrusal bir ilişki olduğunu söylüyor. Yani dirence ne kadar çok voltaj uygularsak içinden o kadar fazla akım akacaktır.
    V=I*R
    Nerede V- direnç üzerindeki voltaj
    BEN- direnç üzerinden geçen akım
    R bulunacak dirençtir.
    İlk önce direnç üzerindeki voltajı bulmalıyız. Kullanacağınız 3mm veya 5mm LED'lerin çoğu 3v çalışma voltajına sahiptir. Yani direnç için 5-3 \u003d 2v ödememiz gerekiyor.

    Daha sonra dirençten geçen akımı hesaplıyoruz.
    3 ve 5mm LED'lerin çoğu 20mA'de tam parlaklıkta parlıyor. Bundan daha büyük bir akım onları yok edebilir, daha düşük bir akım ise herhangi bir zarar vermeden parlaklıklarını azaltır.

    Bu nedenle, 5v'luk bir devrede LED'i 20mA akıma sahip olacak şekilde açmak istiyoruz. Tüm parçalar tek bir devrede yer aldığından direnç de 20mA akıma sahip olacaktır.
    Aldık
    2V=20mA*R
    2V=0,02A*R
    R = 100ohm

    100 ohm minimum dirençtir, biraz daha fazla kullanmak daha iyidir çünkü LED'lerin özelliklerinde bazı farklılıklar vardır.
    Bu örnekte 220 ohm'luk bir direnç kullanılmıştır. Çünkü yazarda bunlardan çok var :wink: .

    LED'i, uzun ucu direncin uçlarından birine bağlanacak şekilde kartın ortasındaki deliklere yerleştirin. Direncin diğer ucunu 5V'a, LED'in diğer ucunu da GND'ye bağlayın. LED yanmalıdır.

    Lütfen LED'in nasıl bağlanacağı konusunda bir fark olduğunu unutmayın. Akım uzun uçtan kısa uca doğru akar. Diyagramda akımın üçgenin yöneldiği yönde aktığı düşünülebilir. LED'i çevirmeyi deneyin, parlamayacağını göreceksiniz.

    Ancak direnci nasıl bağlayacağınızda hiçbir fark yoktur. Ters çevirebilir veya LED'in farklı bir çıkışına bağlamayı deneyebilirsiniz, bu devrenin çalışmasını etkilemez. Yine de LED üzerinden akımı sınırlayacaktır.

    Arduino Çiziminin Anatomisi.

    Arduino için programlara kroki denir. İki ana işlevi vardır. İşlev kurmak ve işlev döngü
    bu fonksiyonun içinde tüm temel ayarları yapacaksınız. Hangi çıktıların girdi veya çıktı olarak çalışacağı, hangi kütüphanelerin bağlanacağı, değişkenleri başlatacağı. İşlev Kurmak()çizim sırasında program yürütme başladığında yalnızca bir kez çalışır.
    bu, bundan sonra yürütülen ana işlevdir kurmak(). Aslında programın kendisidir. Bu işlev siz gücü kapatana kadar süresiz olarak çalışacaktır.

    Arduino'nun yanıp sönen LED'i



    Bu örnekte, Arduino'nun dijital pinlerinden birine bir LED devresi bağlayıp programla açıp kapatacağız, ayrıca birkaç faydalı fonksiyonu da öğreneceğiz.

    Bu özellik şuralarda kullanılır: kurmak() programın bir parçasıdır ve giriş olarak kullanacağınız pinleri başlatmaya yarar (GİRİŞ) veya çık (ÇIKTI). Uygun şekilde ayarlamadığınız sürece pinden veri okuyamayacak veya yazamayacaksınız. pinModu. Bu işlevin iki argümanı vardır: PIN numarası kullanacağınız pin numarasıdır.

    mod-Pinin nasıl çalışacağını ayarlar. Girişte (GİRİŞ) veya çık (ÇIKTI). LED'i yakmak için bir sinyal vermeliyiz İTİBAREN Arduino. Bunu yapmak için pini çıkış yapacak şekilde yapılandırıyoruz.
    - bu fonksiyon durumu ayarlamak için kullanılır (durum) pina (PIN numarası). İki ana durum vardır (genellikle 3 tane vardır), biri YÜKSEK, pinde 5v olacak, diğeri Düşük ve pin 0v olacaktır. Yani LED'i yakabilmek için LED'e bağlı pin üzerinde yüksek bir seviye ayarlamamız gerekiyor. YÜKSEK.

    Gecikme. Programı ms cinsinden belirtilen süre boyunca geciktirmeye yarar.
    Aşağıda LED'in yanıp sönmesini sağlayan kod bulunmaktadır.
    //LED Blink int ledPin = 7;//LED'in bağlı olduğu Arduino pini void setup() ( pinMode(ledPin, OUTPUT);// pini OUTPUT olarak ayarlayın) void loop() ( digitalWrite(ledPin, HIGH);/ / LED gecikmesini aç(1000);// 1000 ms (1 sn) gecikme digitalWrite(ledPin, LOW);// LED gecikmesini kapat(1000);// 1 saniye bekle)

    Kodla ilgili küçük açıklamalar.
    "//" ile başlayan satırlar Arduino'nun görmezden geldiği yorumlardır.
    Tüm komutlar noktalı virgülle biter, unutursanız hata mesajı alırsınız.

    ledPin bir değişkendir. Değişkenler programlarda değerleri saklamak için kullanılır. Bu örnekte değişken ledPin 7 değeri atanmıştır, bu Arduino pin numarasıdır. Programdaki Arduino değişkenli bir çizgiyle karşılaştığında ledPin, daha önce belirttiğimiz değeri kullanacaktır.
    Öyleyse kaydet pinMode(ledPin, ÇIKIŞ) girişe benzer pinMode(7, ÇIKIŞ).
    Ancak ilk durumda, değişkeni değiştirmeniz yeterlidir ve kullanıldığı her satırda değişecektir ve ikinci durumda, değişkeni değiştirmek için her komutta tutamaçlarla değişiklik yapmanız gerekecektir.

    İlk satır değişkenin türünü belirtir. Bir Arduino'yu programlarken her zaman değişkenlerin türünü bildirmek önemlidir. Bunu bildiğin sürece Dahili Negatif ve pozitif sayıları bildirir.
    Aşağıda bir taslak simülasyonu bulunmaktadır. Devrenin nasıl çalıştığını görmek için başlat'a basın.

    Beklendiği gibi LED bir saniye sonra kapanıp açılıyor. Nasıl çalıştığını görmek için gecikmeyi değiştirmeyi deneyin.

    Birden fazla LED'in kontrolü.

    Bu örnekte birden fazla LED'in nasıl kontrol edileceğini öğreneceksiniz. Bunu yapmak için karta 3 adet daha LED takın ve bunları aşağıda gösterildiği gibi Arduino dirençlerine ve pinlerine bağlayın.

    LED'leri sırasıyla açıp kapatmak için aşağıdakine benzer bir program yazmanız gerekir:
    //Çoklu LED Yanıp Sönüyor int led1Pin = 4; int led2Pin = 5; intled3Pin = 6; int led4Pin = 7; void setup() ( //pinleri OUTPUT olarak ayarlayın pinMode(led1Pin, OUTPUT); pinMode(led2Pin, OUTPUT); pinMode(led3Pin, OUTPUT); pinMode(led4Pin, OUTPUT); ) void loop() ( digitalWrite(led1Pin, HIGH) );//LED'i yakma gecikmesi(1000);//1 sn. digitalWrite gecikmesi(led1Pin, LOW);//LED'i kapatma gecikmesi(1000);//1 sn gecikmesi //aynı işlemi diğer 3 LED için de yapın digitalWrite( led2Pin , HIGH); // LED gecikmesini aç (1000);// 1 saniye digitalWrite geciktir (led2Pin, LOW);// LED gecikmesini kapat (1000);// 1 saniye digitalWrite geciktir (led3Pin, HIGH) ;// LED gecikmesini aç (1000);// digitalWrite'ı 1 saniye geciktir (led3Pin, LOW);// LED gecikmesini kapat (1000);// digitalWrite'ı 1 saniye geciktir (led4Pin, HIGH);// aç LED gecikmesi(1000);// 1 sn gecikme digitalWrite(led4Pin, LOW);//LED'i kapat gecikmesi(1000);//1 sn gecikme)

    Bu program iyi çalışacaktır ancak en akıllı çözüm değildir. Kodun değiştirilmesi gerekiyor. Programın tekrar tekrar çalışabilmesi için isimli yapıyı uygulayacağız.
    Döngüler, aynı eylemi birkaç kez tekrarlamanız gerektiğinde kullanışlıdır. Yukarıdaki kodda satırları tekrarlıyoruz

    DigitalWrite(led4Pin, YÜKSEK); gecikme(1000); digitalWrite(led4Pin, DÜŞÜK); gecikme(1000);
    tam taslak kodu ekte (indirilenler: 1187)

    LED parlaklık ayarı

    Bazen programdaki LED'lerin parlaklığını değiştirmeniz gerekebilir. Bu komutla yapılabilir analogYaz() . Bu komut LED'i o kadar hızlı açıp kapatır ki göz bu titremeyi görmez. LED yarı süre boyunca açık ve yarı süre boyunca kapalıysa, görsel olarak parlaklığının yarısı kadar parladığı görülecektir. Buna Darbe Genişliği Modülasyonu (İngilizce'de PWM veya PWM) denir. PWM, dijital bir kod kullanarak "analog" bir bileşeni kontrol etmek için kullanılabildiğinden oldukça sık kullanılır. Tüm Arduino pinleri bu amaca uygun değildir. Yalnızca böyle bir tanımlamanın yapıldığı sonuçlar " ~ ". 3,5,6,9,10,11 pinlerinin yanında göreceksiniz.
    LED'lerinizden birini PWM pinlerinden birine bağlayın (yazarın pini 9'dur). Şimdi yanıp sönen LED taslağını çalıştırın, ancak önce komutu değiştirin dijitalYaz() Açık analogYaz(). analogYaz() iki argümanı vardır: birincisi pin numarası ve ikincisi PWM değeridir (0-255), LED'lere göre bu onların parlaklığı ve elektrik motorları için dönüş hızı olacaktır. Aşağıda farklı LED parlaklığı için örnek kod verilmiştir.
    //LED'in parlaklığını değiştirin int ledPin = 9;//bu pin'e bir LED bağlanır void setup() ( pinMode(ledPin, OUTPUT);// pinin çıkışa başlatılması ) void loop() ( analogWrite (ledPin, 255);// tam parlaklık (255/255 = 1) gecikme(1000);// 1 sn digitalWrite duraklat(ledPin, LOW);// LED gecikmesini kapat(1000);// 1 sn analogWrite duraklat (ledPin, 191);// parlaklık 3/4 (191/255 ~= 0,75) gecikme(1000);//1 saniye digitalWrite'ı duraklat(ledPin, LOW);//LED gecikmesini kapat(1000);// 1 sn analogWrite duraklat(ledPin, 127); //yarı parlaklık (127/255 ~= 0,5) gecikme(1000);//1s digitalWrite duraklat(ledPin, LOW);//LED gecikmesini kapat(1000);// 1 sn analogWrite duraklat(ledPin, 63); // çeyrek parlaklık (63/255 ~= 0,25) gecikme(1000);// 1 sn digitalWrite duraklat(ledPin, LOW);// LED gecikmesini kapat(1000);// 1 saniye duraklatın)

    Komuttaki PWM değerini değiştirmeyi deneyin analogYaz() Bunun parlaklığı nasıl etkilediğini görmek için.
    Daha sonra parlaklığı tamdan sıfıra kadar sorunsuz bir şekilde nasıl ayarlayacağınızı öğreneceksiniz. Elbette bir kod parçasını 255 kez kopyalayabilirsiniz.
    analogWrite(ledPin, parlaklık); gecikme(5);//kısa gecikme parlaklık = parlaklık + 1;
    Ama anlıyorsunuz ki bu pratik olmayacak. Bunu yapmanın en iyi yolu daha önce kullandığımız FOR döngüsünü kullanmaktır.
    Aşağıdaki örnekte biri parlaklığı 255'ten 0'a düşürmek için olmak üzere iki döngü kullanılmaktadır.
    for (int parlaklık=0;parlaklık=0;parlaklık--)( analogWrite(ledPin,parlaklık); gecikme(5); )
    gecikme(5) yavaşlama ve kaybolma hızını yavaşlatmak için kullanılır 5*256=1280ms=1,28sn.)
    İlk satırda " parlaklık-" döngünün her tekrarlanışında parlaklık değerini 1 oranında azaltmak için. Döngünün şu ana kadar çalışacağını unutmayın: parlaklık >=0.İşaretin değiştirilmesi > tabelada >= parlaklık aralığına 0'ı dahil ettik. Bu çizim aşağıda modellenmiştir. //parlaklığı sorunsuz bir şekilde değiştirin int ledPin = 9;//bu pin'e bir LED bağlı void setup() ( pinMode(ledPin, OUTPUT);// çıkış pininin başlatılması) void loop() ( //parlaklığı sorunsuz bir şekilde artırın parlaklık (0 ila 255 ) for (int parlaklık=0;parlaklık=0;parlaklık--)( analogWrite(ledPin,parlaklık); gecikme(5); ) gecikme(1000);//1 saniye bekle //parlaklığı yavaşça azalt (255 - 0) for (int parlaklık=255;parlaklık>=0;parlaklık--)( analogWrite(ledPin,parlaklık); gecikme(5); ) gecikme(1000);//1 sn bekle ))
    Pek iyi görünmüyor ama fikir açık.

    RGB LED ve Arduino

    Bir RGB LED aslında tek bir pakette farklı renklerde üç LED'dir.

    Farklı parlaklıktaki farklı LED'leri açarak birleştirerek farklı renkler elde edebilirsiniz. 256 dereceli bir Arduino için 256^3=16581375 olası renk elde edersiniz. Gerçekte elbette sayıları daha az olacak.
    Ortak katot olarak kullanacağımız LED. Onlar. üç LED'in tümü yapısal olarak katotlarla tek bir çıkışa bağlanmıştır. Bu pini GND pinine bağlayacağız. Kalan çıkışlar, sınırlama dirençleri aracılığıyla PWM çıkışlarına bağlanmalıdır. Yazar 9-11 numaralı pinleri kullanmış, böylece her LED'i ayrı ayrı kontrol etmek mümkün olacak. İlk çizimde her bir LED'in ayrı ayrı nasıl açılacağı gösterilmektedir.



    //RGB LED - test //pin bağlantıları int kırmızı = 9; int yeşil = 10; int mavi = 11; void setup()( pinMode(kırmızı, ÇIKIŞ); pinMode(mavi, ÇIKIŞ); pinMode(yeşil, ÇIKIŞ); ) void loop()( //kırmızı LED digitalWrite'ı açın/kapatın(kırmızı, YÜKSEK); gecikme( 500) ; digitalWrite(kırmızı, DÜŞÜK); gecikme(500); //yeşil LED'i aç/kapat digitalWrite(yeşil, YÜKSEK); gecikme(500); digitalWrite(yeşil, DÜŞÜK); gecikme(500); // mavi LED'i açın/kapatın digitalWrite(mavi, YÜKSEK); gecikme(500); digitalWrite(mavi, DÜŞÜK); gecikme(500); )

    Aşağıdaki örnekte komutlar kullanılmaktadır analogYaz() ve LED'ler için farklı rastgele parlaklık değerleri elde etmek. Farklı renklerin rastgele değiştiğini göreceksiniz.
    //RGB LED - rastgele renkler //pin bağlantıları int kırmızı = 9; int yeşil = 10; int mavi = 11; void setup()( pinMode(kırmızı, OUTPUT); pinMode(mavi, OUTPUT); pinMode(yeşil, OUTPUT); ) void loop()( //rastgele bir renk seçin analogWrite(kırmızı, rastgele(256)); analogWrite( mavi, rastgele(256)); analogWrite(yeşil, rastgele(256)); gecikme(1000);//bir saniye bekle )

    Rastgele(256)-0 ile 255 arasında rastgele bir sayı döndürür.
    Ekteki dosyada renklerin kırmızıdan yeşile, ardından maviye, kırmızıya, yeşile vb. yumuşak geçişlerini gösteren bir çizim bulunmaktadır. (indirilenler: 326)
    Taslak örneği işe yarıyor ancak çok fazla tekrar eden kod var. Bir renkten diğerine sorunsuzca geçiş yapacak kendi yardımcı fonksiyonunuzu yazarak kodu basitleştirebilirsiniz.
    İşte neye benzeyeceği: (indirilenler: 365)
    Fonksiyon tanımına parça parça bakalım. Fonksiyon çağrılır fader ve iki argümanı var. Her bağımsız değişken virgülle ayrılır ve işlev tanımının ilk satırında bildirilen türe sahiptir: geçersiz fader(int color1, int color2). Her iki argümanın da şu şekilde bildirildiğini görebilirsiniz: int ve onlara isim verilir renk1 Ve renk2 işlevi tanımlamak için koşul değişkenleri olarak. Geçersiz işlevin herhangi bir değer döndürmediği, yalnızca komutları yürüttüğü anlamına gelir. Çarpmanın sonucunu döndüren bir fonksiyon yazmak zorunda kalsaydınız, şöyle görünürdü:
    int çarpan(int sayı1, int sayı2)( int çarpım = sayı1*sayı2; dönüş çarpımı; )
    Türü nasıl bildirdiğimize dikkat edin int dönüş türü olarak bunun yerine
    geçersiz.
    Fonksiyonun içinde önceki çizimde zaten kullandığınız komutlar var, sadece pin numaraları değiştirildi renk1 Ve renk2. Fonksiyon çağrılır fader, argümanları şu şekilde hesaplanır: renk1=kırmızı Ve renk2 = yeşil. Arşiv, işlevlerin kullanıldığı eksiksiz bir çizim içerir (indirilenler: 272)

    Düğme

    Aşağıdaki çizimde mandalsız, normalde açık kontaklara sahip bir düğme kullanılacaktır.


    Bu, düğmeye basılmadığı sürece içinden hiçbir akım geçmediği ve düğmeyi bıraktıktan sonra düğmenin orijinal konumuna döndüğü anlamına gelir.
    Devrede butona ek olarak bir de direnç kullanılmaktadır. Bu durumda akımı sınırlamaz, ancak düğmeyi 0v'ye (GND) "yukarı çeker". Onlar. butona basılana kadar bağlı olduğu Arduino pininin değeri düşük olacaktır. 10 kΩ devresinde kullanılan direnç.


    //düğmeyi belirleyin int butona basınPin = 7; void setup()( pinMode(buttonPin, INPUT);//Serial.begin(9600) girişine pini başlat;//seri portu başlat ) void loop()( if (digitalRead(buttonPin)==HIGH)(//if düğmeye basıldı Serial.println("basıldı"); // print "basıldı" ) else ( Serial.println("basılmadı");// else "basılmadı" ))
    Bu taslakta birkaç yeni komut var.
    -Bu komut kontrol ettiğimiz çıkışın Yüksek (yüksek seviye) ve düşük (düşük seviye) değerini kabul eder. Daha önce setup()'da bu çıkışın giriş olarak yapılandırılması gerekiyordu.
    ; //burada butonPin butonun bağlı olduğu pin numarasıdır.
    Seri port, denetleyicinin kendisi programı yürütürken Arduino'nun bilgisayara mesaj göndermesine olanak tanır. Bu, bir programda hata ayıklamak, diğer cihazlara veya uygulamalara mesaj göndermek için kullanışlıdır. Seri bağlantı noktası üzerinden veri aktarımını etkinleştirmek için (UART veya USART'ın başka bir adı), bunu kurulumda başlatmanız gerekir ()

    Seri.begin() tek bir argümanı var - bu, Arduino ile bilgisayar arasındaki veri aktarım hızıdır.
    Çizim, Arduino IDE'de (Araçlar >> Seri Monitör) ekranda bir mesaj görüntülemek için bir komut kullanır.
    - tasarım, birkaç kontrolü tek bir yerde birleştirerek programın ilerleyişini kontrol etmenize olanak tanır.
    digitalRead YÜKSEK değerini döndürürse(eğer) monitörde "basıldı" kelimesi görüntülenir. Aksi halde(aksi takdirde) monitörde "basıldı" kelimesi görüntülenir. Artık bir düğmeye dokunarak LED'i açıp kapatmayı deneyebilirsiniz.
    //LED çıkışı ile tuşa basma tespiti int butonuPin = 7; int ledPin = 8; void setup()( pinMode(buttonPin, INPUT);//bu sefer buton pinini INPUT olarak ayarlayacağız pinMode(ledPin, OUTPUT); Serial.begin(9600); ) void loop()( if (digitalRead(buttonPin)= =YÜKSEK)( digitalWrite(ledPin,YÜKSEK); Serial.println("basılmış"); ) else ( digitalWrite(ledPin,LOW); Serial.println("basılmamış"); ))

    Analog giriş.

    analogOku Arduino analog pinlerinden birinden veri okumanıza olanak tanır ve 0 (0V) ila 1023 (5V) aralığında bir değer verir. Analog girişteki voltaj 2,5V ise 2,5 / 5 * 1023 = 512 yazdırılacaktır
    analogOku yalnızca bir argümanı vardır - Bu, analog girişin numarasıdır (A0-A5). Aşağıdaki çizim bir potansiyometreden voltajı okumak için kodu göstermektedir. Bunu yapmak için, uç terminalleri 5V ve GND pinlerine ve orta terminali A0 girişine olacak şekilde değişken bir direnç bağlayın.

    Aşağıdaki kodu çalıştırın ve seri monitörde direnç düğmesinin dönüşüne bağlı olarak değerlerin nasıl değiştiğini görün.
    //analog giriş int potPin = A0;//potansiyometrenin merkez pini bu pin'e bağlanır void setup()( //analog pin varsayılan olarak giriş olarak etkindir, dolayısıyla başlatmaya gerek yoktur Serial.begin(9600); ) void loop()( int potVal = analogRead(potPin);//potVal, 0 ile 1023 arasında bir sayıdır Serial.println(potVal); )
    Aşağıdaki çizim, düğmeye basma taslağını ve LED parlaklık kontrolü taslağını birleştirir. LED düğmeden yanacak ve potansiyometre ışığın parlaklığını kontrol edecektir.
    //LED çıkışı ve değişken yoğunluk ile tuşa basma tespiti int butonuPin = 7; int ledPin = 9; int potPin = A0; void setup()( pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); Serial.begin(9600); ) void loop()( if (digitalRead(buttonPin)==HIGH)(//if butona basıldı int analogVal = analogRead(potPin); int ScaledVal = map(analogVal, 0, 1023, 0, 255); analogWrite(ledPin, ScaledVal); // LED'i pot Serial.println("pressed"); tarafından belirlenen yoğunlukta açın, else ( digitalWrite(ledPin, LOW);//butona basılmazsa kapanır Serial.println("basılmamış"); ) )

    Bu ders, Arduino sistemlerini C dilinde programlamak için gereken minimum bilgiyi sağlar. Bunu yalnızca görüntüleyebilir ve gelecekte referans olarak kullanabilirsiniz. Başka sistemlerde C dilinde programlama yapmış olanlar bu makaleyi atlayabilirler.

    Yine söylüyorum bu minimumdur. İşaretçilerin, sınıfların, dize değişkenlerinin vb. açıklaması. Daha sonraki derslerde verilecektir. Bir şey mantıklı gelmiyorsa endişelenmeyin. Gelecek derslerde birçok örnek ve açıklama olacak.

    Arduino programının yapısı.

    Arduino programının yapısı oldukça basittir ve minimum haliyle setup() ve loop() olmak üzere iki bölümden oluşur.

    geçersiz kurulum()(

    geçersiz döngü() (

    Denetleyici açıldığında veya sıfırlandığında setup() işlevi bir kez yürütülür. Genellikle değişkenlerin ve kayıtların ilk ayarları burada gerçekleşir. İşlev, içinde hiçbir şey olmasa bile programda mevcut olmalıdır.

    setup() tamamlandıktan sonra kontrol, loop() fonksiyonuna geçer. Bünyesinde yazılan komutları (küme parantezleri arasında) sonsuz döngüde çalıştırır. Aslında bu komutlar denetleyicinin tüm algoritmik eylemlerini gerçekleştirir.

    C dilinin orijinal sözdizimi kuralları.

    ; noktalı virgülİfadeler isteğe bağlı olarak çok sayıda boşluk ve satır sonu içerebilir. İfadenin sonunun işareti "noktalı virgül" sembolüdür.

    z = x + y
    z=x
    +y;

    ( ) küme parantezleri bir fonksiyon veya ifade bloğunu tanımlayın. Örneğin setup() ve loop() fonksiyonlarında.

    /* … */ yorum bloğu mutlaka kapatın.

    /* bu bir yorum bloğudur */

    // tek satırlık yorum, kapatmaya gerek yok, satır sonuna kadar geçerlidir.

    // bu bir yorum satırıdır

    Değişkenler ve veri türleri.

    Değişken, bellekte bilgilerin depolandığı konumdur. Program, ara hesaplama verilerini depolamak için değişkenleri kullanır. Hesaplamalar için farklı formatlardaki veriler, farklı bit derinlikleri kullanılabilir, dolayısıyla C dilindeki değişkenler aşağıdaki türlere sahiptir.

    Veri tipi Bit derinliği, bit Sayı aralığı
    boolean 8 doğru yanlış
    karakter 8 -128 … 127
    imzasız karakter 8 0 … 255
    bayt 8 0 … 255
    int 16 -32768 … 32767
    imzasız int 16 0 … 65535
    kelime 16 0 … 65535
    uzun 32 -2147483648 … 2147483647
    imzasız uzun 32 0 … 4294967295
    kısa 16 -32768 … 32767
    batmadan yüzmek 32 -3.4028235+38 … 3.4028235+38
    çift 32 -3.4028235+38 … 3.4028235+38

    Veri türleri gerekli hesaplama doğruluğu, veri formatları vb. temel alınarak seçilir. Örneğin 100'e kadar sayan bir sayaç için long tipini seçmek gerekli değildir. Çalışacaktır ancak işlem daha fazla veri ve program belleği gerektirecektir, daha fazla zaman alacaktır.

    Değişkenlerin bildirilmesi.

    Veri türü ve ardından değişken adı belirtilir.

    intx; // int türünde x adlı bir değişkenin bildirimi
    kayan genişlik kutusu; // float tipinde widthBox adlı bir değişkenin bildirimi

    Tüm değişkenler kullanılmadan önce bildirilmelidir.

    Bir değişken programın herhangi bir bölümünde bildirilebilir, ancak bu, programın hangi bloklarının onu kullanabileceğine bağlıdır. Onlar. değişkenlerin kapsamları vardır.

    • Programın başlangıcında, void setup() işlevinden önce bildirilen değişkenler genel olarak kabul edilir ve programın herhangi bir yerinde kullanılabilir.
    • Yerel değişkenler for döngüsü gibi işlevler veya bloklar içinde bildirilir ve yalnızca bildirilen bloklar içinde kullanılabilir. Aynı ada sahip ancak farklı kapsamlara sahip birden fazla değişken mümkündür.

    iç mod; // değişken tüm işlevlerde kullanılabilir

    geçersiz kurulum()(
    // boş blok, başlangıç ​​ayarına gerek yok
    }

    geçersiz döngü() (

    uzun sayım; // count değişkeni yalnızca loop() fonksiyonunda mevcuttur

    for (int i=0; i< 10;) // переменная i доступна только внутри цикла
    {
    i++;
    }
    }

    Bir değişken bildirirken, onun başlangıç ​​değerini ayarlayabilirsiniz (başlatma).

    int x = 0; // x değişkeni başlangıç ​​değeri 0 ile bildirildi
    karakter d = 'a'; // d değişkeni başlangıç ​​değeri “a” karakter koduna eşit olacak şekilde bildirildi

    Farklı veri türleriyle aritmetik işlemler gerçekleştirirken veri türleri otomatik olarak dönüştürülür. Ancak her zaman açık bir dönüşüm kullanmak daha iyidir.

    intx; // int değişken
    ihtiyatlı; // karakter değişkeni
    intz; // int değişken

    z = x + (int)y; // y değişkeni açıkça int'ye dönüştürüldü

    Aritmetik işlemler.

    ilişki işlemleri.

    mantıksal işlemler.

    İşaretçiler üzerinde işlemler.

    bit işlemleri.

    & VE
    | VEYA
    ^ ÖZEL VEYA
    ~ TERS ÇEVİRME
    << SOLA KAY
    >> SAĞA KAYDIR

    Karma atama işlemleri.

    Seçeneklerin seçimi, program yönetimi.

    IF beyanı parantez içindeki koşulu test eder ve koşul doğruysa sonraki ifadeyi veya süslü parantez içindeki bloğu yürütür.

    if (x == 5) // eğer x=5 ise z=0 yürütülür
    z=0;

    if (x > 5) // if x >
    ( z=0; y=8; )

    EĞER…ELSE iki seçenek arasında seçim yapmanızı sağlar.

    if (x > 5) // eğer x > 5 ise z=0, y=8 bloğu çalıştırılır;
    {
    z=0;
    y=8;
    }

    {
    z=0;
    y=0;
    }

    DİĞER DURUMDA- birden fazla seçim yapmanızı sağlar

    if (x > 5) // eğer x > 5 ise z=0, y=8 bloğu çalıştırılır;
    {
    z=0;
    y=8;
    }

    else if (x > 20) // if x > 20 ise bu bloğu çalıştır
    {
    }

    else // aksi halde bu blok çalıştırılır
    {
    z=0;
    y=0;
    }

    YER DEĞİŞTİR- çoktan seçmeli. Bir değişkeni (örnekte x'tir) birkaç sabitle (örnek 5 ve 10) karşılaştırmanıza ve değişkenin sabite eşit olduğu bir bloğu çalıştırmanıza olanak tanır.

    anahtar(x)(

    durum 5:
    // x = 5 ise kod çalıştırılır
    kırmak;

    durum 10:
    // x = 10 ise kod çalıştırılır
    kırmak;

    varsayılan:
    // önceki değerlerden hiçbiri eşleşmezse kod çalıştırılır
    kırmak;
    }

    Döngü için. Yapı, belirli sayıda yinelemeyle döngüleri düzenlemenize olanak tanır. Sözdizimi şöyle görünür:

    for (döngünün başlangıcından önceki eylem;
    döngüyü sürdürme koşulu;
    her yinelemenin sonundaki eylem) (

    // döngü gövdesi kodu

    100 yinelemeden oluşan bir döngü örneği.

    için (i=0; ben< 100; i++) // начальное значение 0, конечное 99, шаг 1

    {
    toplam = toplam + I;
    }

    Döngü sırasında. Operatör, inşaatla ilgili döngüleri düzenlemenize olanak tanır:

    iken (ifade)
    {
    // döngü gövdesi kodu
    }

    Parantez içindeki ifade doğru olduğu sürece döngü yürütülür. 10 yineleme için bir döngü örneği.

    x = 0;
    iken (x< 10)
    {
    // döngü gövdesi kodu
    x++;
    }

    YAPARKENçıkışta koşulu olan bir döngüdür.

    Yapmak
    {
    // döngü gövdesi kodu
    ) while (ifade);

    İfade doğru olduğu sürece döngü yürütülür.
    KIRMAK- döngü çıkış operatörü. For, while, do while döngülerinin yürütülmesini durdurmak için kullanılır.

    x = 0;
    iken (x< 10)
    {
    (z > 20) kırılırsa; // eğer z > 20 ise döngüden çıkalım
    // döngü gövdesi kodu
    x++;
    }

    GİT koşulsuz atlama operatörüdür.

    etiket1'e git; // metka1'e geç
    ………………
    metka1:

    DEVAM ETMEK- İfadeleri döngü gövdesinin sonuna atlayın.

    x = 0;
    iken (x< 10)
    {
    // döngü gövdesi kodu
    (z > 20) devam ederse; // eğer z > 20 ise döngü gövdesinin başına dön
    // döngü gövdesi kodu
    x++;
    }

    Diziler.

    Dizi, birden fazla değişkenin sırayla depolandığı bir bellek bölgesidir.

    Bir dizi şu şekilde bildirilir.

    int yaşlar; // 10 int değişkenden oluşan dizi

    yüzer ağırlık; // 100 float değişkenden oluşan dizi

    Bildirirken diziler başlatılabilir:

    int yaşlar = ( 23, 54, 34, 24, 45, 56, 23, 23, 27, 28);

    Dizi değişkenlerine şu şekilde erişilir:

    x = yaşlar; // x'e dizinin 5. elemanının değeri atanır.
    yaş=32; // dizi elemanı 9, 32 olarak ayarlandı

    Dizi elemanları her zaman sıfırdan numaralandırılır.

    Fonksiyonlar.

    İşlevler aynı eylemleri farklı verilerle gerçekleştirmenize olanak tanır. İşlev şunları içerir:

    • ona çağrıldığı isim;
    • argümanlar - fonksiyonun hesaplama için kullandığı veriler;
    • işlevin döndürdüğü veri türü.

    setup() ve loop() işlevlerinin dışında kullanıcı tanımlı bir işlevi açıklar.

    geçersiz kurulum()(
    // program başladığında kod bir kez çalıştırılır
    }

    geçersiz döngü() (
    // ana kod döngü içerisinde çalışır
    }

    // işlevAdı adlı özel bir işlevin bildirimi
    type functionName(tür argüman1, tür argüman1, … , tür argümanı)
    {
    // fonksiyon gövdesi
    geri dönmek();
    }

    İki bağımsız değişkenin karelerinin toplamını hesaplayan bir fonksiyon örneği.

    int toplamQwadr (int x, int y)
    {
    dönüş(x* x + y*y);
    }

    İşlev çağrısı şu şekilde olur:

    d=2; b=3;
    z= toplamQwadr(d, b); // z, d ve b değişkenlerinin karelerinin toplamı olacaktır

    İşlevler yerleşik, özel ve eklentili olabilir.

    Çok kısa ama Arduino sistemleri için C programları yazmaya başlamak için bu veriler yeterli olacaktır.

    Bu derste bahsetmek istediğim son şey, C programlarını şekillendirmenin nasıl bir gelenek olduğudur, bence bu dersi ilk kez okuyorsanız, bu bölümü atlamalı ve daha sonra, yapacak bir şeyiniz olduğunda bu bölüme geri dönmelisiniz. tarzı.

    Programların dış tasarımının temel amacı, programların okunabilirliğini artırmak, biçimsel hataların sayısını azaltmaktır. Bu nedenle, bu hedefe ulaşmak için tüm önerileri güvenle ihlal edebilirsiniz.

    C dilinde isimler.

    Veri türlerini temsil eden adlar karışık olarak yazılmalıdır. İsmin ilk harfi büyük (büyük harf) olmalıdır.

    Sinyal, Zaman Sayımı

    Değişkenler karışık harflerle, ilk harfleri küçük (küçük harf) olarak yazılmalıdır.

    Kategori: . Favorilerinize ekleyebilirsiniz.

    Bu makale, Arduino'ya başlamanıza yardımcı olacak ve farklı Arduino türlerinin bir tanımını, Arduino yazılım geliştirme ortamının nasıl indirileceğini ve Arduino ile projeler geliştirmek için ihtiyaç duyacağınız Arduino için mevcut çeşitli panoları ve aksesuarları açıklamaktadır.

    Arduino, birçok farklı uygulamada kullanılabilen açık kaynaklı tek kartlı bir denetleyicidir. Hobiler, öğrenciler ve profesyonellerin mikrodenetleyici tabanlı projeler geliştirmesi için muhtemelen en basit ve en ucuz mikrodenetleyici seçeneğidir. Arduino kartları bir Atmel AVR mikrokontrolcüsü veya bir Atmel ARM mikrokontrolcüsü kullanır ve bazı sürümlerde bir USB arayüzü bulunur. Ayrıca sensörleri, aktüatörleri ve diğer çevresel devreleri mikro denetleyiciye bağlamak için kullanılan altı veya daha fazla analog giriş pini ve on dört veya daha fazla dijital giriş/çıkış (I/O) pini vardır. Arduino kartlarının fiyatı, fonksiyon setine bağlı olarak altı ila kırk dolar arasında değişiyor.

    Arduino Kartlarının Çeşitleri

    Aşağıdaki listede gösterildiği gibi her biri kendi özelliklerine sahip birçok farklı Arduino kartı türü vardır. İşleme hızı, bellek, G / Ç bağlantı noktaları ve bağlantı açısından farklılık gösterirler, ancak işlevselliklerinin ana bileşeni değişmeden kalır.

    • arduino robotu
    • arduino ethernet'i

    Bu sitenin "Satın Al" bölümünün "" kısmında Arduino kartlarının çeşitlerini ve teknik açıklamalarını inceleyebilirsiniz.

    Yazılım (IDE)

    Arduino'yu programlamak için kullanılan yazılım Arduino IDE'dir. IDE, PC, Mac ve Linux sistemleri de dahil olmak üzere birçok farklı platformda çalışan bir Java uygulamasıdır. Programlamaya aşina olmayan yeni başlayanlar için tasarlanmıştır. Bir editör, derleyici ve yükleyici içerir. IDE ayrıca seri bağlantı noktaları ve çeşitli ekran türleri gibi çevre birimlerini kullanmak için kod kitaplıkları içerir. Arduino için programlara "sketch" adı verilir ve C veya C++'a çok benzer bir dilde yazılırlar.

    Çoğu Arduino kartı bir bilgisayara USB kablosu kullanarak bağlanır. Bu bağlantı, Arduino kartınıza taslaklar yüklemenizi sağlar ve aynı zamanda panoya güç sağlar.

    Arduino için USB kablosu

    Programlama

    Arduino programlama kolaydır: önce programınızı yazmak için IDE'nin kod düzenleyicisini kullanırsınız, ardından onu tek bir tıklamayla derleyip indirirsiniz.

    Arduino programı iki ana işlevi içerir:

    • kurmak()
    • döngü()

    Kart ayarlarını başlatmak için setup() fonksiyonunu kullanabilirsiniz. Bu fonksiyon kart açıldığında yalnızca bir kez gerçekleştirilir.

    loop() işlevi, setup() işlevi tamamlandıktan sonra yürütülür ve setup() işlevinden farklı olarak her zaman çalışır.

    Program fonksiyonları

    Arduino'yu programlarken en sık kullanılan işlevlerin listesi aşağıdadır:

    • pinMode - pini giriş veya çıkış moduna ayarlar;
    • analogRead - analog giriş pinindeki analog voltajı okur;
    • analogWrite - analog çıkış pinine analog voltaj yazar;
    • digitalRead - dijital giriş pininin değerini okur;
    • digitalWrite - dijital çıkış pininin değerini yüksek veya düşük olarak ayarlar;
    • Seri.print - Verileri seri bağlantı noktasına insan tarafından okunabilir ASCII metni olarak yazar.

    Arduino Kütüphaneleri

    Arduino kütüphaneleri, cihazları kontrol etmenize izin veren işlevler koleksiyonudur. İşte en yaygın kullanılan kütüphanelerden bazıları:

    • EEPROM - "kalıcı" depolamaya okuma ve yazma;
    • Ethernet - Arduino Ethernet Kalkanı kartını kullanarak internete bağlanmak için;
    • Firmata - standart bir seri protokol kullanarak bilgisayardaki uygulamalarla iletişim kurmak için;
    • GSM - GSM kartını kullanarak GSM/GRPS ağına bağlanmak için;
    • LiquidCrystal - sıvı kristal ekranları (LCD) kontrol etmek için;
    • SD - SD kartları okumak ve yazmak için;
    • Servo - servoları kontrol etmek için;
    • SPI - SPI veriyolunu kullanan cihazlarla iletişim kurmak için;
    • SoftwareSerial - herhangi bir dijital pin aracılığıyla seri iletişim için;
    • Stepper - step motorları kontrol etmek için;
    • TFT - Arduino TFT ekranlarında metin, resim ve şekil çizmek için;
    • WiFi - Arduino WiFi kalkanını kullanarak internete bağlanmak için;
    • Kablo - bir cihaz veya sensör ağı aracılığıyla veri iletmek ve almak için iki kablolu arayüz (TWI/I2C).

    Arduino kurulum adımları


    Uyarı: Sisteminiz Arduino'yu algılamazsa sürücüleri yüklemeniz gerekebilir.