İçindekiler:

Parlaklık Kontrolü, Arduino (Animasyonlu): 7 Adım
Parlaklık Kontrolü, Arduino (Animasyonlu): 7 Adım

Video: Parlaklık Kontrolü, Arduino (Animasyonlu): 7 Adım

Video: Parlaklık Kontrolü, Arduino (Animasyonlu): 7 Adım
Video: Dijital/Analog Pinler ve Led Parlaklık Kontrolü - Sıfırdan Arduino Öğreniyoum #2 2024, Kasım
Anonim
Image
Image

Son birkaç yılda, her biri Arduinos tarafından kontrol edilen iki langırt makinesi (pinballdesign.com) ve iki robot kafası (grahamasker.com) yaptım. Bir makine mühendisi olarak kariyerim olduğu için, mekanizmaların tasarımında iyiyim, ancak programlamada zorlanıyorum. Arduino'nun bazı temel kavramlarını göstermek için animasyonlar oluşturmaya karar verdim. Benim ve başkalarının onları anlamalarına yardımcı olacağını düşündüm. Bir resim bin kelimeye bedeldir ve bir animasyon bin resim olabilir!

İşte Parlaklık Kontrolü konusunda animasyonlu bir açıklama. Yukarıdaki animasyon, bir Arduino'ya bağlı bir potansiyometrenin şemasını göstermektedir. Potansiyometrenin konumunun ayarlanmasının bir ledin parlaklığını nasıl değiştirebileceğini gösterir. Bu sürecin tüm unsurlarını açıklayacağım. Potansiyometre ve ledlere aşina olmayanlar için bunlarla başlayacağım. Daha sonra, led'in neden PWM özellikli bir Arduino pinine bağlanması gerektiğini ve bir Arduino çiziminde MAP fonksiyonunun, potansiyometreden gelen girişi bir led'i kontrol etmek için uygun bir çıkışa dönüştürmek için nasıl kullanıldığını açıklayacağım.

Ledlere ve potansiyometrelere aşina iseniz 1. ve 2. bölümleri atlayabilirsiniz.

Adım 1: LED'ler HAKKINDA

LED'ler HAKKINDA
LED'ler HAKKINDA

Yukarıdaki soldaki resim, bir led için devre sembolünü ve led bacaklarının polaritesini göstermektedir. Akım bir LED'den yalnızca bir yönde akacaktır, bu nedenle polarite önemlidir. Uzun bacak pozitiftir. Ayrıca flanşın düz bir tarafı vardır, bu negatif taraftır.

GERİLİM ve AKIM

Bir LED'in ihtiyaç duyduğu voltaj, rengine bağlı olarak yaklaşık 2,2v ile 3,2 volt arasında değişir. Mevcut değerleri tipik olarak 20mA'dır. Akımı kısıtlamak ve LED'in aşırı ısınmasını önlemek için her bir LED'e seri olarak bir direnç kullanmak gerekir. Yaklaşık 300 ohm tavsiye ederim.

Yukarıdaki sağdaki resim, bir rezistörü bir ledin bacağına lehimlemenin ve ısıyla daralan makaron ile yalıtmanın bir yolunu göstermektedir.

2. Adım: POTANSİYOMETRE

POTANSİYOMETRE
POTANSİYOMETRE

Arduino terimlerinde bir potansiyometre bir sensördür. “Sensör”, giriş pinlerine bağlandığında Arduino tarafından algılanabilen herhangi bir harici cihazı ifade eder. Bir LED'in parlaklığını kontrol etmek için Arduino'ya bağlı bir potansiyometre kullanacağız. Bir potansiyometreye bazen voltaj bölücü denir, bunun daha iyi bir tanım olduğunu düşünüyorum. Yukarıdaki soldaki diyagram, bir voltaj bölücünün prensibini gösterir. Bu örnekte, bir direnç bir ucunda toprağa bağlanır ve diğer ucunda bir güç kaynağı tarafından 5v'ye tutulur. Direnç boyunca bir kaydırıcı hareket ettirilirse, sol uçta 0v, sağ uçta 5v voltajda olacaktır. Başka herhangi bir konumda 0v ile 5v arasında bir değerde olacaktır. Yarı yolda örneğin 2.5V olacaktır. Düzenlemeyi yukarıda sağda gösterildiği gibi yeniden şekillendirirsek, bu dönen bir potansiyometrenin hareketini temsil eder.

Adım 3: DEVRE

DEVRE
DEVRE

Yukarıdaki çizim, potansiyometreyi ve led'i bir Arduino'ya nasıl bağlamamız gerektiğini göstermektedir.

Ardunio'nun potansiyometre tarafından kendisine beslenen voltajı algılaması gerekir. Potansiyometre döndürüldüğünde voltaj düzgün bir şekilde değişir, bu nedenle analog bir sinyaldir ve bu nedenle Arduino'daki bir analog giriş pinine bağlanması gerekir. Bu pin üzerindeki voltaj, program tarafından “analogRead” fonksiyonu ile her talep edildiğinde Arduino tarafından okunacaktır.

Arduino'nun sadece dijital çıkış pinleri vardır. Ancak yanlarında tilde (~) bulunan bu pinler, bir Led'in parlaklığını kontrol etmeye uygun bir analog çıkışı simüle eder. Bu işleme Darbe Genişliği Modülasyonu (PWM) denir ve bir sonraki animasyon olan Adım 4 ile açıklanır.

Adım 4: PWM

PWM, Darbe Genişlik Modülasyonu

Daha önce de belirtildiği gibi, yanlarında tilda bulunan pinler “~“PWM pinleridir. Pinler dijital olduğu için sadece 0v veya 5v olabilir, ancak PWM ile bir LED'i kısmak veya bir motorun hızını kontrol etmek için kullanılabilirler. Bunu, bir LED'e 5v vererek, ancak onu 500 Hz'de (saniyede 500 kez) 0v ile 5v arasında titreştirerek ve darbenin her 0v ve 5v öğesinin süresini uzatarak veya küçülterek yaparlar. LED, 0v darbesinden daha uzun bir 5v darbesi gördüğü için daha parlak hale gelir. Programımızda, bir PWM “kare dalga” çıktısı almak için analogWrite() fonksiyonunu kullanıyoruz. 256 artışa sahiptir, Sıfır, %0 görev döngüsü ve 255, %100 “görev döngüsü”, yani sürekli 5 volt verir. Böylece 127, zamanın yarısı 0v'de ve zamanın yarısı 5v'de olmak üzere %50 görev döngüsü verir. Yukarıdaki animasyon, bu görev döngüsü %100'e doğru uzatıldığında ledin nasıl daha parlak hale geldiğini gösterir.

Adım 5: PROGRAM (ARDUINO SKETCH)

Image
Image

Yukarıdaki video, bir potansiyometre kullanarak bir ledin parlaklığını kontrol etmek için kullanılabilecek bir program (skeç) üzerinden ilerlemektedir. Devre, 3. adımda gösterilenle aynıdır.

Bu videoyu rahat okumak için hızlı (veya yavaş) bulursanız, hızını ayarlayabilirsiniz Alt kontrol çubuğunun sağ ucunda dişli çark şeklinde bir sembol bulunur (bazen üzerinde kırmızı bir 'HD' etiketi bulunur)..) Tıklandığında, "oynatma hızı"nı içeren bir menü açılır.

Programın her satırında kendi hızınızda ilerlemek için bir düğmeye basabilseydiniz elbette daha iyi olurdu, ancak ne yazık ki bu etkileşimli yöntemi burada sağlamak mümkün değil. Bu yöntemi bu konuda ve diğer birçok Arduino konusunda kullanmayı tercih ederseniz, o zaman animasyonlu/animasyonlu bir e-kitabın ücretsiz önizleme sürümü animasyonlu arduino.com'da mevcuttur.

Programda daha fazla açıklamaya ihtiyaç olduğunu düşündüğüm bir özellik var: 14. satırda "harita" işlevi kullanılıyor. 6. adımda bir sonraki amacı hakkında bir açıklama var

6. Adım: HARİTA

Analog bir pime bağlı potansiyometremiz var. Potansiyometre voltajı 0v ile 5v arasında değişir. Bu aralık, işlemcide 1024 artışlarla kaydedilir. Değer girişi, PWM etkinleştirilmiş bir dijital pim aracılığıyla bir çıkış oluşturmak için kullanıldığında, bu aralığın bir dijital pimin çıkış aralığına eşlenmesi gerekir. Bunun 255 artışı var. Harita işlevi bu amaçla kullanılır ve girdiyle orantılı bir çıktı sağlar.

Yukarıdaki video bunu göstermektedir.

Adım 7: Hareketli Arduino

Bu Eğitilebilir Tablodaki resimler, Arduino'yu programlamayı öğrenirken karşılaşılan bazı kavramların daha iyi anlaşılmasını sağlamayı amaçladığım www.animatedarduino.com adresinde bulunan Animated Arduino e-kitabımdan alınmıştır.

Kitabın etkileşimli yapısını deneyimlemenizi sağlayan web sitesinde e-kitabın ücretsiz bir önizleme kopyası bulunmaktadır. Temelde örnek sayfalardan oluşan bir koleksiyondur ve bu nedenle açıklamaların çoğunu atlar. Bir programın her satırında sizi yönlendiren düğmeleri tıklamanıza ve ilgili yorumları görüntülemenize olanak tanıyan örnek sayfalar içerir. Diğer sayfalarda, kontrol edebileceğiniz video animasyonları ve ses içeriği bulunur. Tam sürümün ne içerdiğini görebilmeniz için bir içindekiler sayfası eklenmiştir.

Önerilen: