Arduino ile buton ve led kontrolü
|Merhabalar bu konumuzda butonla led yakacağız.Bu sayede dijital giriş-çıkış işlemlerini tanıyacağız.Yaptığımız projelerde led’leri kullanırken çektikleri akımları sınırlamak için seri dirençler kullanırız.Çıt-çıt butonları girişe bağlarken de pull-up direnci ekleyeceğiz yada toprağa bağlarken pull-down direnci ekleyeceğiz.Pull-up dirençler buton serbest bırakıldığında girişin boşta kalmaması için 5V seviyesine çekilmesini sağlarlar.Şimdi gelelim örneğimizin yapılmasına;
Devre şeması :
int ledPin=8; int butonPin=9; int butonDurum=0; void setup(){ pinMode(ledPin,OUTPUT); //led pinimizi çıkıs ayarladık pinMode(butonPin,INPUT); // buton pinimizi giriş ayarladık } void loop(){ butonDurum=digitalRead(butonPin); // dijital olarak okuduk if(butonDurum==HIGH){ digitalWrite(ledPin,HIGH); }else digitalWrite(ledPin,LOW); }
Programımız oldukça basit;setup() foksiyonu içerisinde pinMode() fonskiyonu ile butonun bağlı olduğu pini giriş ve ledin bağlı olduğu pini çıkış olarak ayarlıyoruz.Daha sonra loop() fonksiyonu içerisinde digitalRead() fonksiyonu ile butonun bağlı olduğu pini okuyarak butonDurum değişkenine atıyoruz.Daha sonra if yapısı kullanarak butonun basılı olup olmadığını kontrol ediyoruz.Butonumuz pull-down direnci ile toprağa bağlı olduğundan normal durumda buton pininin girişi LOW olacaktır.Biz her butona bastığımızda HIGH seviyesine çıkacaktır.if yapısı ile buton HIGH seviyesine çıktığında digitalWrite() fonksiyonu ile Led pinini HIGH seviyesine çekiyoruz.Yani 5V veriyoruz.Bu sayede ledimiz yanıyor.Eğer aksi durumda ise ledi LOW seviyesine çekip sönmesini sağlıyoruzz.
Çok başarılı olmuş tebrik ederim çok işime yaradı :) Elinize emeğinize sağlık.
Teşekkürler, İyi çalışmalar.
bir sorum alocak: led baıldığında led yanan bir uygulama değil mi bu ?
Butona basıldığında ledi yakan bir uygulamadır.
2 buton 10 led sirasiyla yakip sondurme nasil olacak ?
hocam bizde butonlar iki ayaklı onların bağlanması nasıl. yardımcı olursanız sevinirim…
Merhaba, iki ayaklı butonların daha kolaydır. butona bastığınız zaman iki bacağı kısa devre olacaktır. Yani resimde görünenin sadece bir tarafını düşünün. İyi çalışmalar…
Teşekkürler hocam hallettim :)
abi butona bastığımızda ışık yanık kalacak bastığımızda sönecek çok acil ihityacım var nasıl yaparız
Merhaba, butona basıldığı zaman bir bool değişkenin değerini tersleyen ve bu bool değeri led pininden yazdıran bir yazılım ile sorununuzu çözebilirsiniz. İyi çalışmalar..
Hocam merhaba. Yazınızı okudum başarılı bir şekilde uyguladım. Öncelikle bundan dolayı teşekkür ederim. Ancak şöyle bir uygulama yapmak istiyorum. Butona bir defa basıp bıraktıktan sonra ledin örneğin 10 saniye yanması ve sonrasında sönmesi. Ya da butona bas çek yapıldıktan sonra motorun bir tam tur dönmesi gibi. Yardımcı olursanız sevinirim…
Merhaba, bahsettiğiniz işlemi “delay(1000)” şeklinde gecikme fonksiyonu kullanarak rahatlıkla yapabilirsiniz. İyi çalışmalar dilerim..
Merhaba
Bunu 15-20 metre ile uzaktan yapmak istiyorum. 15-20 metre uzaklığından bu butonlara basmak istiyorum. Bu işlemi o kadar uzaklıktan yapabilir miyiz ? Ayrıca 15-20 metre jumper kablo var mı ?
Merhaba, dediğiniz mesafeden elbet buton ile anahtarlama yapabilirsiniz. Lakin gerilim düşümü olacaktır. Gerilim düşümünü en aza indirmek için ince kablo kullanmanızı tavsiye ederim. 20m uzunluğunda jumper kablo bulunmamaktadır. Zil teli yada telefon kablosu kullanmalısınız. Gerilim düşümü kablo sonunda çok fazla olursa 12V gerilim kullanıp Arduino girişinde gerilim bölücü kullanabilirsiniz. İyi çalışmalar dilerim.
arkadaşlar ben butona basıldıgında ledin yanmasını ve tekrar basıldıgında ledin sönmesini istiyorum bunun yazılımını bir türlü bulamadım ve yazamadım yardım edermisiniz.
Merhaba, dediğiniz işlemi butona her basıldığında bir değişkenin değerini değiştirerek yapabilirsiniz. Yani, normalde 0 olan bir değişkenin değerini butona basıp bırakınca 1 yaparsınız böylece o değişkeni kontrol ederek ledin yanmasını sağlayabilirsiniz. İyi çalışmalar dilerim…
Merhabalar yayınladığınız bilgiler güzel çok beğendim sitenizdeki şemaları arduino’ya yeni başlayanlara öğreten bir program tasarlamak için kullansam sorun olurmu cevaplarsanız sevinirim :)
Merhaba, yayınladığımız bütün içerikler açık kaynaklıdır. Yazılımları ve içerikleri özgürçe kullanabilirsiniz. İyi çalışmalar dilerim..
2 buton ile 1 ledin parlaklığını arttırıp azaltmak istiyorum.
1.butona bastığımda ledin parlaklığı artacak ,
2.butona bastığımda ledin parlaklığı azalacak.
Yardımınızı bekliyorum hocam .
Merhaba, bahsettiğiniz işlemi arduino ile yapmak son derece kolaydır. Pwm çıkışını Arduino da analogwrite isimli fonksiyon ile kontrol edebilirsiniz. Bu fonksiyona parametre olarak verdiğiniz değeri değişken ile butona her basmanızda değiştirebilirsiniz. İyi çalışmalar dilerim…
butona basınca led yanacak aynı butondan elini çektikten 2 sn sonra sönecek bu uygulamanın ardunio kodu nasıl acaba
Merhaba, bu işlemi en basit olarak butona basılınca setlenen bir bayrak ile yapabilirsiniz. Bayrak 1 mi diye kontrol edip 1 ise 2 sn sonra ledi söndürüp bayrağı tekrar sıfırlayabilirsiniz. İyi çalışmalar dilerim…
iyi çalışmalar. bir buton ile birden fazla ledin kontrolü nasıl olabilir. mesela bir buton ile 3 ledi kontrol edeceğiz.
butona 1. basışımızda 1. led yanacak diğerleri sönük
butona 2. basışımızda 2. led yanıp, 1. led sönecek
butona 3. basışımızda 3. led yanıp 2. led sönecek
butona 4. basışımızda 1. led yanacak
Merhaba, bahsettiğiniz işlemi Arduino ile yapmak çok kolaydır. Sayıcı bir değişken kullanın ve bu sayıcının değerini butona her basılmasında bir arttırın. Böylece sayıcının değerine göre ledleri yakıp söndürebilirsiniz. Sayaç değeri 5′ i geçince sıfırlamayı unutmayın. İyi çalışmalar dilerim…
Arduinoya bir buton ekleyip bu butona bastığımda pc içerisinden bir ses dosyasının açılmasını istiyorum bu mümkün müdür ?
buton bağlantısını yaparken direnç kullanmama gerek var mı ?
Merhaba, bahsettiğiniz şekilde bir işlem gerçekleştirmek elbet mümkün. Lakin bilgisayarda sesi çalabilmesi için bir yazılım olması gerekir. Arduino bu yazılım ile hableşecek ve butona basılması durumunda ses çalacak şekilde bilgisayara komut gönderecek. Bilgisayardaki bu yazılımı C# yada python gibi dillerde yazmanızı tavsiye ederim. Dirence buton bağlayıp bağlamıyacağınız sizin butonu nasıl kullanmak istediğinize göre değişir. Pull-up bağlantı yapacaksanız gerek yoktur. Yazılımla bu bağlantı sağlanabilir. Ancak Pull-down bağlantı için direnç kullanmanız gerekir. İyi çalışmalar dilerim…
merhaba, ben bu buton uygulamasını başka bir projede deniyorum fakat ”buttonADurumm” does not name a type diyor , ben bu değişkeni void setup’tan önce tanımladım. Ve bi şey daha soracağım bunu tanımlarken yanına bir pin değeri atamama gerek var mı?
Merhaba, bahsettiğiniz sorunu almanız için değişkeni yanlış tanımlamış olmalısınız. ”buttonADurumm” does not name a type şeklinde bir hata almanız için “buttonADurumm” herhangi bir veri tipi girmemiş olmalısınız. ” int buttonADurumm; ” gibi. Bunu bir pin olarak tanımlamışsanız pin numarasını ona atamalısınız. ” int buttonADurumm = 3; ” Bu D3 pini için atama yapmanızı sağlar. Umarım yardımcı olabilmişimdir. İyi çalışmalar dilerim…
bu kodu delay yerine milis kullanılarak paylaşabilirmisiniz. yani butona bastığımızda örneğin 10 saniye yanacak ve sönecek
Merhaba, bahsettiğiniz yazılımı bağlantıdaki örneği referans alarak rahatlıkla yapabilirsiniz. İyi çalışmalar dilerim…
Hepinize kolay gelsin çocukların öğrenmesi için ardino aldım lakin bu kodları girince hata veriyor mesela if yazan yer pembe oluyor hata mesajı söyle
Butondurum was not declared in this scope
Bunu nasıl cozeriz
Merhaba, “Butondurum was not declared in this scope” şeklinde bir hata alıyorsanız “Butondurum” isimli değişkeni tanımlamamışsınız demektir. Arduino kullandığı dil olan C++’ da değişkenlerin isimlilerinin büyük küçük olmasına dikkat eder. Yani yazılım üst kısmında tanımlama yaptıysanız büyük küçük harfler aynı olacak şekilde kullanmalısınız. Yoksa karşılaştığınız hatayı alırsınız. İyi çalışmalar dilerim…
Bir buton ile bir LED’in uyarı sekansını nasıl kontrol edebilirim?
Merhaba, açıkcası ne sormak istediğinizi anlamadım. Bahsettiğiniz şey konuda zaten açıklanmış. Farklı bir yöntemden bahsediyorsanız baser61061@gmail.com adresine mail olarak gönderebilirsiniz. İyi çalışmalar dilerim…
Butona 4. kez basınca LED ışık versin, 7. kez bastıktan sonra ise LED sönsün.
bu deneyi nasıl yapabiliriz hocam
İlk işlemi söndürden başlatın, 4.de yanacak ,7.de duracak.