İlan
Bu bizim Arduino serisinin bir sonraki bölümü ve bu sefer biz? öğrenecek ve kullanacak Diziler yanıp sönen dizileri ile küçük bir Noel ağacı süsleme yapmak için. Bu, onlara temel lehimlemeyi öğretmek istiyorsanız, çocukları meşgul etmek için ideal bir proje olacaktır - sadece LED'leri bir kart parçasına monte edin ve standart 9v pilden güç alabilirsiniz.
Aynı zamanda yeni başlayan Arduino programlamasında da önemli bir ders, ancak bunu aslında bir süs olarak kullanmayı planlamıyorsanız, yine de breadboarding'i şiddetle tavsiye ederim.
Not: Bu çok başlangıç seviyesinde bir eğitim ve kesinlikle kazandık? Yeni bir çığır açmıyor - değil mi? s? sadece bir cihaz kullanma kavramlarını öğretmek Diziler ve Döngüler için ile uğraşmak çok sayıda LED (veya diğer çıkış aygıtları).
Varsa? t Zaten, şimdi dizideki diğer makaleleri takip etmek için iyi bir zaman olurdu:
- Arduino Nedir ve Bununla Ne Yapabilirsiniz? Arduino Nedir ve Bununla Ne Yapabilirsiniz?Arduino, dikkat çekici küçük bir elektronik cihazdır, ancak daha önce hiç kullanmadıysanız, tam olarak bunlar nedir ve bir cihazla ne yapabilirsiniz? Daha fazla oku ?
- Arduino Başlangıç Kiti Nedir ve Ne İçerir? Arduino Başlangıç Kitinde Neler Var? [Açıklamalar MakeUseOf]Daha önce MakeUseOf'da Arduino açık kaynaklı donanımını tanıttım, ancak bundan bir şey oluşturmak ve başlamak için sadece gerçek Arduino'dan daha fazlasına ihtiyacınız olacak. Arduino "başlangıç kitleri" ... Daha fazla oku
- Başlangıç Kitinizle Satın Alınacak Daha Serin Bileşenler Arduino Projeleriniz İçin 8 Daha Serin BileşenYani, bir Arduino başlangıç kiti almayı düşünüyorsunuz, ancak bazı temel LED'lerin ve dirençlerin sizi hafta sonu meşgul etmek için yeterli olup olmayacağını mı merak ediyorsunuz? Muhtemelen değil. İşte başka bir 8 ... Daha fazla oku
- Arduino Başlangıç Kitinize Başlarken? Sürücüleri Yükleme ve Pano ve Bağlantı Noktasını Ayarlama Arduino Başlangıç Setinizle Çalışmaya Başlama - Sürücüleri Yükleme ve Kart ve Bağlantı Noktasını KurmaYani, kendinize bir Arduino başlangıç kiti ve muhtemelen diğer bazı rastgele serin bileşenleri satın aldınız - şimdi ne olacak? Bu Arduino programını programlamaya nasıl başlıyorsunuz? Nasıl kurarsınız ... Daha fazla oku
- Fritzing, devre şemalarını çizmek için ücretsiz bir araç Fritzing - Elektronik Projelerin Eskizinde Mükemmel Bir Araç [Çapraz Platform]Bir alcopop gibi ses çıkarmasına rağmen, Fritzing aslında oluşturmak için kullanabileceğiniz inanılmaz bir özgür yazılım parçasıdır fantastik açık kaynak gibi hızlı prototipleme elektronik kartlarıyla kullanım için devre ve bileşen diyagramları Arduino ... Daha fazla oku
- Bir Arduino Uygulaması ve Örnek Blink Programının Yapısına Daha Yakından Bakış Arduino ile İlk Adımlar: Devre Kartına Daha Yakından Bir Bakış & Bir Programın YapısıEn son Arduino'nuzu Mac veya Windows ile çalışacak şekilde ayarladıktan ve yerleşik LED'i yanıp sönen basit bir test uygulaması yükledikten sonra ayrıldım. Bugün kodu açıklayacağım ... Daha fazla oku
Bu proje için sen? en azından ihtiyacım olacak 8 veya 9 LED kırmızı veya yeşil renkte, rezistans her biri için bir breadboard ve bazı bağlantı telleri. Kendimi yakın zamanda satın aldığım ve bu eğitimde resmedilen Ooomlout'un başlangıç kiti, para için büyük bir değer sunuyor ve sizden daha fazla LED ve direnç var mı? İhtiyacınız olan her şeyin yanı sıra, işleri düzenli tutmak için düzgün bir breadboard ve Arduino kasası ile birlikte gelmeniz gerekir.
Buraya? son şey:
![arduino noel ışıkları](/f/0a4f5d49c38bb26eaaa072e5e9b2e617.jpg)
Ve eylemde bir video.
Buraya? s Fritzing kablolama bir görünümü. O? çok basit - sadece LED'lerin pozitif kablosunu pimlere bağlayın 2-> ne olursa olsun (pim 13'e kadar) ve negatif bacakları bir dirençle zemine doğru bağlayın. Değer I? Burada kullanılan 560 Ohm'dur. O? kablolama için.
![arduino noel ışıkları](/f/1c413fadf502008e9cc15d90ddb2d0a3.png)
Yazılım tarafında, koddaki tüm bu LED'lere nasıl yazabileceğinizi düşünün. Bu şekilde devam edebilirsiniz:
int led1 = 2; // pim 2'deki ilk LED. int led2 = 3; // pim 3'te ikinci. // etc etc void loop () {digitalWrite (led1, HIGH); gecikme (100); digitalWrite (led1, DÜŞÜK); gecikme (100); digitalWrite (led2, YÜKSEK); // vb. }
9 LED ile bunun hızla yorulacağını görebilmelisiniz. Cevap Diziler, eğer yapabilirsen? hatırlamıyorum 101 Temel veri türleri hakkında programlama Bilgisayar Programlamanın Temelleri 101 - Değişkenler ve Veri TipleriNesneye Yönelik Programlamayı daha önce ve nerede ismiyle tanıştırıp konuştuk gelince, dilin spesifik olmayan bir şekilde programlamanın mutlak temellerinden geçmenin zamanı geldiğini düşündüm yol. Bu... Daha fazla oku - temelde sadece listeler.
Sözdizimi şöyle görünür (bunu kodunuzdaki ilk satır olarak yerleştirin):
int ledleri [] = {2,3,4,5,6,7,8,9,10};
Köşeli ayraçlar? Ledleri? değişken bir Dizi. Kıvırcık parantezler dizimizin tutacağı pin numaralarının listesini içerir.
Şimdi, bir Array kullanmak için, onu dizin numarasıyla ele almamız gerekir. dizin 0'dan başlarve bu nedenle her zaman içindeki toplam şey sayısından 1'e kadar daha az gidecektir (yani 9 maddeyle sonuncusu 8).
Bu şekilde yazıyorsunuz:
LED'ler [0]
Bizim durumumuzdan hangisi, 2 sayısını getirir, çünkü bu? nedir? dizimizde 0 dizininde.
Şimdiye kadar takip ediyor musunuz? Harika. Yalnız değil mi? t Bizim için yeterli - biz de bizim LEDs dizisinin her elemanı üzerinde tekrarlamak için bir yol ihtiyacımız var Bunun için, bir döngü için. Bunu yapmak için sözdizimi şöyledir:
for (başlangıç değişkeni; altında tekrarladığımız durum; her bir yinelemede değişken olarak değiştir)
Örneğin:
için (int i = 0; i 9Diyor ki
- bu döngüyü bir değişkenle başlat, bendeğeri olan sıfır
- sadece i olduğumda döngüye devam et 9'dan az? (yani: 0,1,2,3,4,5,6,7,8)
- her seferinde, i'ye 1 ekle (i ++, i = i + 1 demenin kısa bir yoludur)
Temel olarak, döngü LED'lerimiz kadar ve her seferinde tekrarlanacak mı? tekrarlanan bir değişkenimiz olacak, benistediğimiz gibi kullanabiliriz.
Biz? başlamak için bu yapıyı iki kez kullanacağız. Tüm pinlerimizin çıkış moduna geçmesini sağlamak için kurulum işlevine girdikten sonra, şöyle:
void setup () {for (int i = 0; i <9; i ++) {pinMode (ledler [i], ÇIKIŞ); } }
Orada ne yaptığımızı görebiliyor musunuz? Her bir iğneyi çıktı olarak bildirmek için 9 satır kod yazmak yerine, her seferinde başka bir pim ayarlarken kendini 9 kez tekrarlamak için bir "for" döngüsü oluştururuz.
Şimdi, her LED'i sırayla açmak için ana program döngüsünde tam olarak aynı şeyi nasıl yapabileceğimizi görebilmelisiniz:
void loop () {for (int i = 0; i <9; i ++) {digitalWrite (ledler [i], YÜKSEK); gecikme (100); digitalWrite (ledler [i], DÜŞÜK); } }
Bunu dene. Yapabilirsin bugünün projesi için tam kodu buradan indirin Eğer sen? d tekrar yazmayı tercih etmiyorum (öğrenme sürecine yardımcı olduğu için sizi teşvik ediyorum).
Tamam, şimdi oldukça sıkıcı bir aydınlatma dizimiz var. İzin Vermek? başka bir program. Sadece eğlence için olsun? tamamen rastgele yapar. Ana döngü kodunu bununla değiştirin:
void loop () { int randomLed = rastgele (0,8); digitalWrite (ledler [randomLed], YÜKSEK); gecikme (50); randomLed = rastgele (0,8); digitalWrite (ledler [randomLed], DÜŞÜK); }
Her bir LED'i tekrarlamak için bir "for" döngüsü kullanmak yerine, bunun yerine 0-9 arasında rastgele bir sayı seçer ve bunu yanıp söner.
Bugün orada bırakacağım, çünkü şimdi tüm yeni dizileri programlamak ve döngülerle deney yapmak için yeterli bilgiye sahip olmalısınız. Tüm bunların ne kadar kolay olduğunu kanıtlamak için, karımı bir diziyi düşünmeye ittim? görmek istiyorum ve sonra var?onu programlamak için, sadece kod ve dersler verildi mi? Şimdiye kadar vardı. Bununla geldi, öyleyse bunu ödev için eşleştirip eşleştiremeyeceğinize bakın!
Sorular, öneriler, sorunlar - lütfen yorumlarda iletişime geçin.
James Yapay Zeka alanında lisans derecesine sahiptir ve CompTIA A + ve Network + sertifikalıdır. MakeUseOf'un baş geliştiricisi ve boş zamanlarını VR paintball ve boardgames oynayarak geçiriyor. Çocukluğundan beri bilgisayar yapıyor.