İyi günler sayın toprak hattı ziyaretcisi.
Bugün size “map” komutu, devrede ve ne mantıkla kullanılması ile ilgili basit bir uygulama yapıcağız. Map komutu, 2 tam sayılı değer arasında donüşüm yapan komuttur. Mantığı, kullanımı açısından, rahatlığından ilerleyen işlerinizde kullanmak hem yaptığınız işe hemde size büyük kolaylıklar sağlıyacaktır. Bir yandan ise size arduino’nun “pwm” çıkışının nasıl yaptığını ögretineksiniz. Bu pwm çıkış ne işinize mi yarıcak en basit haliyle servo motor bağlıyarak basit yön kontrolleri yapabilir veya pwm değer okutarak başka kendi çıkış yapmasını istediğiniz mantığı kurabilirsiniz. Unutmayın hayallerinizin sınırı kadardır elektronik. Siz hayal ettikçe daha fazlasını üretmeniz mümkündür.
Map komutun örnek kullanımı:
int sonuc=map(a, b, c, d, e);
Burada;
a, mevcut değerinizi(değişken olabilir)
b, mevcut değerinizin alabileceği en küçük değeri
c, mevcut değerinizin alabileceği en yüksek değeri
d, yeni değerinizin almasını istediğiniz en küçük değer
e, yeni değerinizin almasını istediğiniz en büyük değer
Gelin bunu bir program üzerinde kullanarak anlamaya çalışalım. Programımız 2 farklı ledi birbirinden farklı(biri yanarken digeri sönücek) şekilde bir potansiyometre ile kontrol etmek üzere basit bir devre yapalım. Başlangıçta eminimki zor gibi gelicektir. Ama bu zamana kadar çalıştıp onun için mücadele verdikten sonra hangi konuda başarısız oldunuz?
int parlaklik; //Birinci led için atadığımız değişken
int parlaklik1; //İkinci led için atadığımız değişken
void setup()
{
pinMode(9, OUTPUT); //Birinci ledimiz için gereken çıkış pimini belirliyoruz
pinMode(10, OUTPUT); //İkinci ledimiz için gereken çıkış pimini belirliyoruz
pinMode(A0, INPUT); //Potansiyometre için gereken giriş pimini belirliyoruz
}
void loop()
{
parlaklik=analogRead(A0); //Birinci ledimiz için ayarlamasını gereken pwm değer için referans okuması değer yerini giriyoruz.
parlaklik1=analogRead(A0); //İkinci ledimiz için ayarlamasını gereken pwm değer için referans okuması değer yerini giriyoruz.
parlaklik=map(parlaklik,0,1023,0,255); //Birinci ledimiz için dönüşüm değerlerini veriyoruz bunlar 0-5V için digit ve analog değerler arasında dönüşüm yapıyor
parlaklik1=map(parlaklik1,1023,0,0,255); //İkinci ledimiz için dönüşüm değerlerini veriyoruz bunlar 5-0V için digit ve analog değerler arasında dönüşüm yapıyor
analogWrite(9, parlaklik); //Birinci ledimiz için map komutundan aldığı dönüşüm aralığını çıkışına veriyor. Ve bu sayede ledin parklaklığı artıp azalıyor
analogWrite(10,parlaklik1); //İkinci ledimiz için map komutundan aldığı dönüşüm aralığını çıkışına veriyor. Ve bu sayede ledin parklaklığı azalıp artıyor
delay(10); //Döngünün sağlığı açısından 10milisaniye bir geçikme koyuyoruz
}
Malzeme Listesi:
2 Adet 1k Drenç
1 Adet 10k Potansiyometre
2 Adet Led
1 Adet Breadboard
1 Adet Arduino
Yeteri Kadar Jumper Kablo
Bağlantı Şeması:

Öncelikle potansiyometremizin ortadaki bacağını arduinomuzun “A0” pinine bağlıyoruz. Sonra bir ayağına 5v diğerine ise GND veriyoruz. Burada orta bacak haricinde diger iki bacağa 0-5v nasıl bağladığınızın önemi yok. Sonra 9 numaralı digital pinden alığımız çıkışımızı 1k’lık drençe ordan ledimizin artı ucuna bağlıyor, ledden çıkan ucu GNDye bağşıyoruz. Digital 10 numaralı pin içinde aynı işlemi yapıyoruz ve devremiz tamamdır.
İyi günler dilerim.
Teknoloji, elektronik ve üretimin yılmaz insanları. Sizin emekleriniz insanoğlunu daha ileriye taşıyacak. Bir sonraki yazıda görüşmek dileğiyle.





Son yorumlar