1 Nisan 2016 Cuma

Arduino İle DHT11 Kullanımı-Uygulaması

Arduino İle DHT11 Kullanımı-Uygulaması

Bu yazımda sizlere DHT11 sıcaklık ve nem sensörü nasıl kullanılır onu anlatacağım...
isterseniz ilk önce dht11 sensörü nedir ve arduinoya nasıl bağlanır onu anlatayım..

DHT11, dijital sinyal çıkısı ve sıcaklık-nem sensörü birimlerini bulunduran bir sensördür. Sensör içerisinde direnç ile nem ölçüm bileşeni ve NTC Sıcaklık ölçüm bileşeni bulunmaktadır.
Özel bir dijital sinyal üretip bunu tek hat üzerinden seri olarak iletmektedir. Bu hat çift yönlü seri iletim yapabilmektedir.
Sensör doğru bağlanmış ise sensörün data pinine bağlı olan pin en az 18 ms boyunca “0” ardından 20-40 us boyunca “1” yapılır. Daha sonra bu pin giriş pini olarak ayarlanır. Eğer 80 us boyunca “0” ve yine 80 us boyunca “1” geliyorsa sensör doğru bağlanmış ve veri transferine başlamış demektir.
DHT11 toplam 40 bitlik(5 byte) bir veri gönderir.
1.byte nem değerinin tam sayı kısmını,
2.byte nem değerinin ondalıklı kısmını,
3. byte sıcaklık değerinin tam sayı kısmını,
4. byte ise sıcaklığın ondalıklı kısmını ifade eder.
Eğer veri iletimi doğru bir şekilde tamamlandıysa, 5. byte ilk 4 byte toplamına eşittir.
Her bitin gönderiminden önce 50us lik bir bekleme süresi vardır. Bu sürenin ardından gelen sinyal 26 – 28us arasında sürüyor ise bu bit değeri olarak “0” ‘ı , 70us sürüyor ise bit değeri olarak “1”‘i ifade eder.
DHT11, 0 – 50 ℃ arasında sıcaklık ölçümü yapabilmektedir. +-%2 lik hata payı vardır.
DHT11, %20 -% 90 arası nem ölçümü gerçekleştirebilmektedir. Nem hata payı ise +- %5 dır.
DHT11’i Arduino ile kullanacaksak yukarıdaki bilgileri kullanmamıza gerek duymadan programla yapabiliriz. Çünkü hazır kütüphaneler bizim için bu bilgileri işleyen fonksiyonlara sahipler.
DHT11′ i Arduino’ ya bağlarken 10k’ lık direnç ile pull-up yapmamız gerekmektedir.
baglantı şemasına gelecek olursak ben aşagıdaki kodda var olan baglantı şemasını paylaşacagım ama genel olarak dht11 arduinoya böyle baglanıyor sadece pin baglantıları programdan degiştiriliyor..


Kodlar için dht11 kütüphanesi gerekli onun linkini altta vereceğim ve kurulumunu anlatacağım.

Kütüphanenin linki:  http://dosya.web.tr/KML9gm
dosyayı RAR içinden çıkarıp C:\Program Files (x86)\Arduino\libraries klasör'ünün içine yapıştırınız.
Bu işlemi yaptıktan sonra sırada kodlar var...


#include <dht11.h> // dht11 kütüphanesini ekliyoruz.
#define DHT11PIN 2 // DHT11PIN olarak Dijital 2"yi belirliyoruz.

dht11 DHT11;

void setup()
{
  Serial.begin(9600); // Seri iletişimi başlatıyoruz.
  Serial.println("wwww.ramazantuncay.blogspot.com.tr DHT11 Test Programi");
}

void loop()
{
  // Bir satır boşluk bırakıyoruz serial monitörde.
  Serial.println();
  // Sensörün okunup okunmadığını konrol ediyoruz. 
  // chk 0 ise sorunsuz okunuyor demektir. Sorun yaşarsanız
  // chk değerini serial monitörde yazdırıp kontrol edebilirsiniz.
  int chk = DHT11.read(DHT11PIN);

  // Sensörden gelen verileri serial monitörde yazdırıyoruz.
  Serial.print("Nem (%): ");
  Serial.println((float)DHT11.humidity, 2);

  Serial.print("Sicaklik (Celcius): ");
  Serial.println((float)DHT11.temperature, 2);

  Serial.print("Cig Olusma Noktasi: ");
  Serial.println(DHT11.dewPoint(), 2);

  // 2 milisaniye bekliyoruz. 2 milisaniyede bir veriler ekrana yazdırılacak.
  delay(200);
}
Kodları arduinomuza yükleyip çalıştırdıktan sonra karşımıza aşağıda videosunu paylaştığım gibi bir şeylerin çıkması lazım...



Evet bu yazımızda burada son bulsun..İleri ki projelerde görüşmek üzere..Takipte Kalınız.....

23 Mart 2016 Çarşamba

Arduino İle MQ-4 Sensör Uygulaması

Arduino İle MQ-4(Metan-CNG) Sensör Uygulaması


Merhaba arkadaşlar bu yazımda sizlerle arduino ile MQ4 gaz sensörü nasıl kullanılır, onu anlatmaya çalışıcagım.Öncelikle MQ-4 Metan ve CNG sensörünü tanıyalım.ben modül seklinde olanını kullanacağım...


Benim kullandığım modül yukarıdaki resimdeki modülle aynıdır.piyasada resimde tüp şeklinde görülen malzeme var sadece ve onun tek başına kullanımı daha zor diyebilirim.bu modül kullanımını oldukça kolaylaştırıyor.
Modüle gelecek olursak görüldüğü üzere 4 pin çıktısı var bunların ikisini arduino ile haberleşmede diğer ikisini güç için kullanıyor.Modül analog ve dijital pinden aydı anda haberleşiyor ve gelen verileri karşılaştırıp arduino ile ayarlanan çıktıyı veriyor.
Pin bağlantıları yukarıdaki resimden net bir şekilde anlaşılıyor eğer sizinde elinizde böyle bir modül varsa üstünde kesinlikle yazıyordur nasıl baglanacagı....
isterseniz kodlara geçelim..

/* MQ-4 sensör uydulaması */

const int AOUTpin=0;//AOUT pini arduinonu A0 pinine baglanıcak
const int DOUTpin=8;//DOUT pini arduinonun digital 8 pinine baglanıcak
const int ledPin=13;//çıktıyı görmek için digital 13 pine bir adet led baglanıcak
//Vcc pini 5V
//GND pini GND yebaglanıcak
int limit;
int value;

void setup() {
Serial.begin(115200);
pinMode(DOUTpin, INPUT);
pinMode(ledPin, OUTPUT);
}

void loop()
{
value= analogRead(AOUTpin);
limit= digitalRead(DOUTpin);
Serial.print("Gaz Degeri: ");
Serial.println(value);
Serial.print("Limit: ");
Serial.print(limit);
delay(100);
if (limit == HIGH){
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(ledPin, LOW);
}
}

Kodlarımız bu kadar sıra her zamanki gibi bağlantı şemasına geldi

Şemayı yukarı resimde verdim anlamaz iseniz kodların içinde hangi pinin nereye bağlanacağı yazıyor..






2 Mart 2016 Çarşamba

Arduino İle StarWars Müziği Uygulaması

Arduino İle StarWars Müziği Uygulaması

Merhaba Arkadaşlar bu uygulamamızda Arduino ile starwars müziği çalacağız,peki nasıl olacak bu iş
Arduino'ya bağlanan buzzer ile olacak tabiki
bu uygulama için gerekli malzemeler
Arduino(uno,nano,mega)hangisi varsa elinizde
bir adet buzzer
iki adet led
iki adet 220R direnç

Şimdi sıra kodlarda kodları burada paylaşmıycam çok uzun onun yerine linkini paylaşıp siz indirebilirsiniz hem böyle daha kolay olmuş olur.


http://dosya.co/0ileutuptqcg/star_wars.ino.html

Kod  .ino türünde olduğu için direk olarak Ardunonuza yükleyebilirsiniz. ...

Şimdi sıra bağlantı şemada aşağıda Fritzing'den çizdiğim şemayı paylaşacağım...

Şemadada görüldügü gibi buzzer 8 pine,ledler 12 ve 13 pine bağlanıyor.Devreyi şemadaki gibi kurup kodu yüklediğimizde karşımıza aşağıdaki videodaki gibi birşey çıkacaktır....



Başka uygulamalarda görüşmek üzere......


Arduino İle NTC Uygulaması

Arduino İle NTC Uygulaması

Merhaba arkadaşlar bu uygulamamızda Arduino ya  NTC bağlayıp onunla ölçtüğümüz sıcaklığı bilgisayardan göreceğiz.(göreceğiz dediysem Arduino serial ekranından göreceğiz)...
İsterseniz ilk önce NTC nedir onu bi ögrenelim....
    NTC Termistör
NTC termistör İngilizce'de “Negative Temperature Coefficient” ifadesinin baş harflerinde oluşur. Anlamı ise “Negatif ısıl katsayısı” yani sıcaklıkla doğru orantılı olarak dirençleri azalan elemanlardır. PTC termistörünün tersidir. Bu termistörde ise bulunduğu yerin sıcaklığı artıkça direncide o orantıda azalmaktadır.








Termistörlerin çoğunun direnci sıcaklık artıkça azalır. Yani çoğunlukla NTC tipi termistörlerle karşılaşırız. NTC’ninde sıcaklıkla değişen direnci aşağıdaki grafikten görebiliriz;



NTC'yi bu şekilde özetleyebiliriz..

İlk önce kodları paylaşayım sonrada şemaya geçeriz..

//////////////////////////////////////////////////////////
#include<math.h>
double Thermistor(int RawADC)//hesaplama yapma yeri
{
  double Temp;
  //float Temp;
  Temp=log(((10240000/RawADC)-10000));
  Temp=1/(0.001129148+(0.000234125+(0.0000000876741*Temp*Temp))*Temp);
  Temp=(Temp-273.15);//kelvinden dereceye çevirdik
  return Temp;
}

void setup() {
  Serial.begin(9600);//serial ekranı başlattık
}
void loop() {
 Serial.println(float(Thermistor(analogRead(A0))));//ölçülen degeri serial ekranında gösterdik
 delay(1000);// 1sn aralıklarla bilgiyi güncelledik
}
//////////////////////////////////////////////////////////////////////////////////

Kodlar bu kadar bu kodu Arduinomuza yüklememiz yeterli.
Şimdi  sıra bağlantı şemamızda;



Görüldügü üzere NTC arduinomuzun A0 bacagına baglı ayrıyetten bir de 10K direnç ile GND'ye baglanmış.Devremiz çok basit bir devre oldugu için herkes tarafından yapılabilir.

1 Mart 2016 Salı

PROTEUS PROGRAMININ KULLANIMI

Altta paylaşmış olduğum linkten verilen PDF'i indirerek ISIS ve ARES hakkında detaylı bilgi edinebilirsiniz..

http://dosya.co/3o09a3xz4g35/proteus-design-suite-8.pdf.html

İlerleyen zamanlarda ISIS ve ARES ile ilgili ders videoları yayınlanacaktır.
Takipte kalınız..

5 Şubat 2016 Cuma

Arduino'nun Besleme Kaynakları

Arduino'nun Besleme Kaynakları


Arduino'nun çalışması için gerekli olan enerji, Arduino'nun farklı besleme girişlerinden sağlanabilmektedir. Arduino'nun farklı besleme girişleri kullanılırken, bu girişe uygulanacak maksimum gerilimin bilinmesi gerekir. Eğer girişe uygulanması gereken gerilimden fazla bir gerilim uygulanırsa, Arduino zarar görebilir.

Arduino'nun USB ile beslenmesi

Arduino'nun USB kablosunu bilgisayarınıza bağladığınızda, Arduino çalışması için gerekli enerjiyi bilgisayarınızdan almaktadır. Bu giriş, Arduino için gerekli enerjiyi sağlarken, aynı zamanda Arduino'nun bilgisayarla haberleşmesini, Arduino'ya yeni kod atılmasını da sağlar.
Yukarıdaki görselde 1 numaralı giriş Arduino'nun USB girişidir. Görselde de görüldüğü gibi bu giriş, yazıcı kablosu olarak tarif edilen USB B girişidir. USB standartlarına uygun olarak tasarlanan bu girişe en fazla 5 Volt gerilim uygulanmalıdır. Eğer bu girişe 5 Volt üzeri bir gerilim uygulanırsa, Arduino zarar görebilir.

        Arduino'nun pille çalıştırılması

Arduino harici besleme kaynaklarıyla da çalıştırılabilir. Bunun için Arduino üzerinde birbirine bağlı iki farklı giriş bulunmaktadır. Bu girişlerden ilki, yukarıdaki görselde 2 numara ile gösterilen jack girişidir. Bu girişe 7 ile 12 Volt (önerilen) arasındaki gerilimler uygulanabilir. Bu girişe bağlı regülatör (gerilim düzenleyicisi) ile girişe uygulanan gerilim, Arduino'nun çalışma gerilimine düşürülür.
Arduino üzerinde bulunan 'Vin' pini, Arduino'nun jack girişine bağlı bir pindir. Bu pine uygulanan gerilim, Arduino'ya ulaşmadan önce bu pine bağlı regülatör yardımıyla Arduino için uygun gerilime düşürülür. 'Vin' girişine 7 ile 12 Volt arasındaki gerilimler uygulanmalıdır. Pilin artı (+) ucu 'Vin' pinine bağlandıktan sonra, pilin eksi (-) ucu Arduino'nun 'GND' yani toprak ucuna bağlanmalıdır. 'Vin' pini yukarıdaki görselde 3 numara ile gösterilmiştir.
Eğer bu girişlere uygulanması gereken gerilimden fazla bir gerilim uygulanırsa, Arduino zarar görebilir.

         Arduino'nun 5 Volt pininden beslenmesi

Arduino üzerinde bulunan 5 Volt pini de Arduino'yu beslemek için kullanılabilir. Arduino yaygın olarak bu pinden beslenmese bile, buraya 5 Volt gerilim uygulandığında, Arduino'nun çalıştığı görülmektedir. Bu pine 5 Volt geriliminden fazla bir gerilim uygulanması, Arduino'nun bozulmasına neden olacaktır. Pek tercih edilmese bile, eğer elinizde düzenli olarak 5 Volt gerilim veren bir kaynak varsa, kaynağın artı (+) ucunu Arduino'nun 5 Volt, eksi (-) ucunu da Arduino'nun 'GND' yani toprak pinine bağlayarak kullanabilirsiniz.
Bu pin yukarıdaki görselde 4 numara olarak gösterilmiştir.

Arduino Türleri Ve Özellikleri

Yaygın Olarak Kullanılan Arduino Türleri Ve Özellikleri



          Arduino UNO

Mikrokontrolcü: ATmega328
Çalışma gerilimi: 5 Volt
Önerilen giriş voltajı: 7 – 12 Volt
I/O (giriş/çıkış) sayısı: 14 (6 PWM)
I/O çıkış akımı: 40 mA
Analog giriş: 6
Flash bellek: 32 KB
SRAM: 2 KB
EEPROM: 1 KB

                 Arduino Mega

Mikrokontrolcü: ATmega2560
Çalışma gerilimi: 5 Volt
Önerilen giriş voltajı: 7 – 12 Volt
I/O (giriş/çıkış) sayısı: 54 (15 PWM)
I/O çıkış akımı: 40 mA
 Analog giriş: 16
Flash bellek: 256 KB
SRAM: 8 KB
    EEPROM: 4 KB

               Arduino Nano
Mikrokontrolcü: ATmega168 ya da ATmega328
Çalışma gerilimi: 5 Volt
Önerilen giriş voltajı: 7 – 12 Volt
I/O (giriş/çıkış) sayısı: 14 (6 PWM)
I/O çıkış akımı: 40 mA
                                                                                Analog giriş: 8
                                                                                Flash bellek: 16 KB

Diğer Modelleri:    


   Genuino 101
     Arduino Fio
     Arduino Pro Mini
   LilyPad Arduino
  Arduino Mikro
     Arduino Pro Mikro
    Arduino Yun
Arduino Esplora
 Arduino Due
Arduino Leonardo
    Arduino Mega ADK




Arduino'ya Giriş


Arduino'ya Giriş

Arduino, üzerinde bulundurduğu özel giriş ve çıkış portları yardımıyla, programcının yazdığı özel kodları fiziksel etkiye çeviren elektronik devre kartıdır. Yazılımsal ve donanımsal olarak tamamen açık kaynaklı ve özgür olmasından dolayı, isteyen herkes Arduino'nun gelişmesine katkı sağlayabilmektedir. Diğer programcılar tarafından hazırlanmış geniş kütüphaneler ve örnek projeler sayesinde Arduino, Dünya üzerinde en çok kullanılan elektronik devre kartlarındandır.
Arduino ile proje ve prototip hazırlama diğer mikroişlemcilere göre daha hızlı olmaktadır. Bu yüzden Arduino prototip hazırlamada ve elektronik programlamaya girişte yaygın olarak kullanılmaktadır.

Arduino üzerinde bulunan donanımlar ve pinler, Arduino'ya yüklenen kodlar tarafından kolaylıkla kontrol edilebilmektedir. Programcı tarafından yazılan bu kodların işlenmesi için Arduino üzerinde Atmel marka mikroişlemciler bulunmaktadır. Bu mikroişlemcilerin türüne göre de Arduino türleri belli olmaktadır. Arduino'nun bir türü için yazılmış bir kod, eğer o türe has özel donanımlar kullanmıyorsa diğer Arduino türleri üzerinde de sorunsuz çalışmaktadır. Bu yüzden çoğu Arduino projesi hemen hemen her Arduino türünde çalışmaktadır.

4 Şubat 2016 Perşembe

Arduino Uno İle Karaşimşek Devresi

Arduino Uno İle Karaşimşek Devresi

Bir önceki yazımızda arduino ile led yakıp söndürmüştük
bu yazımızda karaşimşek devresi yani yürüyen ışık yapıcaz hep birlikte..
ilk önce kodları vereyim ondan sonra devreye geçelim,

byte ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int ledDelay(65);
int direction = 1;
int currentLED = 0;
unsigned long changeTime;
void setup() {
 
for (int x=0; x<10; x++) {
pinMode(ledPin[x], OUTPUT); }
changeTime = millis();
}
void loop() {
 
if ((millis() - changeTime) > ledDelay) {
changeLED();
changeTime = millis();
}
}
void changeLED() {
 
for (int x=0; x<10; x++) {
digitalWrite(ledPin[x], LOW);
}
 
digitalWrite(ledPin[currentLED], HIGH);
 
currentLED += direction;
if (currentLED == 9) {direction = -1;}
if (currentLED == 0) {direction = 1;}
}


Koddan da anlaşılacağı gibi ledleri dijital pin 4'ten başlayıp 13'e kadar takmamız lazım tabiki ledlerimizi korumak amacıyla arduino ile her bir ledin arasına 150-330 ohm arasında bir direnç takarsak bu bizim yararımıza olur.
gel gelelim devremize....



Devremizi kurduktan sonra kodları arduino ya yüklediğimizde karşımızda karaşimşek filminden hatırladığımız yürüyen ışıklar olacaktır..