Arduino etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Arduino etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

6 Ekim 2015 Salı

Arduino LCD Ekran Sicaklik Değerini Yazdirma

Kullanılan malzemeler

LM35
LCD ekran(1602D2)
10k potansiyometre
Arduino uno

 LM35 Sicaklik Sensörü


Sicaklik ölçüm sensörüdür. -55 ile 150 derece arasindaki sicaklikları ölçer. Hassas ve doğrusaldır. Giriş gerilimi 4-30V arasında çalışır.


Şekil 1 LM35 Sensörü 

Not: Arduino da ADC 10 bitliktir. 5000 mV  1024 parçaya işlemcimiz böler.  Her 10 mV bize 1 °C 'yi verecek şekilde programımız yazıldı.

Arduino kodları

#include <LiquidCrystal.h>

float sicaklik;
float gerilim;
int sicaklikpin=0;

LiquidCrystal LCD(2,3,4,5,11,12);

void setup(){
  LCD.begin(16,2);
  LCD.print("Sicaklik");
}

void loop(){

  gerilim= analogRead(sicaklikpin);
  gerilim= (gerilim/1023)*5000;         //mV cinsi
  sicaklik= gerilim/10.0;                     // 20 C *10 mV= 200 mV
  
  LCD.setCursor(0,0);
  LCD.print("Sicaklik");
  LCD.setCursor(9,0);
  LCD.print("Gerilim");
  LCD.setCursor(0,1);
  LCD.print(sicaklik);
  LCD.setCursor(9,1);
  LCD.print(gerilim);
  delay(1500);
}


Şekil 2 Arduino devre şeması


Şekil 3 Arduino devre şeması

     








2 Ekim 2015 Cuma

Arduino RGB Led Buton İle parlaklık Kontrolü

Kullanılan malzemeler

3 adet buton iki bacaklı
RGB led
3 adet 470 ohm direnç

Arduino kodları 

int kirmizipin=11;
int yesilpin=10;
int mavipin=9;

int kirmizibuton=7;
int yesilbuton=6;
int mavibuton=5;

int kirmizi=0;
int yesil=0;
int mavi=0;

void setup(){
  pinMode(kirmizipin, OUTPUT);
  pinMode(yesilpin, OUTPUT);
  pinMode(mavipin, OUTPUT);

  pinMode(kirmizibuton, INPUT_PULLUP);
  pinMode(yesilbuton, INPUT_PULLUP);
  pinMode(mavibuton, INPUT_PULLUP);
}
void loop(){

  if(digitalRead(kirmizibuton)==LOW)
  {
    kirmizi++;
    if(kirmizi>255) kirmizi=0;
  }
   if(digitalRead(yesilbuton)==LOW)
  {
    yesil++;
    if(yesil>255) yesil=0;
  }
  if(digitalRead(mavibuton)==LOW)
  {
    mavi++;
    if(mavi>255) mavi=0;
  }
  analogWrite(kirmizipin, kirmizi);
  analogWrite(yesilpin, yesil);
  analogWrite(mavipin, mavi);
  delay(10);
}

Şekil 1 Arduino devre şeması

Şekil 2 Arduino devre şeması




1 Ekim 2015 Perşembe

Arduino Dc Motor Kontrolü

Arduino ile DC motor uygulamasında kullanılacak malzemeler;

BC547 Transistör
10 kohm 
1N4001 diyot
Arduino uno

Arduino kodları:

int motorpin = 3;
void setup() 

  pinMode(motorpin, OUTPUT);
  Serial.begin(9600);
  while (! Serial);
  Serial.println("Speed 0 to 255");

void loop() 

  if (Serial.available())
  {
    int hiz = Serial.parseInt();
    if (hiz >= 0 && hiz <= 255)
    {
      analogWrite(motorpin, hiz);
    }  }   

Bağlantı şeması aşağıdaki gibi olucaktır.


                                                   Şekil 1  Arduino serial monitör 



Şekil 2 Arduino serial monitör 


9 Haziran 2015 Salı

Arduino Örnekleri 2

Örnek 1: Karaşimşek Yapımı

const int ledpin[]={10, 11, 12, 13};
void setup ()
{
  for (int led=0; led<4; led++)
  {
    pinMode(ledpin[led], OUTPUT);
  }
}
void loop ()
{
  for (int led=0; led<3; led++)
  {
    digitalWrite(ledpin[led], HIGH);
    delay(100);
    digitalWrite(ledpin[led], LOW);
    delay(100);
  }
  for (int led=3; led>0; led--)
   {
     digitalWrite(ledpin[led], HIGH);
     delay(100);
     digitalWrite(ledpin[led], LOW);
     delay(100);
   }
}

Örnek 2: Servo motor kontrolü

#include <Servo.h>                                       // Servo motor kütüphanesi
Servo servo;
int konum=0;
void setup ()
{
  servo.attach(9);                                           //servonun bağlandığı pin
}
void loop ()
{
  for (konum= 0; konum <180; konum+=1)  // 0-180 derece arası
{
  servo.write(konum);
  delay(15);
}
for (konum= 180; konum>=1; konum -=1) // +1 ve -1 dereceyi artır.
{
 servo.write(konum);
  delay(15);
}

}

Örnek 3: Ondalik  sayi dönüşümü

int tam1;
int tam2;
int tamSonuc;
float ondaliksayi;
float ondalikSonuc;
void setup ()
{
  Serial.begin (9600);
}
void loop ()
{
  tam1= 136;
  tam2= 11;
  ondaliksayi= 136.0;

  tamSonuc =tam1/tam2;
  Serial.print("tam1/tam2 sonucu= ");
  Serial.println(tamSonuc);

  ondalikSonuc= tam1/tam2;
  Serial.print("tam1/tam2 sonuc(sonuc ondalik)=");
  Serial.println(ondalikSonuc);

  ondalikSonuc = ondaliksayi/tam2;
  Serial.print("ondalik/tam2 sonucu=");
  Serial.println(ondalikSonuc);

  ondalikSonuc = (float)tam1 / (float) tam2;
  Serial.print ("float tam1/ float tam2: ");
  Serial.print(ondalikSonuc);

  while(1);
}

Örnek 4: Karakök

int i;
float kok;
void setup ()
{
  Serial.begin (9600);
}
void loop ()
{
  for (i=1; i<51; i++)
{
 kok= sqrt (i);
 Serial.print(i);
 Serial.print ("kok sonucu: ");
 Serial.println (kok);
}
while (1);

}

Örnek 5:  Dc motor hız kontrolü 

const int analog = A0;
const int motor = 11;
int pot= 0;
void setup ()
{
}
void loop ()
{
 // Analog giriş değerini okuyoruz
  pot = analogRead (analog);
  pot = map (pot, 0, 1023, 0, 255);
  analogWrite (motor, pot);
  delay (200);
}


19 Nisan 2015 Pazar

Arduino Örnekleri 1

Örnek 1: İlk olarak led uygulaması. Giriş ve çıkışların kavranmasından dolayı önemli bir uygulamadır.

  int led= 13;                              // 13. pin çıkışından LED Yakma
  void setup()
 {
   pinMode (led,OUTPUT);       // 13. pin çıkış olarak atandı
  }
  void loop ()
{
    digitalWrite(led, HIGH);     // led yani 13 yandır
    delay(1000);                        // yanıp sönme arasındaki geçikme süresi
    digitalWrite (led, LOW);     // led yani 13 söndür
    delay(1000);
  }


Örnek 2: İki tane led kullanılarak yapılan uygulama temel mantık aynı tabi. 
  
  int led1 = 11;                                               // 11 .pin Çıkışından LED Yakma               
  int led2 = 12;                                               // 12. pin Çıkışından LED Yakma
  void setup() 
  {
    pinMode (led1, OUTPUT);                     // 11. pin çıkış olarak atandı
    pinMode (led2, OUTPUT);                     // 12. pin çıkış olarak atandı
  }
  void loop ()
 {
  digitalWrite (led1, HIGH);                        // led yani 11. yandır
  delay (1000);                                             // yanıp ve sönme arasındaki gecikme 
  digitalWrite(led1, LOW);                          // led yani 12. yandır
  delay(1000);
  digitalWrite(led2, HIGH);
  delay(1000);
  digitalWrite(led2, LOW);
  delay(1000);
  }


Örnek 3:  100 sn aralıklarla parlaklığı artıp azalan led 
      
  int led= 11;
  void setup ()                                                                
  {
  }
  void loop ()
  {
    for (int parlaklik=0; parlaklik<=255; parlaklik +=5)
    {
      analogWrite(led, parlaklik);
      delay(30);
    }
    for (int parlaklik=255; parlaklik>=0; parlaklik-=5)
    {
      analogWrite(led, parlaklik);
      delay(30);
    }
  }


Örnek 4: Dört işlemi yaptırma. İnteger yani tam sayı olarak tanımlamaları yapıp C mantığı ile                            program yazılır.

  void setup ()
  {
  Serial.begin (9600);  // En basit olarak iletişim hızını yani veri gönder hızını(baund) seçiyoruz. 
  }
  void loop ()
  {
    int sayi1;
    int sayi2;
    int toplam;
    int cikarma; 
    int carpma;
    int bolme;
    
    sayi1 = 12;
    sayi2 = 6;
    
    toplam = sayi1 + sayi2;  
    cikarma = sayi1 - sayi2;
    carpma= sayi1 * sayi2;
    bolme= sayi1 / sayi2;
    
    Serial.print ("toplam: ");     // Serial Mönitör ile iletişimi sağlamak için kullanılır. Arduino pc                                                                     bağlayınca serial mönitörden arduino ile iletişim sağlanır.
    Serial.println (toplam);        // Serial.pirnt ile aynı işlemi yapar.
    
    Serial.print ("cikarma: ");
    Serial.println (cikarma);
    
    Serial.print ("carpma: ");
    Serial.println (carpma);
    
    Serial.print ("bolme: ");
    Serial.print (bolme);
    
    while (1);                           // Döngüyü sonsuz olmaktan kurtarır. 
  }


Örnek 5: Açıyı radyana dönüştürmek için kullanılan kod DEG_TO_RAD

  void setup ()
  {
    Serial.begin(9600);
  }
  void loop ()
  {
    int aci_d;
   float aci_r;                                          // Ondalıklı sayı tanımlama Float
  
   for(aci_d=1; aci_d<=30; aci_d++) 
  {
 aci_r= aci_d*DEG_TO_RAD;      // Açıyı radyana çevirme için DEG_TO_RAD bu kod kullanılır
    
    Serial.print("aci: ");
    Serial.print (aci_d);
    Serial.print("sin: ");
    Serial.println (sin(aci_d),4);
    Serial.print(" Cos:");
    Serial.println( cos(aci_d), 4);
  }
  while(1);
  }


Örnek 6: Analog yani çevreden aldığımız değerleri digital dönüştürme. Potansiyometre analog                           değer verir.

  int potpin= A2;                                  // Potansiyometreden A2 analog giriş
  int ledpin= 10;                                  //  led pin çıkışı 10 olarak atandı.
  int val = 0;                                        // Val potpin(Potansiyometreden) okunan değer. 
                                                     
  void setup()
  {
  pinMode(ledpin, OUTPUT);
  }  

  void loop ()
  {
  val =analogRead(potpin);           // Analog değerleri okumak için kullanılan kod AnalogRead'dir.
  digitalWrite(ledpin, HIGH);
  delay(val);
  digitalWrite(ledpin, LOW);
  delay(val);
  }

1 Nisan 2015 Çarşamba

Arduino nedir?

Bir çok blog ve web sitesinden arduino nedir, ne işe yarar gibi bir ifade arandığında karşımıza bir çok arduino hakkında yazılmış anlatılmış arduino yazıları görebilirsiniz. En önemli özelliklerinden biri açık kaynaklı yazılım geliştirme ve proje kolaylıkla yapabilmek için kökeni İtalya'ya dayanan bir programdır. Arduino bilgi ve becerinizi geliştirmenize öncülük yapacak en önemli konulardan biri elektronik bilginizin gerekli olduğu gerçeğidir. Tabi bunun yanında C, C++ gibi yazılımlarının da bilinmesi öğrenmenize kolaylık sağlayacaktır. Bunlar olmadan kolay örnekleri rahatlıkla anlayabilir ve yapabilirsiniz ama zor örneklerde takılmanız kaçınılmaz olacaktır. 

Arduino bir çok çeşidi mevcuttur. Arduino uno, arduino mega, arduino lilypad, arduino ADK, arduino ethernet, arduino bluetooth, arduino mini ve mini pro, arduino nano, arduino leonardo, arduino esplora, arduino due gibi çeşitleri mevcuttur. Her arduino yapısına bağlı olarak 8 bit ve 32 bit mikrodenetleyiciden oluşur. Giriş-çıkış dijital pinlere sahiptirler. PWM çıkışı, analog giriş, donanımsal seriport, kristal ösilatör, USB  port, EEPROM, SRAM, led gibi  donanımsal yapıları mevcuttur.

Şekil 1: Arduino Mega 2560