Eğitimler
BlinkWithoutDelay
Bazen aynı anda iki şey yapmanız gerekir. Örneğin, bir düğmeye basarken bir LED'i yanıp sönmek isteyebilirsiniz. Bu durumda, delay()
kullanamazsınız çünkü Arduino, delay()
sırasında programınızı duraklatır. Arduino duraklatıldığında delay()
geçmesini beklerken düğmeye basılırsa, programınız düğmeye basmayı özleyecektir.
Bu çizim delay()
kullanmadan bir LED'in nasıl yanıp söneceğini gösterir. LED'i açar ve ardından zamanı not eder. Ardından, loop()
her seferinde, istenen göz kırpma süresinin geçip geçmediğini kontrol eder. Varsa, LED'i açar veya kapatır ve yeni zamanı not eder. Bu şekilde, eskiz yürütme hiçbir zaman tek bir talimattan geçmezken LED sürekli yanıp söner.
Bir benzetme, mikrodalga fırında bir pizza ısıtmak ve ayrıca bazı önemli e-postaları beklemek olacaktır. Pizzayı mikrodalgaya koyun ve 10 dakika ayarlayın. delay()
kullanmanın benzeşimi, zamanlayıcı sıfıra ulaşıncaya kadar 10 dakikadan geri sayımı izleyerek mikrodalga fırının önüne oturmak olacaktır. Önemli e-posta bu süre zarfında gelirse kaçırırsınız.
Gerçek hayatta yapacağınız şey, pizzayı açmak ve daha sonra e-postanızı kontrol etmek ve belki de başka bir şey yapmak (çok uzun sürmez!) Ve her zaman sık sık görmek için mikrodalgaya geri döneceksiniz zamanlayıcı sıfıra ulaştıysa, pizzanızın yapıldığını gösterir.
Bu öğreticide benzer bir zamanlayıcıyı nasıl ayarlayacağınızı öğreneceksiniz.
Gerekli Donanım
- Arduino veya Genuino Kurulu
- LED
- 220 ohm direnç
Devre
Devreyi kurmak için, direncin bir ucunu kartın pim 13'üne bağlayın. LED'in uzun ayağını (anot adı verilen pozitif bacak) direncin diğer ucuna bağlayın. LED'in kısa ayağını (katot olarak adlandırılan negatif bacak) yukarıdaki şemada ve aşağıdaki şemada gösterildiği gibi GND kartına bağlayın.
Çoğu Arduino ve Genuino kartında, kartın kendisinde pim 13'e takılı bir LED vardır. Bu örneği hiçbir donanım takılı olmadan çalıştırırsanız, LED'in yanıp söndüğünü görmelisiniz.
Şematik
büyütmek için resme tıklayın
Devreyi kurduktan sonra kartınızı bilgisayarınıza takın, Arduino Yazılımını (IDE) başlatın ve aşağıdaki kodu girin.
Kod
Aşağıdaki kod, bir LED'i yanıp millis()
için kartın geçerli çizimini çalıştırmaya başlamasından bu yana geçen milisaniye sayısını döndüren bir komut olan millis()
işlevini kullanır.
See Also
- setup()
- loop()
- millis()
- Button- Bir LED'i kontrol etmek için bir düğme kullanın.
- Debounce- Gürültüyü filtreleyen bir düğme okuyun.
- DigitalInputPullup- pinMode () ile INPUT_PULLUP kullanımını gösterir.
- StateChangeDetection- Düğme itme sayısını sayın.
- toneKeyboard- Kuvvet sensörleri ve piezo hoparlör kullanan üç tuşlu müzikal klavye.
- toneMelody- Piezo hoparlörle bir melodi çalın.
- toneMultiple- tone () komutunu kullanarak birden fazla hoparlörde tonları sırayla çalın.
- tonePitchFollower- Analog girişe bağlı olarak bir piezo hoparlörde bir perde çalın.