info@kodmek.com
Kodmek
  • Anasayfa
  • Blog
  • Araçlar
Kodmek
  • Anasayfa
  • Blog
  • Araçlar
  • Anasayfa
  • Blog
  • Araçlar
  • Anasayfa
  • Blog
  • Araçlar
Elektronik
Home Elektronik Page 2

Category: Elektronik

Arduino

Arduino şifreleme

Bu projemizde serial portu kullanarak arduinomuzun şifre ile açacağız.Kısaca arduino bize bir şifre sorcak ve doğru ise arduino çalışmaya devam edecek.

Şifre gönderimini bilgisayarımızdan serial monitör tarafından olacak eğer şifre doğru ise asıl projemizin döngüsüne girecek şimdi bunu nasıl yapacağımıza kodlara geçelim

void setup() {
   pinMode(13, OUTPUT);
   digitalWrite(13, LOW);
   Serial.begin(9600);
   Serial.println("Merhaba!");
   delay(1000);
   Serial.println("Lutfen sifreyi giriniz");
 }

 void loop()  {
   start:
   const char pas = 'kodmek';

     if (Serial.read() == pas) {
         Serial.println("giris basarili");          
         delay(1000);
         digitalWrite(13, HIGH);
         goto start;
     }
   }

Not: Şifre girilirken serial haberleşme kullanıldığı için arduinonuzun üstündeki rx tx pinlerini dikkatli kullanalım


Read More
MeK 6 Ekim 2018 0 Comments
64
Arduino

Arduino Seri Haberleşme Serial Port Ve Fonksiyonları

Tüm Arduino kartlarında bilgisayar veya diğer cihazlar arasında bağlantı kuran Serial Port bulunuyor. Arduino UNO’dan bir tane Serial Port bulunurken Arduino MEGA ve Arduino DUE’de daha fazla port yer alıyor.

Arduino UNO, 0’dan 13’e kadar olmak üzere toplam 14 tane dijital pine sahiptir. Bu kartta da diğer kartlarda da görebileceğimiz gibi dijital 0 (RX) ve dijital 1 (TX) pinleri Serial Port için ayrılmıştır. Arduino kartımız üzerindeki Serial Port için ayrılmış pinleri tek seferde yalnızca Serial Port için kullanabiliriz. Bu sırada bu pinler başka giriş veya çıkış işlemlerini gerçekleştiremez.

Arduino programlama dilinde seri haberleşme portunu kullanımı için tanımlanmış bir Serial nesnesi bulunmaktadır. Serial nesnesi işimizi kolaylaştırıcı bir çok fonksiyona sahiptir. Bunları şöyle sıralayabiliriz.

  • available ()
  • availableForWrite ()
  • begin ()
  • end ()
  • find ()
  • findUntil ()
  • flush ()
  • if ( Serial )
  • parseFloat ()
  • parseInt ()
  • peek ()
  • print ()
  • println ()
  • read ()
  • readBytes ()
  • readBytesUntil ()
  • readString ()
  • readStringUntil ()
  • serialEvent ()
  • setTimeOut ()
  • write ()

Bu fonksiyonların her biri farklı bir görev için tanımlanmıştır ve Arduino kartınızla işlem yapmanızı sağlarlar.

Serial.begin()

Bu komut ile Seri ara birimi kullanmak için hazır hale getirmiş oluruz. Kullanım şekli Serial.begin(baud rate); şeklindedir. Burada gördüğünüz Baud Rate, haberleşme hızını belirtir ve birimi bps yani saniye başına bit’dir. Baud Rate;  300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, yada 115200 değerlerini alabilir. Standart olarak basit bir iletişim kurup haberleşme yapmak için 9600 bps kullanılır.

Serial.begin(baud_rate): Serial haberleşmenin başlatılması için “setup” kısmına yazılır.

Serial.print() / Serial.println(): Serial ASCII yazılarının göndermemizi sağlar. String ve Char değişkenlerini gönderir.

Serial.Write(): Serial üzerinden byte verileri gönderir.

Serial.read(): Serialden gelen verileri okumak için kullanılır.

Serial.available():  Serial bağlantının kullanılabilir olup olmadığını kontrol eder. “if” gibi foksiyonlarla kullanılır.

Read More
MeK 24 Nisan 2018 0 Comments
79
Arduino

Arduino LCD Kullanımı

LCD 16*2 yani 16 sütun 2 satırdan oluşuyor toplam 32 karektere yazı yazabiliyoruz.LCD toplam 16 pinden oluşur ve 10 pini kullanarak ekrana yazı yazdırabiliriz. Ekran kontrantını ayarlamak içinde bir tane potansiyometre kullanıyoruz.

LCD’yi kullanmak için kütüphaneye ihtiyacımız var. Kütüphaneyi normalda Arduino IDE programında …… klosörünün içine atıyoruz ama LCD kütüphanesi zaten IDE programında mevcut ayriyeten indirmeye gerek yok.

Kodlarımız :

//Kodmek.com
#include<LiquidCrystal.h> // Kütüphaneler programa bu şeklde eklenir.
LiquidCrystal LCD(2,3,4,5,6,7); // LCD'nin data pinileri olarak adlandırabiliriz.
// Bunların dışındaki pinler vcc, 2 gnd ve constant pini toplam 10 pin.
void setup(){
LCD.begin(16,2); //16 satır 2 sütun olan LCD'yi tanımladık
// Piyasada 20*4 LCDlerde var onlar için "LCD.begin(20,4);" yazılması gerek.
LCD.clear();// LCDdeki tüm karakterleri ve yazıları siler. Yeni birşey yazarken bunu kullanamazsanız
// LCD'de karmaşık olarak harf yada karakter gösterir.
}

void loop(){
LCD.setCursor(0,0); // Bu kod ile 1. satır ve ilk sütuna kursörümüzü çektik.
LCD.print("LCD kullanim"); // 1. satıra LCD kullanim yazdık Türkçe karakter desteklemiyor.
LCD.setCursor(5,1); // Kursörü 5. satır 2. sütuna çektik
LCD.print("Arduinocu");
lcd.blink(); //Kursorü yakıp söndürmek için.
delay(100); // Kursor 100 milisaniyede bir yanıp sönüyor.
}

Arduino LCD Kullanımı 1

Read More
MeK 17 Nisan 2018 0 Comments
67
Arduino

Arduino ile RGB led kontrolü nasıl yapılır?

Arduinoya bağlı 3 potansiyometreden okunan değerleri RGB ledin renk pinlerine pwm sinyali olarak göndererek bu işlemi gerçekleştirebilirsiniz.

Bildiğimiz gibi potansiyometreler 0-1023 arasında analog değerler üretmektedir. Potansiyometreden alınan analog değerler map komutu ile 0-255 arasındaki pwm sinyallerine dönüştürülerek, arduino üzerindeki pwm pinlerine bağlı RGB led pinlerine aktarılarak RGB led kontrol edilebilir. Bu sayede kırmızı, yeşil ve mavi dışında tüm ara renkleri de potansiyometreleri hareket ettirilerek ara renkler elde edilebilmektedir.

Şimdi hep birlikte potansiyometre ile RGB led nasıl kontrol edilir? Devre şemasını ve arduino kodlarını inceleyelim.

Arduino ile RGB led kontrolü nasıl yapılır? 2

Devre şeması incelendiğinde RGB led renk pinleri arduino 3,5,6 numaralı pwm pinlerinde bağlandı. Potansiyometrelerin veri pinleri ise sırayla A0,A1,A2 analog pinlerine bağlandı.

Kodlarımız :

//Kodmek.com
int r=3;
int g=5;
int b=6;

const byte potRed=A0;
const byte potGreen=A1;
const byte potBlue=A2;

int potDegerRed; int potDegerGreen; int potDegerBlue;
 
void setup() {
 
pinMode(r,OUTPUT);
pinMode(g,OUTPUT);
pinMode(b,OUTPUT);
}
 
void loop() {
int potDegerRed=map(analogRead(potRed,0,1023,0,255);
int potDegerGreen=map(analogRead(potGreen,0,1023,0,255);
int potDegerBlue=map(analogRead(potBlue,0,1023,0,255);
analogWrite(r,potDegerRed);
analogWrite(g,potDegerGreen);
analogWrite(b,potDegerBlue);
delay(100);
}

 

Read More
MeK 16 Nisan 2018 0 Comments
75
Arduino

Arduino ile L298N motor sürücü kullanma

L298N motor sürücü kartı ne işe yarar?

L298N motor sürücü kartı ile arduino kullanarak motor kontrolü gerçekleştirebilirsiniz. Motor sürücü kartına bağlayacağınız 2 motoru ileri veya geri tam güçte ya da istediğiniz hızda sürebilirsiniz. Motor sürücü kartları DC motor kullanılacak projelerde işinize oldukça yarayacak ve kullanımı ve kodlaması oldukça basit bir karttır.

298N motor sürücü kartının arduino bağlantı şemasına geçmeden önce kartın harici bir güç kaynağına ihtiyacı olduğunu bilmeliyiz. Bunun için 9V pil kullanabilirsiniz.

Pilin + kutbunu motor sürücünün +12V , – kutbunu ise GND girişine bağlanmalıdır. Ayrıca motor sürücünün çalışabilmesi için motor sürücünün GND girişinden bir ek kablo ile arduino GND pinine bağlantı yapılmalıdır.

Arduino ile L298N motor sürücü kullanma 3

L298n motor sürücü kartı arduino bağlantı devre şeması

L298N motor sürücü kartı arduino bağlantı şeması görseldeki gibi yapılmalıdır. Burada Sürücü kart üzerindeki IN1 ve IN2 soldaki motoru, IN3 ve IN4 ise sağdaki motoru kontrol etmek için kullanılmaktadır. Arduinoda sırasıyla 8,9,10 ve 11 numaralı pinlere bağlantı yapabilirsiniz. Motorları tam güçte sürmek için ENA ve ENB pinlerine bağlı kelepçeler çıkarılmamalıdır.

L298N motor sürücü arduino kodları

//Kodmek.com
const int in1 = 8;     // Motor sürücümüze bağladığımız pinleri tanımlıyoruz
const int in2 = 9;     
const int in3 =  10;
const int in4 =  11;

void setup() 

{
pinMode(in1, OUTPUT);  //Tüm pinlerden güç çıkışı olacağı için OUTPUT olarak ayarladık.
pinMode(in2, OUTPUT);  
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);

}

void loop() 

{
// motor 1
digitalWrite(in1, HIGH);
digitalWrite(in2,  LOW);  
// motor 2
digitalWrite(in3, HIGH);
digitalWrite(in4,  LOW);
}

L298N motor sürücü motor hız kontrolü arduino kodları

//Kodmek.com
const int in1 = 8;     // Motor sürücümüze bağladığımız pinleri tanımlıyoruz
const int in2 = 9;     
const int in3 =  10;
const int in4 =  11;

const int enA = 5;  //Enable pinlerini arduino 5,6 pwm pinlerine bağladık.
const int enB = 6;

void setup() 

{
pinMode(in1, OUTPUT); 
pinMode(in2, OUTPUT);  
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);

pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
}

void loop() 

{
 // motor 1
analogWrite(enA,  255);   //1. motor 255 ile tam hızda dönüyor...
digitalWrite(in1, LOW);
digitalWrite(in2,  HIGH);  

 // motor 2
analogWrite(enB,  40);  //2. motor 40 ile yavaş dönüyor...
digitalWrite(in3, HIGH);
digitalWrite(in4,  LOW);
}

 

Read More
MeK 15 Nisan 2018 0 Comments
80
Devre Tasarımı

Vumetre Devresi yapımı

Vumetre yapımına bakacağız birlikte kendimin gerçekleştirmiş olduğu bu tasarım oldukca hoş ve kolay yapıma sahiptir. Şimdi anlatımımıza geçelim.

Vumetre ses çıkışından gelen sinyalleri lm3915 çözümleyerek çıkışlara yönlendirir buda çıkışlarda bulunan ledlerin yanmasını sağlar. Kısaca ses seviyesine göre çıkışlarında bulunana ledleri yakan devredir diyebiliriz.

Malzemelerimiz :

  • Lm3915 entegre
  • 10 adet led ( Renklerinin farklı olması görüntü olarak size avantaj sağlar. )
  • 1 adet 10k pot
  • 1 adet 1,2k direnç
  • 3,5mm jak

Devre Şeması :

Vumetre Devresi yapımı 4

Lm3915 entegresi ile kolaylıkla devremizi gerçekleştirebilirsiniz. Bu devreyi bizzat kendim denedim sorunsuz bir şekilde çalışmaktadır. Pot ile hasasiyet ayarlıyoruz bu sayede sesin sadece baslarda değilde daha hasas seslerdede çalışmasını sağlayabilirsiniz. Giriş gerilimi için 9-12 V gerilim kullanmanız ideal olacaktır.  4 ve 5 bacaklarını hoparlörünüzün çıkışınada bağlıyabilirsiniz be hoparlörün içine monte ettim güzel bir şekilde çalışmaktadır. İlerleyen zamanlarda çalışma videosunu çekip kanalımıza yüklüyeceğim. Yazımızı beğendiyseniz lütfen aşağıdan değerlendirmeyi unutmayınız.

Read More
MeK 12 Nisan 2018 0 Comments
75
Mikrodenetleyiciler

Pic16f877 ile termometre devresi

Ccs C ile termometre uygulamasına bakacağız birlikte. Proje için Lm35 sıcaklık sensörü kullanılmıştır.

National şirması taraşından üretilen LM35 sıcaklık sensörü, analog tipte olup santigrad derece başlına 10 milivolt gerilim üretir. Yani, sıcaklığın her 1°C artışına karşlılık, çıkış gerilimi 10mV artar. Örneğin, 20°C için çıkış gerilimi 200mV iken, 100°C için çıkış gerilimi 1V’dur. LM35 sıcaklık sensörünün pek çok tipi vardır. Her bir modelin sıcaklık ölçüm aralığı ve doğruluğu farklıdır. Örneğin, LM35DZ adlı sensör, 0°C ile 100°C arasındaki sıcaklıkları ölçer ve son derece doğrusal bir karakteristiğe sahiptir.

Devre ve Çalışması : A/D dönüştürücü için gerekli analog giriş için LM 35 ısı sensörü kullanılmıştır.LM 35 ısı sensöründen gelen analog sinyaller A/D dönüştürücü tarafından dijital sinyallere dönüştürülerek mikrodenetleyici tarafından işlene bilecek hale getirilir. İşlenen bu sinyaller çıkış birimi olan LCD ye sıcaklık değeri olarak yazdırılır.

Pic16f877 ile termometre devresi 5

16f877 Lm35

#include <16f877.h>    

#device ADC=10  // 10 bitlik ADC kullanılacağı belirtiliyor.

// Denetleyici konfigürasyon ayarları
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.

#use fast_io(a) //Port yönlendirme komutları A portu için geçerli

#define use_portb_lcd TRUE   // LCD B portuna bağlı

#include <lcd.c>   // lcd.c dosyası tanıtılıyor

unsigned long int bilgi; // İşaretsiz 16 bitlik tam sayı tipinde değişken tanımlanıyor
float voltaj,sicaklik;   // ondalıklı tipte değişkenler tanıtılıyor

//********** ANA PROGRAM FONKSİYONU*******

void main ( )
{
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı

   set_tris_a(0x01);  // RA0 Giriş olarak yönlendiriliyor

   setup_adc(adc_clock_div_32);   // ADC clock frekansı fosc/32
   setup_adc_ports(AN0); //RA0/AN0 girişi analog

   lcd_init();   // LCD hazır hale getiriliyor

   set_adc_channel(0);   // RA0/AN0 ucundaki sinyal A/D işlemine tabi tutulacak
   delay_us(20);         // Kanal seçiminde sonra bu bekleme süresi verilmelidir

   printf(lcd_putc,"\fSicaklik="); // LCD'ye yazı yazdırılıyor
   while(1)   // sonsuz döngü
   {
      bilgi=read_adc();  // ADC sonucu okunuyor ve bilgi değişkenine aktarılıyor

      voltaj=(0.0048828125*bilgi)*1000;   // Dijitale çevirme işlemine uğrayan sinyalin mV olarak gerilimi hesaplanıyor
      sicaklik=(voltaj/10)+2;    // Her 10mV'ta 1 derece artma

      lcd_gotoxy(10,1); // İmleç 1. satır 10.sütunda
      printf(lcd_putc,"%5.1f'C",sicaklik); // LCD'ye sıcaklık değeri yazdırılıyor
      // Gösterilecek ondalıklı değerin toplam basamak sayısı 5 olacak.
      // Gösterilecek değerin ondalıklı kısmı ise 1 basamak olacak. %5.1f
      // komutu ile bu işlemler yaptırılmıştır.
      delay_ms(100); // 100 msn gecikme
   }
}

 

Proteus ve Ccsc dosyalarını indirmek için : [ddownload id="3142"]

Read More
MeK 14 Mart 2018 0 Comments
67
Devre Tasarımı

Basit Hırsız Alarm Devresi

Bugün sizlerle basit bir hırsız alarm devresi yapımına bakacağız. Bu devre ile kapı açıldığında buzzer sayesinde ses verdirebilirsiniz. Şimdi devremizin yapımına geçelim

Yaklaşık maliyeti 5 TL olan bu basit devre ile güzel bir elektronik projesi yapmış olacaksınız.Devrede sadece Transistör, direnç, bir zil ve batarya kullanılıyor.Bu uygulamada, birisi kapıyı açtığında sensör bunu anlayacak ve alarm çalacak. Sürekli devam eden bir Bip sesi duyulacak. Bu devre pencere alarm devresi olarak da kullanılabilir.

Malzeme Listesi :

  1. Transistor (BC548)
  2. Resistor (10K)
  3. Buzzer
  4. Pil(9V)

Devre Şeması :

Basit Hırsız Alarm Devresi 6

Devrenin çalışması oldukça basit. Normalde “wire loop” yazan kablo toprağa yani eksiye bağlı. Akım 10 k direnç üzerinden eksiye geldiğinden transistör tetiklenmiyor. Yani BC 548 iletime geçmiyor. Dolayısı ile de buzzer ötmüyor. Ne zaman ki kapı açılıp da “wire loop” yazan kablonun teması kesilirse o zaman, transistör iletime geçiyor. Akım buzzer üzerinden, trnasistörün CE bacaklarından da geçerek, eksiye geliyor. Devresini tamamlıyor ve alarm çalıyor.

Devre şemasında gösterilen 5V gerilimi 9V pil üzerinden alabilirsiniz.

 

Read More
MeK 23 Şubat 2018 0 Comments
79
Arduino

Arduino ile Park Sensörü Uygulaması

Bu yazımızda Arduino ile ufak bir park sensörü uygulaması yapacağız. Etraftaki nesneleri algılayarak uyarı verebilceğiniz bir uygulamadır. Uygulama da Arduino kütüphanelerini kullanarak sensör yardımı ile nesneleri algılatıp uyarı verdireceğiz .

Sizler uygulamayı geliştirerek robotlarda vb uygulamalarınızda kullanabilirsiniz.Şimdi uygulamamıza geçelim

GEREKLİ MALZEMELER

  • ARDUINO
  • 4 ADET LED
  • 5 ADET 220 OHM DİRENÇ
  • 1 ADET BUZZER
  • BREAD BOARD
  • YETERİ KADAR JUMPER KABLO

Devre Çizimimiz :

Arduino ile Park Sensörü Uygulaması 7

Kodlarımız :

//M Enes KALE  park sensör yapımı.
 
const int trigger_pin = 12; //12. pini  trigger pin olarak tanımladık.
 
const int echo_pin = 13; //13. pini echo pin  olarak tanımladık.
 
const int aled = 2; //2. pini aled  olarak tanımladık.
 
const int bled = 3; //3. pini bled  olarak tanımladık.
 
const int cled = 4; //4. pini cled  olarak tanımladık.
 
const int dled = 5; //5. pini dled  olarak tanımladık.
 
const int buzzer = 6; //6. pini buzzer  olarak tanımladık.
 
int sure ; //sure adlı bir değişken tanımladık.
 
int mesafe ; //mesafe adlı bir değişken tanımladık.
 
&nbsp;
 
void setup() {
 
pinMode(aled , OUTPUT); //aled'i çıkış olarak tanımladık.
 
pinMode(bled , OUTPUT); //bled'i çıkış olarak tanımladık.
 
pinMode(cled , OUTPUT); //cled'i çıkış olarak tanımladık.
 
pinMode(dled , OUTPUT); //dled'i çıkış olarak tanımladık.
 
pinMode(buzzer , OUTPUT); //buzzer'i çıkış olarak tanımladık.
 
pinMode(trigger_pin , OUTPUT); //trigger pin'i çıkış olarak tanımladık.
 
pinMode(echo_pin , INPUT); //echo pin'i giriş olarak tanımladık.
 
}
 
void loop()
 
{
 
digitalWrite(trigger_pin , HIGH); //trigger pin'e enerji verdik.
 
delayMicroseconds(1000); //mesafeyi ölçmesini sağladık.
 
digitalWrite(trigger_pin , LOW); //trigger pinin enerjisini kestik.
 
sure = pulseIn(echo_pin , HIGH); //sure değişkenin echo pin'in değiştirmesini sağladık.
 
mesafe = (sure / 2) / 29.1;
 
&nbsp;
 
if (mesafe <= 10) //mesafemiz 10 cm den kısa ise bunları yapar.
 
{
 
digitalWrite(aled , HIGH); //aled'e enerji verdik.
 
digitalWrite(bled , HIGH); //bled'e enerji verdik.
 
digitalWrite(cled , HIGH); //cled'e enerji verdik.
 
digitalWrite(dled , HIGH); //dled'e enerji verdik.
 
digitalWrite(buzzer , HIGH); //buzzer'e enerji verdik.
 
delay(250); //0,25 saniyede bir tekrarlanmasını sağladık.
 
digitalWrite(buzzer , LOW); //buzzer'in enerjisini kestik.
 
}
 
else if (mesafe <= 25) //mesafemiz 25 cm den kısa ise bunları yapar.
 
{
 
digitalWrite(aled , LOW); //aled'in enerjisini kestik.
 
digitalWrite(bled , HIGH); //bled'e enerji verdik.
 
digitalWrite(cled , HIGH); //cled'e enerji verdik.
 
digitalWrite(dled , HIGH); //dled'e enerji verdik.
 
digitalWrite(buzzer , HIGH); //buzzer'e enerji verdik.
 
delay(500); //0,50 saniyede bir tekrarlanmasını sağladık
 
digitalWrite(buzzer , LOW); //buzzer'in enerjisini kestik.
 
}
 
else if ( mesafe <= 50) //mesafemiz 50 cm den kısa ise bunları yapar.
 
{
 
digitalWrite(aled , LOW); //aled'in enerjisini kestik.
 
digitalWrite(bled , LOW); //bled'in enerjisini kestik.
 
digitalWrite(cled , HIGH); //cled'e enerji verdik.
 
digitalWrite(dled , HIGH); //dled'e enerji verdik.
 
digitalWrite(buzzer , HIGH); //buzzer'e enerji verdik.
 
delay(750); //0,75 saniyede bir tekrarlanmasını sağladık
 
digitalWrite(buzzer , LOW); //buzzer'in enerjisini kestik.
 
}
 
else //alan boş ise bunu yapar
 
{
 
digitalWrite(aled , LOW); //aled'in enerjisini kestik.
 
digitalWrite(bled , LOW); //bled'in enerjisini kestik.
 
digitalWrite(cled , LOW); //cled'in enerjisini kestik.
 
digitalWrite(dled , HIGH); //dled'e enerji verdik.
 
}
 
}

Yukarıdaki kodlar sayesinde sizde arduino ile araba park sensörü yapabilirsiniz. Kodları bir robot projenizde kullanarak robotunuzun nesnelerden kaçmasınıda sağlayabilirsiniz. Kodları geliştirmek size kalmış . Başka projelerde kullanmak için veya gelişmiş daha farklı projeleriniz var ise bizlerle yorum atarak paylaşabilirsiniz.

 

 

Read More
MeK 22 Şubat 2018 0 Comments
76
Devre Tasarımı

Güneş Paneli 12V Akü Şarj Devresi

12V gerilimli akü leri şarj etmek için tasarlanmış kontrol devresidir.  Güneş paneliniz ile 12V akünüzü bu devre ile şarj edebilirsiniz. Şimdi devre tasarımımıza geçelim.

Kontrol Devresi Özellikleri :
  • Güneş Paneli Değerleri : 50W (4A, 12V nominal)
  • Çıkış Voltajı : 7 – 14V
  • Maks Güç Dağılımı : 16W
  • Gerilim regülasyonu: 10mV
  • Akü deşarjı: 1mA
  • LED göstergeleri:
    KIRMIZI: Güneş paneli aktif
    YEŞİL: Seri regülatör sınırlama akımı (tamamen şarj edilmiş
  • Ters pil koruması: Pil yanlışlıkla ters takılıyorsa devre kapanır.

Devre Tasarım Şeması :

Güneş Paneli 12V Akü Şarj Devresi 8

Güneş Paneli 12V Akü Şarj Devresi 9

Devre Elemanları :

  1. MOSFET Transistor, TO-220, 60V, 27A
  2. Doğrultucu 6A, 400V
  3. Diode, 100V, 0.1A
  4. Zener, 6.2V, 0.5W
  5. LED, Kırmızı, High Efficiency
  6. LED, Yeşil, High Efficiency
  7. NPN Transistor, 40V, 200MA, TO-92
  8. Kondansatör, 0.1, 10%, 50V, X7R
  9. Dirençler :0.25W lık 1K, 3.9K, 4.7K, 10K, 18K, 20K
  10. Pot, 10K

Detaylı Devre Eleman Listesi : [ddownload id=”3067″]
İndirme Sayısı :[ddownload_count id=”3067″]

 

Yukarıdaki devre ile Güneş panelinizden elde edeceğiniz enerji ile 12V akünüzü şarj edebilirsiniz. Eğer devreyi oluşturmada sorun yaşıyor iseniz yorum atarak yardım alabilirsiniz.

 

Read More
MeK 7 Şubat 2018 0 Comments
83
Arduino

Arduino Bluetooth Modulü ile Led Yakma

Bu uygulamamız ile Arduino Bluetooth Modülü ile haberleşim led yakma uygulaması yapacağız.

Kullanacağımız malzemeler :

  1. Ledler ve buzzer
  2. HC-05 Bluetooth Modulü (veya HC-05)
  3. Arduino Uno(veya herhangi bir modeli)
  4. Android Telefon

Uygulamamız iki adet Led yakcaz ve bir buzzer dan ses çıkaracağız.

Kodlarımız :
#include<SoftwareSerial.h>
SoftwareSerial btmodul(10,11);   // 10 ve 11. pin Rx ve Tx pinleri olacaktır.
char data;  //data değişkeninin türünü char olarak ayarlıyoruz.
int led=13; 
int led1=3;
int buzzer=4;
void setup()
{
btmodul.begin(9600);  // Seri iletişimi başlatır.
pinMode(led,OUTPUT);  //13. pinimizi(led=13) çıkış yapıyoruz.  
pinMode(led1,OUTPUT);
pinMode(buzzer,OUTPUT);
}
void loop()
{
if (btmodul.available()) {   // Eğer bluetooth bağlantısı varsa içindeki kodları çalıştırır. (Bu kısmı kullanmayada bilirsin.)
data = btmodul.read();     //Gelen değeri okuyoruz. ve data değişkenine aktarıyoruz.
if(data=='1') {    //Eğer Android'ten gelen değer "1" ise( yani 1 rakamına bastığımızda,)
digitalWrite(led,HIGH);}    //digitalWrite ile 13. pini (HIGH) yaparak Ledimizi yakıyoruz. 
else if(data=='0'){       //Eğer Android'ten gelen değer  "2"  rakamı ise
digitalWrite(led,LOW); }    //digitalWrite ile 13. pini (LOW) yaparak Ledimizi söndürüyoruz. 
else if(data=='g'){    // Eğer "g" tuşuna basılırsa;
digitalWrite(led1,HIGH);  // ledi 0.1 saniye aralıklarla yakıp söndür
delay(100);
digitalWrite(led1,LOW);
delay(100);
}
else if(data=='k'){    // Eğer "k" tuşuna basılırsa,
digitalWrite(buzzer,HIGH);   // Buzzer'ı 1 saniye aralıklarla aktif et.
delay(1000);
digitalWrite(buzzer,LOW);
delay(1000);
}
}
}
Devre Tasarımı :

Arduino Bluetooth Modulü ile Led Yakma 10

Yukardaki kodlarımızı Arduino muzun içine attıktan sonra devremizi kurup çalıştırabilirsiniz . Android telefonunuza GooglePlay den Bluetooth modülünden haberleşme için Arduino Bluetooth Controller uygulamasını indirerek modül ile eşleştirip kontrol edebilirsiniz. Kontrol için “1,0,g ve k” karakterlerini kullanarak çalıştırğını görebilirsiniz.

Read More
MeK 5 Şubat 2018 0 Comments
75
Arduino

LM 35 ile Dijital Termometre Arduino

LM35 sensörü, 0 °C ile 100 °C arasında sıcaklık ölçümü yapabilen 3 bacaklı bir entegredir. Sıcaklığa bağlı olarak çıkışında analog gerilim verir. Çıkışta alınan gerilim sıcaklık ile doğrusal özellik gösterir.

Orta bacağından verilen gerilim her °C başına 10mV gerilim üretir.Örneğin; oda sıcaklığı 18 °C ise çıkış 180 mV olur

LM35 Sıcaklık Sensörü:

  • LM35 analog bir sensördür.
  • LM35 hassas ve doğrusal bir sıcaklık sensörüdür.
  • -55 ile +150 derece arasındaki sıcaklıkları ölçebilir.
  • 1 derecelik sıcaklık artışında çıkışı 10 mV artar.
  • Giriş gerilimi olarak 4 V-30 V arasında çalışabilir.
  • 3 adet bacağı vardır
  • 1.bacak=besleme
  • 2.bacak=data
  • 3.bacak=toprak(GND)

LM 35 ile Dijital Termometre Arduino 11

Arduino Kodlarımız :

#include <LiquidCrystal.h>

#define RS 8

#define ENABLE 9

#define D4 4

#define D5 5

#define D6 6

#define D7 7

LiquidCrystal lcd(RS, ENABLE, D4, D5, D6, D7);

const int analogInPin = A0; // Analog giris pini

int sensorValue = 0; // Analog gerilim dijital donusum degeri

float sensormVolt = 0; // Analog giris gerilimi

float temp = 0;

void setup() {

lcd.begin(16, 2);

lcd.setCursor(0, 0);

lcd.print("SICAKLIK:");

}

 

void loop() {

sensorValue = analogRead(analogInPin);

sensormVolt = ((float)sensorValue * 5000) / 1023;

temp = sensormVolt / 10.0;

lcd.setCursor(0, 1);

lcd.print(temp);

lcd.print(" derece");    // devamına birimi olan derecece yaz.

delay (1000);            // 1 sn bekle

 

}

Diğer yazımızda STM32 üzerinde gerçekleştireceğiz.

Read More
MeK 27 Ocak 2018 0 Comments
58
Devre Tasarımı

Buck Converter Devresi yapılışı

Bu yazımızda Buck Converter azaltan tip çevirici tasarımına bakacağız birlikte. Güç elektroniği konusundan olan Buck Converter DC – DC tipi azaltan bir çeviricidir.

Genel olarak düşürücü yani step-down olarak kullanılan buck çeviricilerin verimleri teorik olarak %95’lere kadar çıkabilmektedir. Tüm SMPS’lerde olduğu gibi bobin üzerine güç depolama ve bu depolanan gücü çeşitli şekillerde aktarma ile kullanılan buck regülatörBuck Converter Devresi yapılışı 12

Azaltan Tip için Bazı Formüller :

Buck Converter Devresi yapılışı 13

Anahtarlama için mosfet kullanabilirsiniz. Ayrıca anahtarlama frekansını bir işlemci ile gerçekleştirebildiğiniz gibi analog olarakda yapabilirsiniz 555 entegresi ile PWM sinyali üretebilirsiniz. Başka bir yazımızda buna değineceğiz.

Buck  Converter Devreleri için Tıklayınız .

 

Read More
MeK 26 Ocak 2018 0 Comments
83
STM

STM32F103 1602A LCD Bağlantısı

Bugün sizlere STM32F103 32 bit arm işlemcili kartımız ile LCD ekrana nasıl bağlantı kurulur ve yazı yazılır onu inceliyeceğiz.

Stm32 kartımızı nasıl arduino ide ile bağlantı kurup programladığımızı diğer yazılarımızda ayrıntılı olarak paylaştık. Bu kısımda sorun yaşıyanlar önceki yazılarımıza bakarak sorunları çözebilirsiniz.

STM32F103 1602A LCD Bağlantısı 14

Öncelikle LCD mizin pinlerini bağlamak ile başıyalım :

  1. LCD Rs ->A1
  2. LCD E (en) -> A2
  3. LCD D4 -> A3
  4. LCD D5 -> A4
  5. LCD D6 -> A5
  6. LCD D7 -> A6
  7. LCD RW -> GND
  8. LCD A -> +5V
  9. LCD K -> GND
  10. LCD Vss -> GND
  11. LCD Vdd -> +5V
  12. LCD V0/Vee -> Potansiyometre (Ekran Kontrastı İçin )

STM32F103 1602A LCD Bağlantısı 15

Gerekli Bağlantıları yaptıktan sonra Arduino ide mizi açarak aşağıdaki kodları derleyebilirsiniz.

/* 
 *  Konu  : LCD - 1602 serisi pin çözümü
 *  Tarih : 18/01/2018
 *  M. Enes KALE
 *  info@kodmek.com
*/
 
// Kütüphane
#include <LiquidCrystal.h>
 
// Arayüz ilişkisi için pinlerimiz
LiquidCrystal lcd(1,2,3,4,5,6);
 

 
void setup() {

 

   
}
 
void loop() {
    // LCD Başlangıç ayarları
  lcd.begin(16, 2);
  lcd.setCursor(6,0);         // 1.satır
  lcd.print("Kodmek"); // 1.satır metin
  lcd.setCursor(6,1);         // 2.satır
  lcd.print("MueN");       // 2.satır metin
  lcd.noDisplay();  // LCD Ekranı Sil
  delay(500);
  lcd.display();    // LCD Ekranı Göster
  delay(1000);

}

İşlem bukadar yukardaki kodları derliyerek kartımıza atalım kartımıza nasıl yükleyeceğimizi ve bağlantıları önceki yazımızda ele almıştık.

STM32F103 Kod Yükleme Bağlantı Şeması için Tıklayınız.
STM32F103 Arduino İDE tanımlama için Tıklayınız .

Arduino haric C dili ile programa için Mped compiler kodları :

#include "TextLCD.h"
DigitalOut myled(LED1);
TextLCD ark(PA_1,PA_2,PA_3,PA_4,PA_5,PA_6);
int main()
{
    ark.printf("Kodmek");
    float i=0.0;
    while(1) {
        ark.locate(0,1);
        ark.printf("%f",i);
        i=i+0.5;
    }
}

 

Read More
MeK 18 Ocak 2018 7 Comments
102
STM

STM32F103 Kod Atma İşlemi

Kartlarımızı da tanıttıktan sonra sıra geldi geliştirme kartımıza program atmaya. Bunun için ben STM32duino bootloader seçeneği kullanarak program atma işlemini gerçekleştirdim. Denemek amaçlı örnekler menüsünden blink adlı kodu açalım. Com portun doğru seçili olduğundan emin olmalısınız. Bendeki görüntü aşağıdaki gibi.

STM32F103 Kod Atma İşlemi 16

 

 

STM32F103 Kod Atma İşlemi 17

Kodumuz :

void setup() {

 

  pinMode(PC13, OUTPUT);

}

 

void loop() {

  digitalWrite(PC13, HIGH);  

  delay(1000);                       

  digitalWrite(PC13, LOW);    

  delay(1000);                       

}

Sonrasında da yükle diyerek kodu atıyoruz. Artık STM32 kartımızı Arduino id programımıza tanıtık bundan sonra bu kartımız için bir çok örnek ile sizlerle paylaşacağım .

Yazımız için yıldız vermeyi takıldığınız yerde yorum yazarak bizlere ulaşabilirsiniz.

Read More
MeK 17 Ocak 2018 2 Comments
77
STM

STM32F103 Arduino ide ile programlama

STM32F103 kartımızı Arduino ide ile programlayabilirsiniz.Arduino IDE programının kurulu olduğunu varsayıyorum. Eğer değilse arduino.cc adresinden download kısmından indirip bilgisayarınıza kurunuz.

Şimdi kartımızı Arduino IDE programına tanıtmamız gerekli. Bunun içinde birden fazla yol mevcut.

1.Yol:

Programı açtıktan sonra Dosya menüsü–>Tercihler menüsüne tıklıyoruz.

STM32F103 Arduino ide ile programlama 18

Aşağıda kırmızı dikdörtgen içine aldığımız yere http://dan.drown.org/stm32duino/package_STM32duino_index.json linkini ekliyoruz.

STM32F103 Arduino ide ile programlama 19

2. Yol: Araçlar menüsü—->Kartlar—>Kart Yöneticisine tıklıyoruz.

STM32F103 Arduino ide ile programlama 20

Karşımıza gelecek iletişim penceresine Due yazıyoruz. Gelen sonuçlardan da 32 bit ARM Cortex M3 lü olanı install diyerek kurulumu tamamlıyoruz.

Daha sonra buradan Arduino STM32 dosyalarını indiriyoruz. Gelen zipli dosyayı açtıktan sonra da klasörü Program Files(86)/Arduino/Hardware klasörünün içine kopyalıyoruz.

Artık stm32 kartımızı Arduino id programımıza tanıtmış olduk . Artık örneklermize geçebiliriz.

Read More
MeK 17 Ocak 2018 2 Comments
120
  • 1
  • 2
  • 3
New Comments
  • SP Flash Tool için veysel25
  • DZ09 Smartwatch Saat modelleri ekleme için MeK
  • DZ09 Smartwatch Saat modelleri ekleme için furkan öztoprak
  • STM32F103 1602A LCD Bağlantısı için MeK

Kodmek güncel teknoloji ve programlama platformu
Bültene kayıt ol

[mc4wp_form id="357"]

Kullanım koşulları | Gizlilik Çevreve politikası

Copyright © 2023 kodmek.com. All Rights Reserved.