Arduino El Yapımı Kapasitif Sensor ile Led ve Dc Motor Kontrolü By Konuk Yazar Posted on 23 Haziran 2015 7 min read 1 1 7,826 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Merhaba arkadaşlar , Bugün size yaptığım el yapımı kapasitif sensör ile ledlerin sayısını ve dc motorun dönüş yönünü ayarlayan projemi sunacağım.Dilerseniz ilk önce projemizi biraz tanıyalım. İki tane kapasitif sensörle ledlerin sayısını, elinizi sensörlere değdirmeden üstünde kaydırarak ledlerin sayısını azaltıp veya çoğaltabilirsiniz.Motor kontrolünü sağlamak isterseniz iki kapasitif sensöre elinizle basarsanız motor sekmesi açılır.Motor sekmesindede elinizi sağ sensöre yaklaştırırsanız motor sağ,elinizi sol sensöre yaklaştırırsanız motor sol tarafa döner. Bu anlattıklarımızı bir de videomuzdan izleyebilirsiniz. Kullanılan Malzemeler Arduino UNO R3 Breadboard Alüminyum Folyo Jumper Kablolar Dirençler(4 tane 220 ohm,2 tane 140 kohm) 4 tane led Lcd Ekran 2×16 Dc Motor L293d Entegresi Potansiyometre Kapasitif Sensorlerin Yapımı Fotoğrafta görüldüğü gibi alüminyum folyoyu 110mm x 110 mm boyutunda kesip kabloları folyoya değdirip sert bir zemine yapıştırıyoruz. İki sensor içinde aynı şeyi yapıyoruz. Dilerseniz sensörlerin boyutunu değiştirebilirsiniz ancak sensöre bağlı olan direncinde boyutunu değiştirmeniz gerekebilir. Kapasitif sensörle ilgili detaylı bilgiye buradan ulaşabilirsiniz. Devre Şeması Yukarıda gördüğünüz üzere devre şemasını sizin için çizdim.Özellikle 2 tane yaptım bütün devreyi bir fotoğrafa çizersem çok karışık olacağını düşündüm.Siz iki devreyi birden kurarsınız Dirençler; ledlere bağlı olanlar 220 ohm, Sensorlere bağlı olan direnç ise 140kohm değerindedir. Arduino Kodları [php] #include <CapacitiveSensor.h> #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); const int LED4=A1 ; const int LED1=A0 ; const int LED2=7 ; const int LED3=10 ; const int motorpin1=A3 ; const int motorpin2=A2 ; int sayici ; int first ; CapacitiveSensor cs_4_2 = CapacitiveSensor(6,9); CapacitiveSensor cs_4_3 = CapacitiveSensor(13,8); void setup() { lcd.begin(16, 2); cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF); Serial.begin(9600); pinMode(motorpin1,OUTPUT); pinMode(motorpin2,OUTPUT); pinMode(LED1,OUTPUT); pinMode(LED2,OUTPUT); pinMode(LED3,OUTPUT); pinMode(LED4,OUTPUT); } void loop() { long total1 = cs_4_2.capacitiveSensor(100); long total2 = cs_4_3.capacitiveSensor(100); delay(50) ; lcd.setCursor(1,1) ; lcd.print(sayici); lcd.setCursor(5,1) ; lcd.print(first); Serial.println(total2); Serial.println(total1); Serial.println("\t"); if( total1<40 && total2<40 ) first=0; if( first==0 && total1>50 && total2<50 && sayici!=4 ) first=2; if( first==0 && total1<50 && total2>50 && sayici!=0) first=1; if(first==2 && total1>50 && total2>50 && sayici<4 && sayici>=0 ) { ++sayici ; first=3 ; } if(first==1 && total1>50 && total2>50 && sayici<=4 && sayici>0 ) { –sayici ; first=3; } if(total1>150 && total2>150 && first!=5 ) { if(sayici==9) { sayici=0 ; first=5; analogWrite(motorpin1,0); analogWrite(motorpin2,0); } else if(sayici!=9) sayici=9 ; first=5 ; } switch(sayici) { case 0 : lcd.setCursor(0,0) ; lcd.print("led sekmesi"); digitalWrite(LED2,LOW) ; analogWrite(LED1,LOW) ; digitalWrite(LED3,LOW) ; analogWrite(LED4,LOW) ; break; case 1 : digitalWrite(LED2,LOW) ; analogWrite(LED1,255) ; digitalWrite(LED3,LOW) ; analogWrite(LED4,0) ; break; case 2 : digitalWrite(LED2,HIGH) ; analogWrite(LED1,255) ; digitalWrite(LED3,LOW) ; analogWrite(LED4,0) ; break; case 3 : digitalWrite(LED2,HIGH) ; analogWrite(LED1,255) ; digitalWrite(LED3,HIGH) ; analogWrite(LED4,0) ; break; case 4 : digitalWrite(LED2,HIGH) ; analogWrite(LED1,255) ; digitalWrite(LED3,HIGH) ; analogWrite(LED4,255) ; break; case 9 : lcd.setCursor(0,0) ; lcd.print("motor sekmesi"); if (total1>50 && total2<50) { analogWrite(motorpin1,300); analogWrite(motorpin2,0); } if(total2>50 && total1<50) { analogWrite(motorpin1,0); analogWrite(motorpin2,300); } else if(total2<50 && total1<50) { analogWrite(motorpin1,0); analogWrite(motorpin2,0); } default: break ; } } [/php]