Bir Arduino Projesi Gösterişli Noel Işıkları Süsler Nasıl Yapılır

  • Lesley Fowler
  • 0
  • 2679
  • 538
reklâm

Bu bizim Arduino serisini öğrenmemizdeki bir sonraki bölüm ve bu sefer biz öğrenip kullanıyor olacağız. Diziler çeşitli yanıp sönen dizilerle küçük bir Noel ağacı süsü yapmak için. Onlara temel lehimlemeyi öğretmek istersen çocukları meşgul etmek için ideal bir proje olacaktır - sadece LED'leri bir kart üzerine monte edin ve standart 9v'lık bir pilden güç alabilirsiniz..

Arduino programcılığı için de önemli bir derstir, ancak bunu bir süs olarak kullanmayı düşünmüyorsanız, yine de bunu çoktan planlamanızı şiddetle tavsiye ederim..

Not: Bu çok başlangıç ​​seviyesinde bir eğitimdir ve kesinlikle yeni bir çığır açmayacağız - değil mi? sadece kullanma kavramlarını öğretmek için bir cihaz Diziler ve Döngüler için başa çıkmak çok sayıda LED (veya diğer çıkış aygıtları).

Henüz yapmadıysanız, şimdi dizideki diğer makalelerle birlikte takip etmek için iyi bir zaman olurdu:

  • Arduino Nedir ve Onunla Ne Yapabilirsiniz Arduino Nedir ve Onunla Ne Yapabilirsiniz? Arduino Nedir ve Bununla Ne Yapabilirsiniz? Arduino dikkat çekici bir küçük elektronik cihazdır, ancak daha önce hiç kullanmadıysanız, tam olarak ne olduklarını ve bir cihazla ne yapabilirsiniz? ?
  • Arduino Başlangıç ​​Seti Nedir ve İçerir? Bir Arduino Başlangıç ​​Kitine Neler Dahil? [MakeUseOf Açıklar] Bir Arduino Başlangıç ​​Kitine Neler Dahil? [MakeUseOf Açıklıyor] Arduino açık kaynaklı donanımını daha önce MakeUseOf'ta tanıtmıştım, ancak bir şey oluşturmak ve gerçekten başlamak için gerçek Arduino'dan daha fazlasına ihtiyacınız olacak. Arduino "başlangıç ​​kitleri"…
  • Başlangıç ​​Kitinizle Satın Almak İçin Daha Soğuk Bileşenler 8 Arduino Projeleriniz İçin Daha Serin Bileşenler 8 Arduino Projeleriniz İçin Daha Soğuk Bileşenleri Yani, bir Arduino başlangıç ​​kitiniz olmasını düşünün, ancak bazı temel LED'lerin ve dirençlerin olup olmayacağını merak ediyorsunuz seni haftasonu meşgul edecek kadar mı? Muhtemelen değil. İşte 8 tane daha…
  • Arduino Başlangıç ​​Kitinize Başlarken? Sürücüleri Takma ve Tahta ve Bağlantı Noktasını Kurma Arduino Başlangıç ​​Kitinize Başlarken - Sürücüleri Takma ve Tahta ve Bağlantı Noktasını Kurma Arduino Başlangıç ​​Kitinize Başlarken - Sürücüleri Takma ve Tahta ve Bağlantı Noktasını Kurma Böylece, kendiniz satın aldınız Bir Arduino başlangıç ​​kiti ve muhtemelen başka bazı rastgele havalı bileşenler - şimdi ne olacak? Bu Arduino şeyini programlamaya gerçekten nasıl başladınız? Nasıl ayarladınız…
  • Fritzing, devre şemaları çizmek için ücretsiz bir araç Fritzing - Elektronik Projeleri Çizim için nihai bir araç [Cross Platform] Fritzing - Elektronik Projeleri Çizim için Ultimate bir araç [Cross Platform] Alcopop gibi ses çıkarmasına rağmen, Fritzing aslında inanılmaz bir bit fantastik açık kaynaklı Arduino gibi hızlı prototipleme elektronik panolarıyla kullanım için devre ve bileşen şemaları oluşturmak için kullanabileceğiniz özgür yazılım…
  • Bir Arduino Uygulamasının Yapısına Yakından Bir Bakış ve Örnek Blink Programı Arduino ile İlk Adımlar: Devre Kartına ve Bir Programın Yapısına Yakından Bir Bakış Arduino ile İlk Adımlar: Devre Kartına ve Yapısına Yakından Bir Bakış Bir Programın Son bıraktığımda, Arduino'nuzu Mac veya Windows ile çalışacak şekilde ayarladınız ve tümleşik LED'i yanıp sönen basit bir test uygulaması yükledik. Bugün kodu açıklayacağım…

Bu proje için, en azından ihtiyacınız olacak 8 veya 9 LED kırmızı ya da yeşil rezistans her biri için bir breadboard ve bazı bağlantı kabloları. Kısa süre önce kendim satın aldığım ve bu eğitimde gördüğüm Ooomlout'un başlangıç ​​seti, para için büyük bir değer sunuyor ve ihtiyaç duyduğunuzdan daha fazla LED ve rezistansa sahip, aynı zamanda eşyaları tutmak için düzgün bir breadboard ve Arduino kılıfı ile geliyor düzenli.

İşte, son şey:

Ve eylem halindeyken bir video.

İşte Fritzing'in kablolamadan bir görüntüsü. Çok basit - sadece LED'lerin pozitif ucunu pinlere bağlayın 2-> ne olursa olsun (pim 13'e kadar) ve negatif ayakları bir dirençle topraklama hattına bağlayın. Burada kullandığım değer 560 Ohm. Kablolama için bu.

Yazılım tarafında, koddaki tüm bu LED'lere nasıl yazabileceğinizi düşünün. Bu şekilde gidebilirsin:

int led1 = 2; // pim 2'deki ilk LED int led2 = 3; // pin 3'te ikinci // etc etc void loop () digitalWrite (led1, HIGH); gecikmesi (100); digitalWrite (LED1, DÜŞÜK); gecikmesi (100); digitalWrite (LED2, HIGH); // vb 

9 LED ile bunun çok çabuk yorulacağını görebilmelisiniz. Cevap yatıyor Diziler, temel veri türleri hakkındaki Programlama 101'i hatırlamıyor musunuz? Bilgisayar Programlamanın Temelleri 101 - Değişkenler ve Veri Tipleri Bilgisayar Programlamanın Temelleri 101 - Değişkenler ve Veri Tipleri Nesneye Yönelik Programlama hakkında biraz önce bilgi aldık ve bu nesnelerin adı nereden geliyor? , Programlamanın mutlak temellerini dile özgü olmayan bir şekilde incelemenin zamanının geldiğini düşündüm. Bu… - temelde sadece listeler.

Sözdizimi şöyle görünür (kodunuzdaki ilk satır olarak yerleştirin):

int led [] = 2,3,4,5,6,7,8,9,10;

Köşeli parantezler? Ledleri? değişken bir olacak Dizi. Kıvrımlı parantez, dizimizin tutacağı pin numaralarının listesini içerir..

Şimdi, bir Dizi kullanmak için, onu dizin numarasına göre adreslememiz gerekir. dizin 0'dan başlar, ve bu nedenle her zaman içindeki toplam şey sayısından 1'e kadar az olacaktır (9 maddeyle birlikte, sonuncusu 8 endeksine sahip olacaktı.).

Böyle yazıyorsun:

LED'ler [0]

Bizim durumumuzda hangisi 2 sayısını alır, çünkü dizideki 0 dizininde?.

Şimdiye kadar mı takip ediyorsun? Harika. Bu tek başına yetmiyor mu bizim için de yeterli değil - aynı zamanda LED'lerimizin her bir elemanını yinelemenin bir yoluna da ihtiyacımız var. döngü için. Bunu yapmak için sözdizimi şöyle:

(ilk değişken; tekrarladığımız koşul; her yinelemede değişkeni değiştir)

Örneğin:

(int i = 0; i<9; i++)

Diyor ki

  • bu döngüyü değişkenle başlatmak, ben, değeri olan sıfır
  • sadece ben 9'dan az?(yani: 0,1,2,3,4,5,6,7,8)
  • her zaman, i'ye 1 ekle (i ++, i = i + 1 demek için kısa bir yoldur)

Yani temelde, döngü LED'lerimizden daha fazla tekrarlanacak ve her tekrar edildiğinde bir değişkene sahip olacağız., ben, biz de kullanabiliriz.

Başlamak için bu yapıyı iki kez kullanacağız. Tüm pinlerimizin çıkış moduna dönmesini sağlamak için kurulum işlevine girdikten sonra, şöyle:

void setup () için (int i = 0; i< 9;i++) pinMode(leds[i],OUTPUT);  

Orada ne yaptığımızı görebiliyor musun? Her bir iğneyi çıktı olarak ilan etmek için 9 satır kod yazmak yerine, her seferinde bir başka iğneyi ayarlayan 9 kez tekrarlamak için bir 'for' döngüsü yaratırız..

Şimdi, her bir LED'i sırayla açmak için ana program döngüsündeki aynı şeyi nasıl yapabileceğimizi görebilmelisiniz:

void loop () için (int i = 0; i< 9;i++) digitalWrite(leds[i],HIGH); delay(100); digitalWrite(leds[i],LOW);  

Bunu dene. Bugünün projesi için tam kodu buradan indirebilirsiniz. Tekrar yazmak istemezseniz (öğrenme sürecine yardımcı olduğu için sizi teşvik etsem de).

Tamam, şimdi oldukça sıkıcı bir aydınlatma düzenimiz var. Hadi bir tane daha programlayalım. Sadece eğlence için, hadi tamamen rastgele yapalım. Ana döngü kodunu şununla değiştirin:

void loop () int randomLed = rastgele (0,8); digitalWrite (LEDler [randomLed], HIGH); gecikmesi (50); randomLed = rastgele (0,8); digitalWrite (LEDler [randomLed], DÜŞÜK); 

Her LED üzerinde yineleme yapmak için 'for' döngüsünü kullanmak yerine, 0-9 arasından rastgele bir sayı seçeriz ve yanıp söner..

Tüm yeni dizileri programlamak ve döngülerle denemek için yeterli bilgiye sahip olduğunuz için bugün onu orada bırakacağım. Tüm bunların ne kadar kolay olduğunu kanıtlamak için karıma, görmek istediği bir diziyi düşünmesi için meydan okudum ve sonra anladım.?onu kendi programlamak için, Sadece şu ana kadar sahip olduğun kod ve dersleri verdin. Bununla geldi, yani ev ödevi için eşleştirebilir misin bir bak.!

Sorularınız, önerileriniz, problemleriniz - lütfen yorumlarda bizimle iletişime geçin..




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.