Yararlı arduino projeleri. Arduino projeleri

  • 07.08.2019

Arduino, mikrodenetleyiciler için çok yönlü bir DIY platformudur. Bunun için birçok kalkan (genişleme kartı) ve sensör var. Bu çeşitlilik, hayatınızı iyileştirmeyi ve konforunu artırmayı amaçlayan bir dizi ilginç proje yapmanızı sağlar. Kartın uygulama alanları sonsuzdur: otomasyon, güvenlik sistemleri, veri toplama ve analiz etme sistemleri vb.

Bu makaleden Arduino'da ilginç şeyler yapabileceğinizi öğreneceksiniz. Hangi projeler muhteşem olacak ve hangileri faydalı olacak.

Arduino ile neler yapılabilir

robotlu süpürge

Dairenin temizlenmesi, özellikle zaman aldığı için rutin ve çekici olmayan bir iştir. Ev işlerinden bazıları robota atanmışsa kaydedebilirsiniz. Bu robot, Sochi - Dmitry Ivanov'dan bir elektronik mühendisi tarafından monte edildi. Yapısal olarak, yeterli kalitede olduğu ve verimlilik açısından düşük olmadığı ortaya çıktı.

Birleştirmek için ihtiyacınız olacak:

1. Arduino Pro-mini veya diğer benzer ve uygun boyutta...

2. Pro mini kullanıyorsanız USB'den TTL'ye adaptör. Arduino Nano'yu seçtiyseniz, buna ihtiyacınız yok. Anakart üzerinde zaten yüklü.

3. DC motorları kontrol etmek ve tersine çevirmek için L298N sürücüsü gereklidir.

4. Dişli ve tekerlekli küçük motorlar.

5. 6 IR sensörleri.

6. Türbin motoru (daha büyük).

7. Türbin kendisi veya daha doğrusu elektrikli süpürgenin çarkı.

8. Fırçalar için motor (küçük).

9. 2 çarpışma sensörü.

10. 4 x 18650 pil.

11. 2 DC-DC dönüştürücü (yükseltme ve düşürme).

13. Pillerin çalıştırılması (şarj ve deşarj) için kontrolör.

Kontrol sistemi şöyle görünür:

Ve işte güç sistemi:

Bu tür temizleyiciler gelişiyor, fabrika yapımı modeller karmaşık akıllı algoritmalara sahip, ancak pahalı meslektaşlarına göre kaliteden daha düşük olmayacak kendi tasarımınızı yapmaya çalışabilirsiniz.

Herhangi bir renkte ışık akısı üretebilen, genellikle gövdesinde farklı renklerde parlayan üç kristalin bulunduğu LED'leri kullanırlar. Onları kontrol etmek için özel RGB kontrolörleri satılır, özü LED şeridin renklerinin her birine sağlanan akımı düzenlemektir, bu nedenle üç rengin her birinin parıltısının yoğunluğu düzenlenir (ayrı ayrı).

Arduino üzerinde kendi RGB kontrol cihazınızı yapabilirsiniz, hatta dahası bu proje Bluetooth üzerinden kontrol uygular.

Fotoğraf, tek bir RGB LED kullanmanın bir örneğini göstermektedir. Bandı kontrol etmek için ek bir 12V güç kaynağı gereklidir, ardından devreye dahil olan alan etkili transistörlerin kapıları kontrol edilecektir. Kapı şarj akımı 10 kΩ dirençlerle sınırlıdır, Arduino pini ile kapı arasına seri olarak monte edilirler.

Arduino ve akıllı telefon tabanlı uzaktan kumanda

Bir mikrodenetleyici kullanarak, bir cep telefonundan kontrol edilen evrensel bir uzaktan kumanda yapabilirsiniz.

Bunun için ihtiyacınız olacak:

    Herhangi bir modelin Arduino'su;

    IR alıcısı TSOP1138;

    IR LED'i;

    Bluetooth modülü HC-06.

Proje, fabrika uzaktan kumandalarından kodları okuyabilir ve değerlerini saklayabilir. Bundan sonra, bu ev yapımı ürünü Bluetooth üzerinden kontrol edebilirsiniz.

Web kamerası döner bir mekanizma üzerine monte edilmiştir. Yüklü yazılıma sahip bir bilgisayara bağlanır. Bilgisayarla görme kitaplığına dayanmaktadır - OpenCV (Açık Kaynaklı Bilgisayarla Görme Kitaplığı), program bir yüz algıladıktan sonra, hareketinin koordinatları bir USB kablosu aracılığıyla iletilir.

Arduino, döner mekanizmanın tahrikine bir komut verir ve kamera merceğini konumlandırır. Kamerayı hareket ettirmek için bir çift servo kullanılır.

Video, bu cihazın çalışmasını gösterir.

Hayvanlarına dikkat et!

Buradaki fikir, hayvanınızın nerede yürüdüğünü bulmaktır, bu bilimsel araştırma ve sadece eğlence için ilgi çekici olabilir. Bunu yapmak için bir GPS izci kullanmanız gerekir. Ancak konum verilerini bir sürücüde depolamak için.

Aynı zamanda, hayvanın bundan rahatsızlık duymaması gerektiğinden, cihazın boyutları burada belirleyici bir rol oynamaktadır. Verileri kaydetmek için, Micro-SD hafıza kartlarıyla çalışmak için kullanabilirsiniz.

Aşağıda cihazın orijinal versiyonunun bir diyagramı bulunmaktadır.

Projenin orijinal versiyonu TinyDuino kartını ve bunun için kalkanları kullandı. Bir tane bulamazsanız, küçük Arduino'ları kullanabilirsiniz: mini, mikro, nano.

Güç için küçük kapasiteli bir Li-ion elemanı kullanıldı. Küçük pil yaklaşık 6 saat sürer. Yazar, her şeyi kesilmiş bir tic-tac kavanozuna sığdırdı. Geçerli sensör okumalarını alabilmek için GPS anteninin yukarıya bakması gerektiğini belirtmekte fayda var.

Şifreli kilit kırıcı

Arduino ile kod kilitlerini kırmak için bir servo ve step motora ihtiyacınız olacak. Bu proje hacker Samy Kamkar tarafından geliştirilmiştir. Bu oldukça karmaşık bir projedir. Bu cihazın çalışması, yazarın tüm detayları anlattığı videoda gösterilmektedir.

Tabii ki, böyle bir cihaz pratik kullanım için pek uygun değil, ancak bu mükemmel bir gösteri.

müzikte arduino

Bu büyük olasılıkla bir proje değil, bu platformun müzisyenler tarafından nasıl kullanıldığına dair küçük bir gösteri.

Arduino'da davul makinesi. Bunun, kaydedilen örneklerin sıradan bir sayımı değil, prensipte "demir" cihazları kullanarak ses üretimi olması dikkat çekicidir.

Detay derecelendirmeleri:

    NPN tipi transistör, örneğin 2n3904 - 1 adet.

    Direnç 1 kOhm (R2, R4, R5) - 3 adet.

    330 Ohm (R6) - 1 adet.

    10 kOhm (R1) - 1 adet.

    100 kOhm (R3) - 1 adet.

    Elektrolitik kapasitör 3.3 uF - 1 adet.

Projenin çalışması için, bir Fourier serisine hızlı genişleme için kütüphaneyi bağlamanız gerekecek.

Bu, "arkadaşlarınıza övünebilirsiniz" kategorisinden oldukça basit ve ilginç bir projedir.

3 robot projesi

Robotik, inekler için en ilginç alanlardan biridir ve sadece kendi elleriyle alışılmadık bir şey yapmayı sevenler için birkaç ilginç proje seçmeye karar verdim.

Arduino üzerinde BEAM robotu

Dört ayaklı bir yürüyen robotu monte etmek için ihtiyacınız olacak:

    Bacakları hareket ettirmek için servo motorlara ihtiyaç vardır, örneğin Tower Hobbies TS-53;

    Orta kalınlıkta bir bakır tel parçası (yapının ağırlığına dayanacak ve bükülmeyecek, ancak çok kalın değil, çünkü mantıklı değil);

    Mikrodenetleyici - AVR ATMega 8 veya herhangi bir modelin Arduino kartı;

    Projedeki şasi için Sintra Frame kullanıldığı belirtiliyor. Plastik gibi bir şey, ısıtıldığında herhangi bir şekle giriyor.

Sonuç olarak şunları alacaksınız:

Bu robotun araba kullanmaması, yürümesi, üzerine basıp 1 cm'ye kadar yüksekliklere çıkabilmesi dikkat çekicidir.

Nedense bu proje bana Wall-e çizgi filminden bir robotu hatırlattı. Özelliği, pilleri şarj etmek için kullanılmasıdır. 4 teker üzerinde araba gibi hareket eder.

Bileşen parçaları:

    Uygun büyüklükte plastik şişe;

  • Süveter anne-baba;

    6V çıkış voltajına sahip güneş paneli;

    Tekerlek, motor ve diğer parçaların bağışçısı olarak - radyo kontrollü bir araba;

    İki sürekli dönüş servosu;

    İki geleneksel servo (180 derece);

    AA piller ve "taç" için tutucu;

    Çarpışma sensörü;

    LED'ler, fotodirençler, 10 kΩ sabit dirençler - toplamda 4 adet;

    diyot 1n4001.

İşte temel - bir proto-kalkanlı Arduino kartı.

Tekerleklerden yedek parçalar böyle görünüyor.

Tasarım neredeyse tamamlandı, sensörler kuruldu.

Robotun işinin özü, ışığa gitmesidir. Bolluk içinde gezinmesi gerekiyor.

Bu bir robottan çok bir CNC makinesi ama proje çok eğlenceli. 2 eksenli bir çizim makinesidir. İşte içerdiği ana bileşenlerin bir listesi:

    (DVD) CD sürücüleri - 2 adet;

    A498 step motorlar için 2 sürücü;

    servo MG90S;

    Arduino Uno;

    Güç kaynağı 12V;

    Tükenmez kalem ve diğer tasarım öğeleri.

Optik disk sürücüsünden, optik kafayı konumlandıran kademeli motorlu ve kılavuz çubuklu bloklar kullanılır. Bu bloklardan motor, mil ve taşıyıcı çıkarılır.

Step motoru ek ekipman olmadan kontrol edemezsiniz, bu nedenle özel sürücü panoları kullanılır, başlatma veya dönüş yönünü değiştirme sırasında üzerlerine bir motor radyatörünün takılması daha iyidir.

Tüm montaj ve çalıştırma işlemi bu videoda gösterilmektedir.

Çözüm

Bu makale, bu popüler platformda yapabileceklerinizin sadece küçük bir damlasıdır. Aslında, hepsi hayal gücünüze ve kendiniz için belirlediğiniz göreve bağlıdır.

Çoğu elektronik mühendisi, projelerini zaten birkaç kez yazmış olduğumuz bir mikro denetleyici temelinde oluşturmayı tercih eder. Aşağıdaki makalede, yeni başlayanlar için basit elektronik cihaz tasarımlarını ve söz konusu mikrodenetleyiciye dayalı en sıra dışı projeleri ele alacağız.

Başlamak için, çoğu projenin üzerine inşa edildiği Arduino Uno mikroişlemcisinin işlevselliğini tanımaya değer ve ayrıca bu cihazı seçme nedenlerini de göz önünde bulundurun. Acemi bir mucidin Arduino uno'da durması gereken faktörler aşağıdadır:

  1. Arayüz kullanımı oldukça kolay. Kontağın nerede olduğu ve bağlantı kablolarının nereye takılacağı açıktır.
  2. Karttaki çip, doğrudan USB bağlantı noktasına bağlanır. Bu kurulumun avantajı, seri iletişimin zamana dayanan çok basit bir protokol olması ve USB'nin modern bilgisayarlara bağlanmayı çok kolay hale getirmesidir.
  3. ATmega328 yongası olan mikrodenetleyicinin orta kısmını bulmak kolaydır. Zamanlayıcılar, harici ve dahili kesintiler, PWM pinleri ve çoklu uyku modları gibi daha fazla donanım özelliğine sahiptir.
  4. Cihaz açık kaynak kodludur, bu nedenle çok sayıda radyo amatörü yazılımdaki hataları ve sorunları düzeltebilir. Bu, projelerde hata ayıklamayı kolaylaştırır.
  5. Saat hızı, çoğu uygulama için yeterince hızlı olan ve mikrodenetleyiciyi hızlandırmayan 16 MHz'dir.
  6. İçindeki gücü kontrol etmek çok uygundur ve yerleşik bir voltaj düzenleme işlevine sahiptir. Ayrıca, mikro denetleyici, harici bir güç kaynağı olmadan USB bağlantı noktasından ayrılabilir. 12 V'a kadar harici bir güç kaynağı bağlayabilirsiniz. Ayrıca, mikroişlemci gerekli voltajı kendisi belirleyecektir.
  7. 13 dijital kontak ve 6 analog kontak varlığı. Bu pinler, ekipmanı üçüncü taraf bir taşıyıcıdan Arduino uno kartına bağlamanıza izin verir. Pinler, Arduino uno'nun bilgi işlem gücünü gerçek dünyaya genişletmek için bir anahtar olarak kullanılır. Elektronik cihazlarınızı ve sensörlerinizi bu pinlerin her birine uyan konektörlere bağlamanız yeterlidir.
  8. USB portunu atlamak ve Arduino ile doğrudan bir seri cihaz olarak arayüz oluşturmak için bir ICSP başlığı mevcuttur. Bu bağlantı noktası, yonga hasar görürse ve artık bilgisayarınızda kullanılamıyorsa sıfırlamak için gereklidir.
  9. Geliştirici kodunu saklamak için 32 KB flash belleğin kullanılabilirliği.
  10. Karttaki bir LED, hızlı ve kolay kod hata ayıklaması için dijital pim 13'e bağlanır.
  11. Son olarak, çip üzerindeki programı sıfırlamak için bir düğmeye sahiptir.

Arduino, 2005 yılında iki İtalyan mühendis David Cuartilles ve Massimo Banzi tarafından öğrencilere Arduino uno mikrodenetleyiciyi nasıl programlayacaklarını ve elektronik becerilerini nasıl geliştireceklerini ve bunları gerçek dünyada nasıl kullanacaklarını öğretmek amacıyla oluşturuldu.

Arduino uno, çeşitli sensörlerden girdi alarak çevresini algılayabilir ve çevreyi ve diğer aktüatörleri etkileyebilir. Mikrodenetleyici, Arduino programlama dili (kablolama tabanlı) ve Arduino geliştirme ortamı (işleme tabanlı) kullanılarak programlanmıştır.

Şimdi Arduino uno üzerindeki projelere geçelim.

Yeni başlayanlar için en kolay proje

Bu işte yeni başlayanların bile yapabileceği birkaç basit ve ilginç Arduino uno projesini düşünün - bir alarm sistemi.

Bu projede zaten bir ders yaptık -. Kısaca ne yapıldığı ve nasıl yapıldığı hakkında.

Bu proje, hareketleri ve yüksek perdeli emisyonları algılamak için bir hareket sensörü ve ayrıca yanıp sönen LED'lerden oluşan görsel bir ekran kullanır. Projenin kendisi, Arduino Başlangıç ​​Kitinde bulunan birkaç eklentinin yanı sıra NewPing kullanmanın nüanslarını size tanıtacaktır.

Sonar mesafe sensörünüzü izlemenize ve test etmenize yardımcı olan bir Arduino kütüphanesidir. Tam bir ev savunması olmasa da, yatak odaları ve banyolar gibi küçük alanları korumak için mükemmel bir çözüm sunar.

Siz bu proje için ihtiyaç:

  1. Ultrasonik ping sensörü - HC-SR04.
  2. Piezo zili.
  3. LED Şerit Işık.
  4. RGB bantlı otomotiv aydınlatması. Bu Arduino proje kılavuzunda, bir Arduino uno kartı kullanarak RGB araba iç aydınlatmasının nasıl yapıldığını öğreneceksiniz.

Birçok araba tutkunu, ekstra ışık eklemeyi veya iç ampullerini LED'lere yükseltmeyi sever, ancak Arduino platformuyla, güçlü LED'leri ve ışık şeritlerini sürerek daha fazla kontrol ve ayrıntının keyfini çıkarabilirsiniz.

Aydınlatma rengini Android cihazınızla (telefon veya tablet) uygulamasını kullanarak değiştirebilirsiniz " Bluetooth RGB Denetleyicisi Android Play Store'dan ücretsiz olarak indirebileceğiniz ” (Dev Next Prototypes). Ayrıca EasyEDA elektronik şemasını  bulabilir veya bir PCB üzerinde kendi Arduino tabanlı devrenizi sipariş edebilirsiniz.

İnanılmaz Arduino Uno Projeleri

Arduino uno üzerinde elektronik projeler geliştirme alanındaki çoğu profesyonel, deney yapmayı sever. Sonuç olarak, aşağıda tartışılan ilginç ve şaşırtıcı cihazlar ortaya çıkıyor:

  1. Hoparlör sisteminize bir IR uzaktan kumanda ekleme. Tüketici elektroniğinde, uzaktan kumanda, cihazı kısa bir mesafeden kablosuz olarak kontrol etmek için kullanılan TV, DVD oynatıcı veya diğer ev aletleri gibi elektronik bir cihazın bir bileşenidir. Uzaktan kumanda, her şeyden önce insan dostudur ve kumandaların doğrudan çalıştırılmasına uygun olmayan cihazlarla çalışmanıza olanak sağlar.
  2. Alarm. Doğru zaman elde etmek için gerçek zamanlı saat kullanılır. Burada bu sistem tarih ve saati LCD ekranda gösteriyor ve kontrol butonları ile alarmı kurabiliyoruz. Alarm saatine ulaşılır ulaşılmaz sistem bip sesi çıkarır.
  3. step motor. bir seferde bir adım döndürülebilen hassas motor anlamına gelir. Böyle bir cihaz robotik, 3D yazıcılar ve CNC makineleri kullanılarak yapılır.

    Bu proje için bulabileceğiniz en ucuz step motoru alın. Motorlar çevrimiçi olarak mevcuttur. Bu proje, diğer benzer projelerin çoğu için uygun olan 28byj-48 pedometreyi kullanır. Arduino kartına bağlanmak kolaydır.
    - Dişi-erkek konnektörlü 6 kabloya ihtiyacınız olacak. Sadece motoru panoya bağlamanız gerekiyor ve hepsi bu! Dönme hareketi yapıp yapmadığını görmek için dönen kafaya küçük bir bant parçası da ekleyebilirsiniz.

  4. Ultrasonik Mesafe Sensörü. Bu proje, cihazın engellerden kaçınabilmesi ve farklı yönlerde hareket edebilmesi için popüler olanı kullanır.

İşiniz bittiğinde, eylemlerinizin sonucu ekranda görünecektir. İşleri basit ve net tutmak için, I2C dönüştürücülü bir LCD kullanmanız önerilir, bu nedenle Arduino kartına bağlanmak için yalnızca 4 kabloya ihtiyacınız vardır.

Bu yazıda Arduino'ya yeni başlayanlar için eksiksiz bir adım adım kılavuz oluşturmaya karar verdim. Bir arduino'nun ne olduğunu, ne öğrenmeye başlamanız gerektiğini, nereden indireceğinizi ve programlama ortamının nasıl kurulacağını ve yapılandırılacağını, nasıl çalıştığını ve programlama dilinin nasıl kullanılacağını ve tam teşekküllü oluşturmak için gerekli olan çok daha fazlasını analiz edeceğiz. bu mikrodenetleyicilerin ailesini temel alan karmaşık cihazlar.

Arduino ile çalışmanın ilkelerini anlamanız için burada kısa bir minimum vermeye çalışacağım. Programlanabilir mikrodenetleyiciler dünyasına daha fazla dalmak için bu sitenin diğer bölümlerine ve makalelerine dikkat edin. Bazı yönler hakkında daha ayrıntılı bir çalışma için bu sitedeki diğer materyallere bağlantılar bırakacağım.

Arduino nedir ve ne içindir?

Arduino, herkesin çeşitli elektro-mekanik cihazlar yaratmasına izin veren elektronik bir kittir. Arduino, yazılım ve donanımdan oluşur. Yazılım bölümü, bir geliştirme ortamı (firmware yazma ve hata ayıklama programı), birçok hazır ve kullanışlı kitaplık ve basitleştirilmiş bir programlama dili içerir. Donanım kısmı, çok sayıda mikrodenetleyici ve onlar için hazır modüller içerir. Bu sayede Arduino ile çalışmak çok kolay!

Arduino yardımıyla programlama, elektrik mühendisliği ve mekanik öğrenebilirsiniz. Ancak bu sadece bir eğitim kurucusu değildir. Buna dayanarak, gerçekten kullanışlı cihazlar yapabilirsiniz.
Basit yanıp sönen ışıklardan, meteoroloji istasyonlarından, otomasyon sistemlerinden başlayarak akıllı ev sistemleri, CNC makineleri ve insansız hava araçları ile son buluyor. Olasılıklar hayal gücünüzle bile sınırlı değildir, çünkü uygulama için çok sayıda talimat ve fikir vardır.

Arduino Başlangıç ​​Seti

Arduino öğrenmeye başlamak için mikrodenetleyici kartının kendisini ve ek detayları edinmeniz gerekir. Bir Arduino başlangıç ​​kiti satın almak en iyisidir, ancak ihtiyacınız olan her şeyi kendi başınıza da alabilirsiniz. Daha kolay ve genellikle daha ucuz olduğu için bir set seçmenizi tavsiye ederim. Çalışmanız için kesinlikle işinize yarayacak en iyi kitlere ve tek tek parçalara bağlantılar:

Yeni başlayanlar için temel arduino kiti:Satın almak
Eğitim ve ilk projeler için geniş bir set:Satın almak
Bir dizi ek sensör ve modül:Satın almak
Arduino Uno, hattan en basit ve kullanışlı modeldir:Satın almak
Kolay öğrenme ve prototip oluşturma için lehimsiz devre tahtası:Satın almak
Uygun konektörlere sahip bir dizi kablo:Satın almak
LED kiti:Satın almak
Direnç kiti:Satın almak
Düğmeler:Satın almak
Potansiyometreler:Satın almak

Arduino IDE geliştirme ortamı

Firmware yazmak, hata ayıklamak ve yüklemek için Arduino IDE'yi indirip kurmanız gerekir. Bu çok basit ve kullanışlı bir programdır. Sitemde, geliştirme ortamını indirme, yükleme ve yapılandırma sürecini zaten anlattım. Bu nedenle, burada programın en son sürümüne bağlantılar bırakacağım ve

Sürüm pencereler Mac OS X linux
1.8.2

Arduino programlama dili

Elinizde bir mikrodenetleyici kartınız olduğunda ve bilgisayarınıza bir geliştirme ortamı kurulduğunda, ilk eskizlerinizi (firmware) yazmaya başlayabilirsiniz. Bunun için programlama diline aşina olmanız gerekir.

Arduino programlama, önceden tanımlanmış işlevlerle C++ dilinin basitleştirilmiş bir sürümünü kullanır. Diğer C benzeri programlama dillerinde olduğu gibi, kod yazmanın da bir takım kuralları vardır. İşte en temel olanlar:

  • Her ifadeden sonra noktalı virgül (;) gelmelidir.
  • Bir işlev bildirmeden önce, işlev tarafından döndürülen veri türünü belirtmeniz veya işlev bir değer döndürmüyorsa geçersiz kılmanız gerekir.
  • Bir değişken bildirmeden önce veri tipini belirtmek de gereklidir.
  • Yorumlar şu şekilde belirtilir: // Satır içi ve /* blok */

Sayfada veri türleri, fonksiyonlar, değişkenler, operatörler ve dil yapıları hakkında daha fazla bilgi edinebilirsiniz.Tüm bu bilgileri ezberlemenize ve ezberlemenize gerek yoktur. Her zaman referansa gidebilir ve belirli bir işlevin sözdizimini görebilirsiniz.

Arduino için tüm bellenim en az 2 fonksiyon içermelidir. Bunlar setup() ve loop()'tur.

kurulum işlevi

Her şeyin çalışması için bir eskiz yazmamız gerekiyor. Düğmeye bastıktan sonra LED yanacak ve bir sonraki basıştan sonra sönecek şekilde yapalım. İşte ilk skecimiz:

// bağlı cihazların pinlerine sahip değişkenler 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 = yanlış; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // debounce işlevi boolean debounse(boolean son) ( boolean current = digitalRead(switchPin); if(son != akım) ( gecikme (5 ); akım = digitalRead(switchPin); ) dönüş akımı; ) void loop() ( currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == HIGH) ( ledOn = !ledOn; ) lastButton = currentButton ;digitalWrite (ledPin, ledOn); )

// bağlı cihazların pinlerine sahip değişkenler

int switchPin = 8 ;

int ledPin = 11 ;

// butonun ve LED'in durumunu saklayacak değişkenler

boolean lastButton = DÜŞÜK ;

boolean currentButton = DÜŞÜK ;

boolean ledOn = false ;

geçersiz kurulum()(

pinMode (switchPin, INPUT);

pinMode (ledPin, OUTPUT);

// geri dönme işlevi

boolean geri dönme (boolean son ) (

boole akımı = digitalRead(switchPin) ;

if (son != geçerli ) (

gecikme(5) ;

akım = digitalRead(switchPin) ;

dönüş akımı;

boşluk döngüsü()(

currentButton = debounce(lastButton) ;

if (lastButton == LOW && currentButton == HIGH ) (

ledOn = ! ledOn ;

lastButton = currentButton ;

digitalWrite(ledPin , ledOn ) ;

Bu çizimde, temas sıçramasını bastırmak için ek bir geri dönme işlevi oluşturdum. Kişilerin sıçraması hakkında web sitemde. Bu makaleye mutlaka göz atın.

PWM Arduino'su

Darbe Genişlik Modülasyonu (PWM), bir sinyalin görev döngüsünü alarak voltajı kontrol etme işlemidir. Yani PWM kullanarak yükü sorunsuz bir şekilde kontrol edebiliriz. Örneğin bir LED'in parlaklığını sorunsuz bir şekilde değiştirebilirsiniz, ancak parlaklıktaki bu değişiklik voltajı azaltarak değil, düşük sinyal aralıklarını artırarak elde edilir. PWM'nin çalışma prensibi bu şemada gösterilmiştir:

Bir LED'e PWM uyguladığımızda hızlı bir şekilde açılıp kapanmaya başlar. Frekans çok yüksek olduğu için insan gözü bunu göremez. Ancak video çekerken, büyük olasılıkla LED'in kapalı olduğu anları göreceksiniz. Bu, kameranın kare hızının PWM frekansının katı olmaması koşuluyla gerçekleşir.

Arduino, yerleşik bir darbe genişlik modülatörüne sahiptir. PWM'yi yalnızca mikrodenetleyici tarafından desteklenen pinlerde kullanabilirsiniz. Örneğin Arduino Uno ve Nano'nun 6 PWM çıkışı vardır: bunlar D3, D5, D6, D9, D10 ve D11 pinleridir. Pinler diğer kartlarda değişiklik gösterebilir. İlgilendiğiniz panonun açıklamasını bulabilirsiniz

PWM'yi kullanmak için Arduino'nun bir işlevi vardır.Pin numarasını ve 0'dan 255'e kadar olan PWM değerini argüman olarak alır. 0, %0 yüksek sinyal doldurma ve 255 %100'dür. Örnek olarak basit bir eskiz yazalım. LED'in sorunsuz bir şekilde yanmasını sağlayalım, bir saniye bekleyelim ve aynı şekilde sorunsuz bir şekilde sönüp gitsin vb. İşte bu işlevi kullanmanın bir örneği:

// pin 11'e bağlı LED int ledPin = 11; void setup() ( pinMode(ledPin, OUTPUT); ) void loop() ( için (int i = 0; i)< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) ( analogWrite(ledPin, i); gecikme(5); ) )

// pin 11'e bağlı LED

int ledPin = 11 ;

geçersiz kurulum()(

pinMode (ledPin, OUTPUT);

boşluk döngüsü()(

for (int i = 0 ; ben< 255 ; i ++ ) {

analogWrite (ledPin, ben);

gecikme(5) ;

gecikme(1000) ;

for (int i = 255 ; ben > 0 ; ben -- ) (

Yeni Başlayanlar için Arduino öğreticisini sunar. Seri, 10 ders ve ek materyal ile temsil edilmektedir. Dersler metin talimatlarını, fotoğrafları ve eğitici videoları içerir. Her derste gerekli bileşenlerin bir listesini, bir program listesini ve bir bağlantı şemasını bulacaksınız. Bu 10 temel dersi öğrendikten sonra, Arduino tabanlı daha ilginç modelleme ve inşa robotlarına başlayabileceksiniz. Kurs yeni başlayanlara yöneliktir, başlamak için elektrik mühendisliği veya robotikten herhangi bir ek bilgiye ihtiyacınız yoktur.

Arduino Hakkında Kısa Bilgiler

Arduino nedir?

Arduino (Arduino), ana bileşenleri bir giriş-çıkış kartı ve bir geliştirme ortamı olan bir donanım bilgi işlem platformudur. Arduino, bağımsız etkileşimli nesneler oluşturmak için kullanılabilir veya bir bilgisayarda çalışan yazılıma bağlanabilir. Arduino, tek kartlı bilgisayarlar için geçerlidir.

Arduino ve robotlar nasıl bağlanır?

Cevap çok basit - Arduino genellikle robot beyin.

Arduino panolarının benzer platformlara göre avantajı, robotik ve elektrik mühendisliğindeki amatörler ve profesyoneller arasında nispeten düşük fiyat ve neredeyse toplu dağıtımdır. Arduino'ya başladığınızda, sorularınızı yanıtlamak ve tasarımlarınızı tartışmak için herhangi bir dilde ve benzer düşünen insanlardan destek bulacaksınız.

Ders 1. Arduino'da Yanıp Sönen LED

İlk derste, bir LED'i Arduino'ya nasıl bağlayacağınızı ve yanıp sönmesini nasıl kontrol edeceğinizi öğreneceksiniz. Bu en basit ve en temel modeldir.

Işık yayan diyot- içinden ileri yönde bir elektrik akımı geçtiğinde optik radyasyon oluşturan yarı iletken bir cihaz.

Ders 2

Bu eğitimde, Arduino'ya bir düğme ve bir LED'in nasıl bağlanacağını öğreneceksiniz.

Butona basıldığında led yanacak, butona basıldığında yanmayacaktır. Bu aynı zamanda temel modeldir.

ders 3

Bu eğitimde, bir potansiyometreyi bir Arduino'ya nasıl bağlayacağınızı öğreneceksiniz.

Potansiyometre- bu ayarlanabilir dirençPotansiyometreler, çeşitli parametrelerin düzenleyicileri olarak kullanılır - ses hacmi, güç, voltaj vb.Aynı zamanda temel planlardan biridir. bizim modelimizde potansiyometre düğmesini çevirerekLED'in parlaklığına bağlı olacaktır.

4. Ders

Bu eğitimde, bir servoyu Arduino'ya nasıl bağlayacağınızı öğreneceksiniz.

Servo- bu, dönüş açısı ayarlanarak mil konumu kontrol edilebilen bir motordur.

Servo sürücüler, robotların çeşitli mekanik hareketlerini simüle etmek için kullanılır.

5. Ders

Bu eğitimde, üç renkli bir LED'i bir Arduino'ya nasıl bağlayacağınızı öğreneceksiniz.

Üç renkli LED(rgb liderliğindeki) - bunlar bir durumda farklı renklerde üç LED'dir. Dirençlerin yerleştirildiği ve yerleşik dirençleri olmayan küçük bir baskılı devre kartı ile birlikte gelirler. Bu derste her iki seçenek de tartışılmaktadır.

6. Ders

Bu eğitimde, bir piezo elemanını bir Arduino'ya nasıl bağlayacağınızı öğreneceksiniz.

Piezo öğesi- çeviren bir elektromekanik dönüştürücü elektrik gerilimi membran titreşiminde. Bu titreşimler ses oluşturur.

Modelimizde ses frekansı programda uygun parametreler ayarlanarak ayarlanabilmektedir.

7. Ders

Kursumuzun bu dersinde, bir fotorezistörü Arduino'ya nasıl bağlayacağınızı öğreneceksiniz.

fotodirenç- direnci üzerine düşen ışığın parlaklığına bağlı olan bir direnç.

Modelimizde led sadece fotorezistörün üzerindeki ışığın parlaklığı belirli bir değerden az ise yanar, bu parlaklık programda ayarlanabilir.

8. Ders Otomatik e-posta gönderme

Kursumuzun bu dersinde, Arduino'ya bir hareket sensörünü (PIR) nasıl bağlayacağınızı ve otomatik e-posta göndermeyi nasıl organize edeceğinizi öğreneceksiniz.

Hareket sensörü (PIR)- insanların veya hayvanların hareketini veya varlığını algılamak için bir kızılötesi sensör.

Modelimizde, Arduino PIR sensöründen bir kişinin hareketi ile ilgili bir sinyal aldığında, bilgisayara e-posta gönderme komutu gönderir ve mektup otomatik olarak gönderilir.

9. Ders

Bu dersimizde, bir DHT11 veya DHT22 sıcaklık ve nem sensörünü Arduino'ya nasıl bağlayacağınızı öğrenecek ve özelliklerinin farklılıklarını öğreneceksiniz.

Sıcaklık ve Nem Sensörü kapasitif nem sensörü ve sıcaklık ölçümü için bir termistörden oluşan kompozit bir dijital sensördür.

Modelimizde Arduino sensör okumalarını okur ve okumaları bilgisayar ekranında görüntüler.

Ders 10

Kursumuzun bu dersinde, bir matris klavyeyi Arduino kartına nasıl bağlayacağınızı öğrenecek ve çeşitli ilginç devrelerle tanışacaksınız.

Matris klavyesiçok sayıda düğmenin bağlantısını basitleştirmek için tasarlanmıştır. Bu tür cihazlar her yerde bulunur - bilgisayar klavyelerinde, hesap makinelerinde vb.

11. Ders: DS3231 Gerçek Zamanlı Saat Modülünü Bağlama

Kursumuzun son dersinde, aileden gerçek zamanlı bir saat modülünü nasıl bağlayacağınızı öğreneceksiniz.
DS'den Arduino kartına kadar çeşitli ilginç devrelerle tanışın.

Gerçek zamanlı saat modülü- bu, kronometrik verileri (şimdiki saat, tarih, haftanın günü vb.) Kaydetmek için tasarlanmış bir elektronik devredir, özerk bir güç kaynağından ve bir muhasebe cihazından bir sistemdir.

Başvuru. Hazır çerçeveler ve Arduino robotları


Arduino'yu sadece tahtadan değil, aynı zamanda bu tahtaya dayalı hazır tam teşekküllü bir robot satın alarak da öğrenmeye başlayabilirsiniz - bir örümcek robotu, bir araba robotu, bir kaplumbağa robotu, vb. Çok yol özellikle elektrik devrelerine ilgi duymayanlar için uygundur.

Çalışan bir robot modeli satın alarak, yani. aslında bitmiş yüksek teknolojili oyuncak, kendi kendine tasarım ve robotiğe ilgi uyandırabilirsiniz. Arduino platformunun açıklığı, aynı bileşenlerden yeni oyuncaklar yapmanızı sağlar.

Başka bir seçenek, bir robotun çerçevesini veya gövdesini satın almaktır: tekerlekli bir platform veya tırtıl, insansı, örümcek vb. Bu durumda robotun doldurulmasının bağımsız olarak yapılması gerekecektir.

Başvuru. Mobil dizin


- amacı son kullanıcıya bir mobil komut seti (referans kitabı) taşıma fırsatı vermek olan Arduino platformu için algoritma geliştiricileri için bir asistan.

Uygulama 3 ana bölümden oluşmaktadır:

  • Operatörler;
  • Veri;
  • Fonksiyonlar.

Arduino'yu nereden satın alabilirim?


Arduino kitleri

Kurs ek derslerle desteklenecektir. bize abone olun

Bugün hakkında konuşacağız trafik ışığı açık DigiSpark ve adreslenebilir LED'ler WS2812 üzerinde . Bu ikinci versiyon trafik ışığı. İlkinden burada bahsettim. İlk versiyonun oldukça kullanışlı olduğu ve daha az parçadan oluştuğu ortaya çıktı. Neden ikinci bir versiyon yapmaya karar verdim? Gerçek şu ki, ilk versiyonda kullandığım pil kutusu Arduino'da trafik ışığı, çok pahalı hale geldi. Bazı satıcılar 5 dolardan satıyor. Diğer tüm elektroniklerden daha pahalı. Bu nedenle, kutuyu daha ucuz bir kutuyla değiştirmeye karar verdim. Ve bir kez vücudu yeniden yapmak zorunda kaldım. Trafik ışığının boyutunu değiştirmeye ve ilk versiyondan daha büyük yapmaya karar verdim. Ayrıca bacakta trafik ışığı Sertliği artırmak için metal bir çubuk ekledi.

Arduino'da çalar saat. Gövde LEGO'dan yapılmıştır. Lego Arduino'su

Anaokulundan 5 yaşında bir çocuk bana geldi ve evde akıllı cihazlar projesi yapmasının istendiğini söyledi. Dava herhangi bir doğaçlama tasarımcıdan yapılabilir. den yapılabilir Lego yapıcı. Biraz düşündükten sonra oğlum ve ben yapmaya karar verdik. Digispark'ta çalar saat ve TM1637'de 7 segment göstergesiİle birlikte gerçek zamanlı saat DS3231.

Yeni Arduino Projeleri ve CNC Projeleri

Burada yaz bitti. Ve geliştirme zamanı Arduino ile ilgili projeler büyümek. Ve bugün benim hakkında konuşacağım yeni projeler hangisini yapıyorum Arduino ve onun ev yapımı CNC makinesi. Projeler hala geliştirme aşamasındadır ve nihai bir bitmiş görünüme sahip değildir. Ama yine de, üçüncü taraf görüşünü duymak için onlar hakkında konuşmaya karar verdim.

Digispark'ta trafik ışığı ve adreslenebilir LED'ler WS2812 - Arduino trafik ışığı

Bir önceki makalede: » gelişmeden bahsetmiştim trafik ışığı ve onu tamamen işlevsel ve uygulanabilir hale getirmeyi başaramadım. Birkaç hafta sonra bitirdim ve şimdi sunmaya hazırım Arduino'da ev yapımı trafik ışığı ve adreslenebilir LED'ler WS2812.

Vücudum için tüm boşlukları gördüm ev yapımı CNC makinesi.

Arızalı Aydınlatma ve Trafik Işığı Arduino Projeleri

Herhangi bir gelişme, başarısız ve ara modellere yol açar. Hangi tüm ihtiyaç ve beklentileri karşılamaz.