Arduino Bluetooth String Okuma | Arduino Bluetooth Read String From Serial

Arduino-Bluetooth Modülü (HC-05) bacak bağlantıları : Arduino-Bluetooth pin connection

Arduino RX(dijital 0 bacağı) – Bluetooth Module TX

Arduino TX(dijital 1 bacağı) – Bluetooth Module RX

 

/*
 *    Arduino Bluetooth String Okuma
 *    Mustafa SOLAK  - www.mustafasolak.com  - 21.04.2019
 *    
 */
 
const byte karakterSayisi = 90;
char alinanKarakterler[karakterSayisi];
boolean yeniVeri = false;
char gelenVeri;

// gerekli ayarlar yapılıyor
void setup() {
  pinMode(13,OUTPUT); 
  Serial.begin(9600);
  Serial.println("Arduino Bluetooth String Okuma İşlemi Başlatıldı");
}

// Ana fonksiyon
void loop() {
  veriOku();
  gelenVeriyiGoster();
  if(strcmp( alinanKarakterler, "ledyak") == 0)
    Serial.println("ledyakilacak");
  delay(1000);
}

void veriOku() {
  static boolean veriAliniyor = false;
  static byte msSayac = 0;
  char veriBaslangicKarakteri = '<';
  char veriBitisKarakteri = '>';
  char gelenKarakter;
 
  while (Serial.available() > 0 && yeniVeri == false) { //  get all bytes from buffer
     gelenKarakter = Serial.read();
  
     if (veriAliniyor == true) {
       if (gelenKarakter != veriBitisKarakteri)   // Eğer hala veri alınıyorsa
       { 
         alinanKarakterler[msSayac] = gelenKarakter;
         msSayac++;

         // Eğer gelen karakter sayısı belirlediğimizden fazla olursa bunu sınırlandırıyoruz.
         // Maksimum bizim const byte karakterSayisi = 90; ile belirlediğimiz 90 karakter olmalı
         if (msSayac >= karakterSayisi) {
           msSayac = karakterSayisi - 1;
         }
       }
       else // veri sonlandırma karakteri > görüldü. en sona \0 sonlandırma karakteri ekliyorum
       {
         alinanKarakterler[msSayac] = '\0';
         veriAliniyor = false;  
         msSayac = 0;
         yeniVeri = true;
       }
     }
     else if (gelenKarakter == veriBaslangicKarakteri) // veri alma işlemi başladı
     {  
       veriAliniyor = true;
     }
   }
}

// bu fonksiyon veriOku() fonksiyonu ile gelmiş olan veriyi gösterir
void gelenVeriyiGoster() {
  if (yeniVeri == true) {
   Serial.println(alinanKarakterler);
   yeniVeri = false;
  }
}

 

Arduino ile Bluetooth Modülü( HC-05) Kullanımı

Arduino ile haberleşme için Bluetooth Terminal programını kurabilirsiniz. Varsayılan bluetooth şifresi 1234 ‘tür.

Program Kodları

char gelenVeri;
void setup() {
  pinMode(13,OUTPUT);
  Serial.begin(9600);
  Serial.println("Arduino Bluetooth Kontrol");
}

void loop() {
  if (Serial.available()>0){
    
    gelenVeri=Serial.read();
    
    if(gelenVeri=='1'){
      digitalWrite(13,1);
      Serial.println("LED Yakildi.");
    }
    
    if (gelenVeri=='0'){
      digitalWrite(13,0);
      Serial.println("LED Sonduruldu." );
    }
  }
  delay(100);
}

 

Alıntıdır : http://robotiktak.com/arduino-ile-hc-06-bluetooth-modul-kullanimi/

Arduino DS1302 RTC Modül Kullanımı | Arduino DS1302 RTC Module Example

Öncelikle DS1302 bağlantısını yapacağız. Bağlantıyı aşağıdaki şekile göre yapacağız.

ds1302_wireing-diagram

+5V      : Vcc

GND    : GND

SCLK   : CLK      (bacak 5)

I/O      : DAT      (bacak 4)

CE       : RST       (bacak 3)

Not: Bacak numaralarını isteğinize göre değiştirebilirsiniz. Ben burada 3,4,5 i kullanıyorum. 

Bağlantılar tamamsa kodumuzu yazalım.

  Okumaya devam et “Arduino DS1302 RTC Modül Kullanımı | Arduino DS1302 RTC Module Example”

Arduino DS1302 RTC Modül Sorunu ve Çözümü | Arduino DS1302 RTC Module Problem and Solution

Eğerki projenizde ds1302 modül kullanmak isterseniz bazı sıkıntılarla karşılaşabilmeniz olasıdır. Bunun sebepleri elinizde bulunan hazır modüldeki kalitesiz malzeme kullanımından olabilir. Örneğin kullanılan kristal vb.

Eğerki kodunuzu yazıp çalıştırdığınızda VCC=5V bağlı iken, saçma sapan değerler okuyorsanız ve VCC girişini söküp pil üzerinden(3.3V) çalıştırdığınızda sorun yaşamıyorsanız çözüm basit.
Okumaya devam et “Arduino DS1302 RTC Modül Sorunu ve Çözümü | Arduino DS1302 RTC Module Problem and Solution”