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 3

Category: Elektronik

STM

STM32F103 Bootloader Yükleme İşlemi

Stm32F103 olan ARM tabanlı bir işlemcisi bulunan benmimde kullandığım bu kartı programlamaya başlıyalım birlikte öncelikle Bootloader yükleme ile başlıyalım :

Kartın özellikleri:

  • ARM Cortex M3
  • 72Mhz
  • 64KB/128KB Flash
  • 20KB RAM
  • Reset button
  • LED on PIN PC13
  • 32kHz Real time clock crystal
  • Jump links on Boot0 and Boot1
  • Micro USB connector for power and data
  • ST-Link header on the top of the board.

Şimdi bazı kartların bootloader olmadan gönderildiği gibi bilgiler gördüm araştırmalarım esnasında. Önce bu işlemin nasıl yapıldığını anlatmak istiyorum. 2 seçenek var önümüzde. Biri USB TTL dönüştürücü kullanmak diğeri ise ST-Link (SWD) kullanmak. FTDI bir usb ttl dönüştürücüm olduğu için ben ilk yol ile gerçekleştirdim. Aşağıdaki resimde görüldüğü gibi ftdi usb ttl dönüştürücünün üzerinde bir anahtar var. 5v ve 3.3v seçmek için. Ben 3.3 v olacak şekilde ayarladım.

1.Adım: Bağlantı Şekli: VCC ve GND’yi bağladıktan sonra dönüştürücünün RX ucunu A9 pinine, TX ucunu A10 pinine bağlıyoruz. VCC ve GND bağlandığı zaman karttaki power ledi (yeşil)ve user ledi (kırmızı) yanmaya başlayacak. Üst üste BOOT0 ve BOOT1 olarak iki jumper var. BOOT0 ‘ı 1konumuza almamız gerekiyor yani jumperı diğer tarafa takıyoruz. Bu değişikliği yaptıktan sonra reset butonuna bastığınızda user ledin sönmesi gerekli. Eğer led söndü ise 2. adıma geçebiliriz.

STM32F103 Bootloader Yükleme İşlemi 1

2.Adım: Flashlama işlemi için kullanacağımız programı indirmemiz gerek.

Bu linke tıklayarak FLASHER-STM32 adlı programı indirip kuruyoruz.

3.Adım: Bootloader dosyasını indiriyoruz. Dosyamızın adı  generic_boot20_pc13.bin ve linki. Dosyayı bilgisayarımıza kaydediyoruz.

4.Adım: Ekran görüntülerini aşağıda verdim. Sırası ile işlemleri gerçekleştiriyoruz. Ancak port name kısmı önemli. Sizde kaç nolu porta bağlı ise o değerin orada yazması gerekli.Her adımı next diyerek geçiyoruz. Ancak 3 adımda 128k ve 64k ilgili bir seçenek var. Ben 64K olarak yoluma devam ettim.

STM32F103 Bootloader Yükleme İşlemi 2 STM32F103 Bootloader Yükleme İşlemi 3 STM32F103 Bootloader Yükleme İşlemi 4 STM32F103 Bootloader Yükleme İşlemi 5

5.Adım: Yeşil renkli ifadeyi gördüyseniz işlemleri başarılı bir biçimde tamamlamışsınızdır.

Şimdi Programlamaya geçebiliriz diğer yazımızda programlamaya değineceğiz

Read More
MeK 17 Ocak 2018 0 Comments
96
Devre Tasarımı

Cep telefonunu uzaktan kumandaya yapma

Android veya İos cihazlarınızı kendi yapacağınız ufak bir devre ile uzaktan kumandaya çevirebilirsiniz.

Basit bir şekilde IR (Kızılötesi) verici ile uzaktan kumanda yapımını anlatacağım. Malzemeler her yerde bulabileceğiniz basit malzemelerdir.

Malzeme listesi:
– 3.5mm kulaklık jakı
– IR (Kızlıötesi) LED
– Havya
– Lehim teli
Yapımı:
1- Öncelikle telefonunuzdan mağazaya girerek ZazaRemote uygulamasını indiriniz.
Android: https://play.google.com/store/apps/details?id=com.tiqiaa.remote
İos: https://itunes.apple.com/us/app/zazaremote-universe-remote/id717545062

Sizlere Android ve İOS cihazlar için basit bir şekilde IR (Kızılötesi) verici ile uzaktan kumanda yapımını anlatacağım. Malzemeler her yerde bulabileceğiniz basit malzemelerdir.Malzeme listesi:
– 3.5mm kulaklık jakı
– IR (Kızlıötesi) LED
– Havya
– Lehim teli
– Sağlamlaştırmak için silikon vb bişey

Yapımı:
1- Öncelikle telefonunuzdan mağazaya girerek ZazaRemote uygulamasını indiriniz.
Android: https://play.google.com/store/apps/details?id=com.tiqiaa.remote
İos: https://itunes.apple.com/us/app/zazaremote-universe-remote/id717545062

2- Daha sonra IR Ledimizi 3.5mm kulaklık jakımıza verdiğim resimlerdeki gibi bağlantsını yapıyoruz. Led’in artı (-) kısmını kulaklığın Sol ( 1- Left) ses çıkışına, Led’in eksi (+) kısmını kulaklığın Sağ (2- Right) ses çıkışına lehimliyoruz.

Cep telefonunu uzaktan kumandaya yapma 6 Cep telefonunu uzaktan kumandaya yapma 7 Cep telefonunu uzaktan kumandaya yapma 8

3- Lehimleme işi bittikten sonra silikon vb bişeyle sağlamlaştırıyoruz.
4- Şimdi telefonumuzdan uygulamamızı açııyoruz. Daha sonra yaptığımız IR vericiyi telefonumuza takıyoruz. Telefonumuz kulaklık olarak tanıyor. Uygulama içinde kendi TV yada yönetmek istediğiniz cihazın marka-modelini seçiyoruz. İlk olarak bize Aç-Kapat tuşu ile kalibrasyon yapmamızı istiyor. İlk bastığınızda eğer cihazınız kapandıysa kalibrasyon doğru demektir. Onaylayın ve kumandanızı güle güle kullanın. Kapanmadıysa tekrar basın.Kapanana kadar tek tek deneyin.
Kulaklık çıkış gücü oldukca düşük olduğu için testi alıcıya yakın gerçekleştiriniz.

Read More
MeK 16 Ocak 2018 1 Comment
64
Arduino

Arduino ile 8×8 led matris kullanımı

Arduino ile 8×8 led matris kullanımı bu yazımızda nerede ise her yerde kullanılan LED matris displayleri ele alacağız ve Arduino ile nasıl kullanacağınıza değineceğiz.Modern LED displayler çeşitli mikrodenetleyiciler ve çeşitli tiplerde matrislerle yapılırlar.

8×8 led matris 64 tane led içeriyor. Bunlara piksel de diyebiliriz. LEDler toplamda 16 pinle bağlanıyor. Aşağıdaki devre ile bağlantı yapabiliriz:

Arduino ile 8×8 led matris kullanımı 9

 

C1 – C8 – Sütun Pinleri

R1 – R8 – Satır Pinleri

Şekilden de görüldüğü gibi, aynı satırın bütn anod uçları birleştirilmiş. Böylece 8 satır ve 8 sütun pini çıkartılmış. R1 pinine pozitif gerilim uygulanırsa ve C1 pinine negatif gerilim uygulanırsa, ilk pikselin yandığını görürüz. Eğer C2 pinine negatif gerilim uygulanırsa 2. piksel (led) yanacaktır. Bu şekilde her ledi yakabiliriz. Bu pinlerin kontrol edilmesi manuel olarak pek de mümkün olmadığından, arduino ile kontrol etmek daha kolaydır.

her sütun arduino ile 220 ohm direnç üzerinden bağlıdır. Satır pinleri, shift register entegresinin çıkışına bağlanacak. Karakterler ise multiplekser yöntemi ile yazdırılıyor. Shift register entegresi, arduino ile data, latch ve clock pinleri ile bağlanıyor.

Arduino Kodları :

int clockPin = 5;
int dataPin = 3;
int pins [8] = {6, 7, 8, 9, 10, 11, 12, 13}; // common cathode pins
byte A[8] = {   B00000000, // Letters are defined
                B00011000,// you can create your own
                B00100100,
                B01000010,
                B01111110,
                B01000010,
                B01000010,
                B00000000
            };
 
byte B[8] = {     B00000000,
                  B11111100,
                  B10000010,
                  B10000010,
                  B11111100,
                  B10000010,
                  B10000010,
                  B11111110
            };
 
byte blank[8] = { B00000000,
                  B00000000,
                  B00000000,
                  B00000000,
                  B00000000,
                  B00000000,
                  B00000000,
                  B00000000
                };
byte R[8] = {  B00000000,
               B01111000,
               B01000100,
               B01000100,
               B01111000,
               B01010000,
               B01001000,
               B01000100
            };
 
 
void setup() {
  Serial.begin(9600); // Serial begin
  pinMode(latchPin, OUTPUT); // Pin configuration
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  for (int i = 0; i < 8; i++) { // for loop is used to configure common cathodes
    pinMode(pins[i], OUTPUT);
    digitalWrite(pins[i], HIGH);
  }
 
}
 
void loop() {
 
 
 
  for (int k = 0; k < 1000; k++) { // showing each letter for 1 second
    display_char(A);
 
  }
 
  for (int k = 0; k < 1000; k++) {
    display_char(B);
 
  }
  for (int k = 0; k < 1000; k++) {
    display_char(R);
 
  }
 
  // add more letters show method here
 
 
 
 
 
 
}
void display_char(byte ch[8]) { // Method do the multiplexing
  for (int j = 0; j < 8; j++) {
    digitalWrite(latchPin, LOW);
    digitalWrite(pins[j], LOW);
 
    shiftOut(dataPin, clockPin, LSBFIRST, ch[j]);
    digitalWrite(latchPin, HIGH);
    //delay(1);
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, B00000000); // to get rid of flicker when
    digitalWrite(latchPin, HIGH);
    digitalWrite(pins[j], HIGH);
 
  }
 
 
}

 

Read More
MeK 16 Ocak 2018 0 Comments
60
Arduino

Arduino İle Işık Seviyesi Ölçümü

Ortamın ışık miktarını ölçebileceğiniz bir proje olan Arduino İle Işık Seviyesi Ölçümünü nasıl yapacağımızı şimdi sırası ile bakalım :

TSL2561 Digital Light Sensor ışık seviyesini ölçmenize yarıyor. Bu sensörün 7 dolar gibi bir ücreti var. Arduino uno başlangıç olarak yeterli olacaktır. Bir el feneri yardımıyla veya başka bir ışık kaynağını sensör üzerine getirerek ışığın seviyesini artırarak ölçüm yapabilirsiniz.

Sensör içerisinde photodiyot bulunuyor. Bunun sayesinde analog olarak değerleri arduinoya aktarabiliyor. Biraz kodları kurcalamayla diğer mikroişlemcilere de uygulayabilirsiniz. Arduino ile bir çok sensör çok rahatlıkla kullanılıyor. Ayrıca burda ki kodları anlayarak lcdnin çalışma mantığını anlayabilirsiniz.

Malzemeler:

Arduino uno

TSL2561 Digital light sensörü

16×2 LCD

LCD I2C / SPI Backpack

Arduino uno launchpad üzerinden beslemeyi alabilirsiniz ayrıca, diğer bağlantıları da kolayca launchpad üzerinden yapabilirsiniz bu size kolaylık sağlayacaktır. TSL2561 sadece 4 bacağını kullanacağız diğer 2 bacağı işimize yaramayacak. ADOR ve INT bacaklarını kullanmanıza gerek yok.

İlk önce ışık sensörünün bağlantılarını yapalım.

  • Sensör GND pini – siyah kablo – Arduino gnd pini
  • Sensör VCC pini – sarı kablo – Arduino 3.3v pini
  • Sensör SCL pini – yeşi kablo– Arduino analog pin 5 (i2c clock)
  • Sensör SDA pini – mavi kablo – Arduino analog pin 4 (i2c data)

LCD bağlantısı

  • LCD GND pin – siyah kablo – Arduino grnd pin
  • LCD 5V pin – kırmızı kablo – Arduino A5V pin
  • LCD LAT pin – turuncu kablo – Arduino digital pin 4 (SPI latch pin)
  • LCD  DAT pin – mavi kablo – Arduino digital pin 3 (SPI data pin)
  • LCD CLK pin – yeşil kablo – Arduino digital pin 2 (SPI clock pin)

Arduino Kodlarımız :

#include "Wire.h"
#include "LiquidCrystal.h"
#include "TSL2561.h"

// Connect via SPI. Data pin is #3, Clock is #2 and Latch is #4
LiquidCrystal lcd(3, 2, 4);

//! Light sensor configured to default i2c address.
TSL2561 tsl(TSL2561_ADDR_FLOAT); 

//! Buffer for printing light readings to the LCD.
char output_buffer[6];

//! Initialize the sketch.
void setup() {
  // Initialize the serial connection for debugging.
  Serial.begin(9600);
  Serial.println(F("Serial initialized"));
  
  // Initialize the LCD.
  lcd.begin(16, 2);
  Serial.println(F("LCD initialized"));
  lcd.setBacklight(HIGH);
  
  // Print the top line label.
  lcd.setCursor(0, 0);
  lcd.print(F("Vis:"));
  
  // Print the bottom line label.
  lcd.setCursor(0, 1);
  lcd.print(F("Lux:"));
    
  // Initialize the light sensor.
  if (tsl.begin()) {
    Serial.println(F("Sensor initialized"));
  } else {
    Serial.println(F("Sensor failed to initialize"));
  }

  // Measuring relatively bright light, so gain of 0 is reasonable
  tsl.setGain(TSL2561_GAIN_0X);
  
  // Measuring relatively bright light, so short sampling time is reasonable
  tsl.setTiming(TSL2561_INTEGRATIONTIME_13MS);
  
  // For low light level, comment out the above configuration and uncomment the below lines
  // tsl.setGain(TSL2561_GAIN_16X);
  // tsl.setTiming(TSL2561_INTEGRATIONTIME_402MS);
}

//! Main execution loop.
void loop() {
  // From the Adafruit TSL2561 Example sketch, get both IR and
  // full spectrum values in one read.
  uint32_t full_luminosity = tsl.getFullLuminosity();
  uint16_t ir_spectrum = full_luminosity >> 16;
  uint16_t full_spectrum = full_luminosity & 0xFFFF;
  
  // Set the cursor to the data column on the top line.
  lcd.setCursor(5, 0);
    
  // Format the output using a format string stored in program memory.
  snprintf_P(output_buffer, 6, PSTR("%5d"), (full_spectrum - ir_spectrum));
  
  // Print to the LCD.
  lcd.print(output_buffer);
  
  // Set the cursor to the data column on the bottom line.
  lcd.setCursor(5, 1);
  
  // Format the output using a format string stored in program memory.
  snprintf_P(output_buffer, 6, PSTR("%5d"), tsl.calculateLux(full_spectrum, ir_spectrum));

  // Print to the LCD.
  lcd.print(output_buffer);
  
  // 0.5 second delay to keep the display from being unreadable in edge conditions.
  delay(500);
}

 

Read More
MeK 15 Ocak 2018 0 Comments
77
Arduino

Arduino Telefon ile Led Yakma

Bu yazımızda Arduino kullanarak Bluetooth kontrollü led yakmayı göstereceğim . Temel bir ders niteliğinde olan bu yazı ile isterseniz aynı sistemi kullanarak motor sürücüsü vb kodlamalarıda yapabilirsiniz.

Öncelikle ihtiyacımız olan ürünlere bir göz atalım:
  1. Ledler ve buzzer
  2. HC-05 Bluetooth Modulü (veya HC-05)
  3. Arduino Uno(veya herhangi bir modeli)
  4. Android Telefon

Ben bir de buzzer ekledim. Telefondan göndereceğimiz komutlarla 2 adet ledi yakıp söndürecek ve ayrıca buzzer’ı da öttüreceğiz:)

Öncelikle Arduino kodumuzu yazalım ve inceleyelim. Kodumuz aşağıdaki gibi olacaktır

#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 öttür.
    delay(1000);
    digitalWrite(buzzer,LOW);
    delay(1000);
    }
 
  }
  
 }

Öncelikle bu programı Arduino IDE’sinde yazıp Arduino kartımıza yükleyelim. Ardından devremizi kuralım. Devre kurulumu ise çok çok basit. Biz yine de Fritzing’de devrenin simülasyonunu yapalım.

Öncelikle yapmanız gereken telefonunuzun Bluetooth özelliğini açmanız. Ardından “Arduino Bluetooth Controller”  uygulaması açıp bluetooth üzerinden HC-05 veya HC-06 bluetooth modülünü eşleştirmek. eşleşme işlemini yaptıktan sonra ise, yukarıda paylaştığım kodda yazdığımız gibi, uygulamadan karakter gönderip, ledleri ve buzzer’ı kontrol aşamasına geçebilirsiniz. Biz kodumuzda “1,0,g ve k” karakterlerini kullanmıştık. Telefonun klavyesinden uygulama üzerinden bu karakterlere bastığımız zaman uygulamanın çalıştığını göreceksiniz:)

Read More
MeK 15 Ocak 2018 0 Comments
59
STM

ARM Nedir? ARM Mimarisi

ARM Holding, kısaca ARM firması önde gelen ARM işlemci mimarisinin tasarımcısı olan firmadır. Firma tasarladığı işlemci mimarilerini lisanslama yoluyla satmaktadır. Günümüzde kullanılan hemen hemen tüm mobil cihazlarda ARM tabanlı işlemciler kullanılmaktadır.

Piyasadaki birçok ürün için ARM işlemcili denilse de aslında doğru ifade “ARM tabanlı işlemci” dir. Çünkü aslında kendi başına ARM işlemci diye bir ürün bulunmuyor. ARM firması çeşitli mimariler tasarlıyor ve bu tasarımlarını işlemci üreticisi firmalara “lisanslıyor.”. ARM firması işlemcilerin fiziki olarak üretimi yapmıyor.

ARM Ailesi:
ARM mimarisi ailesini tanıyalım. ARM’ın kendi web sitesindeki tabloya bakacak olursak:

ARM Nedir? ARM Mimarisi 10

ARM mimarisi ailesi (Kaynak: ARM Inc)  http://arm.com/products/processors/index.php

ARM mimarisinde 3 temel grup bulunmaktadır:

  1. Klasik ARM işlemciler: ARM7, ARM9, ARM11
  2. Gömülü sistemlere yönelik ARM işlemciler: Cortex-M0, Cortex-M1,  Cortex-M3,  Cortex-M4
  3. Uygulama seviyesindeki ARM işlemciler: Cortex-A5,  Cortex-A8,  Cortex-A9,  Cortex-A15

1- Klasik ARM işlemciler: 

Bu gruptaki Cortex serisi öncesi grubu oluşturuyor. ARM7 serisi daha çok Motor kontrolü, sinyal işleme gibi mikrodenetleyici uygulamalarında kullanılan mikrodenetleyicilerin çekirdeğini oluştururken, ARM9 ve ARM11 serileri uygulama seviyesinde ve daha çok mobil cihazlarda kullanılıyor. Klasik ARM çekirdekleri görece daha eski ARM ürünlerinden ve kullanımları giderek azalıyor. Bunların yerine Cortex M, R  ve A serisi ARM çekirdeklerinin kullanımı tavsiye ediliyor.

2 – ARM Cortex Embedded İşlemciler:

Cortex M ve R serileri: Bu seri, deterministik bir şekilde çalışması gereken gerçek zamanlı ve düşük güç tüketimi gerektiren uygulamalarda kullanılıyor. NXP Semiconductors, STMicroelectronics, Texas Instruments, ve Toshiba gibi işlemci üreticileri bu çekirdeğe sahip mikrodenetleyici ürünleri sunuyorlar.

3 – ARM Cortex Uygulama İşlemcileri:

Cortex –A Serisi uygulama işlemcileri
Son dönemde hayatımızda oldukça büyük yer tutan akıllı telefonlar, tablet bilgisayarlar gibi son kullanıcı ürünlerinin birçoğunda bu serideki çekirdeklere sahip işlemciler bulunuyor. Örnek vermek gerekirse iPhone, iPad, Samgung Galaxy Tablet, RIM Playbook gibi ürünlerde Cortex-A serisi ARM tabanlı mikroişlemciler bulunuyor. Bu seri daha çok yüksek performans gerektiren son kullanıcı uygulamalarının üzerinde çalışacağı platformlarda kullanılıyor.

Read More
MeK 10 Ocak 2018 0 Comments
81
STM

STM32F103 Geliştirme Kartı Flash Loader

STM32F103 Geliştirme Kartı Flash Loader nasıl yapılır şimdi sırası ile birlikte inceleyelim

STM32F kartına da program yüklemek için bir uygulama gerekiyor. Burada iyi olan STM32 lerin programı ‘serial bootloader’ (seri yükleyici) ile kabul etmesidir. Aslında Arduino da, ESP8266 da benzer (seri) bootlader mantığıyla programlanmaktadır. Esas fark Arduino da bu işlemin -otomatik- olmasıdır. Her ne kadar bu kartta bulunan seri dönüştürücü entegresinin (CH340) RTS ve DTR uçları transistör aracılığıyla STM32F103 ün BOOT0 ve RESET uçlarına bağlanmış olsa da programlamak için el ile müdahale gerekiyor.

Kartı programlamak için gerekli adımları Windows işletim sistemi için sırasıyla ele alalım.
  1. Öncelikle kartımızın üzerinde bulunan USB – SERİ dönüştürücü entegresinin driver larını indirip bilgisayarımıza kurmamız gerekiyor. Bendeki dönüştürücü CH340. Google’a “CH340 driver” yazıp işletim sistemimiz için uygun olanı bulup indiriyor ve kuruyoruz.
  2. USB kablomuzu yukarıda görüldüğü gibi sağ üstteki usb portuna bağlıyoruz ve ardından bende mavi – beyaz görülen açma/kapama butonunu aktif hale getiriyoruz. Bu işlemi takiben butonun hemen yanındaki ledin (güç ledi) yandığını görüyor ve bilgisayarımızda yeni bir usb aygıtı takıldı sesini duyuyoruz.
  3. Bilgisayar sekmesine sağ tıklayıp Yönet e tıklıyoruz. Buradan ulaştığımız Aygıt Yöneticisindeki Bağlantı Noktalarına (COM ve LPT) tıklayıp kartımızın bilgisayarımız tarafından tanındığından emin olup bilgisayarımızın bize hangi seri port numarası atadığını yazıyoruz (aşağıdaki şekilde COM7 gibi).STM32F103 Geliştirme Kartı Flash Loader 11
  4. .STM32F sitesinde verilen ve STM tarafından ücretsiz olarak dağıtılan bootlader programını indiriyoruz.  (indirmek için mail adresi gerekiyor.)
  5. Flash loader programını bilgisayarımıza kurup başlatıyoruz. Şekil 2 de görüldüğü gibi ayarları yapıp 3. adımda elde ettiğimiz Com Port u  seçiyoruz (örneğimizde COM7).STM32F103 Geliştirme Kartı Flash Loader 12
  6. Açılan ekranda altta bulunan next butonuna tıklamadan önce STM32F kartımızda gördüğümüz BOOT0 jumper ını 0V konumundan VCC konumuna alıyoruz. (kartın fotoğrafında sol orta tarafta görünen GND – BT0 – 3V3 pinlerindeki jumperı BT0-3V3 konumuna alıyoruz.) Ardından kartımızdaki RESET butonuna bir kere basıyoruz.
  7. Bilgisayarımızdaki ekranda Next seçeneğini tıklıyoruz ve “target is readable” uyarısını görüp tekrar Next seçeneğine tıklıyoruz.
  8. Sonraki ekranda entegremizin hafıza blokları ve PID numarası gibi bilgileri içeren ekran geliyor. Target kutusunun “STM32F1” ile başladığından emin olup bir daha Next e tıklıyoruz.
  9. Gelen ekranda (Şekil 3) önce “download to device” a tıklayıp sonrasında sağ tarafta bulunan “…” butonu ile .hex ya da .bin uzantılı programımızın olduğu yere gidip dosyamızı seçiyoruz.
  10. Sonra Next seçeneğini seçiyoruz ve program dosyamız yükleniyor. Dosyamız kısa bir sürede yüklendikten sonra  başarılı yükleme sayfasını görüyoruz. Bundan sonra yapmamız gereken 6. adımda VCC ye çektiğimiz BT0 (Boot0) pinini GND ye geri çekiyoruz ve RESET i tıklıyoruz. Programımız çalışmaya başladı!
Tüm kartlarda dahili halde USB – SERİ dönüştürücü olmayabilir. Bu durumda harici bir usb – seri dönüştürücü ile programı yüklememiz gereklidir. Burada yazılan tüm işlemler geçerli olup, fazladan tek yapmamız gereken dönüştürücünün RX – TX uçlarını çapraz şekilde STM32F kartının pinlerine bağlamaktır. Aynı zamanda programı STM nin geliştirdiği ST – LINK ile de yükleyebiliriz. Bunun için SWD bağlantısı ya da JTAG bağlantısı yapmamız yeterlidir.

İlerleyen zamanlarda vakit bulduğumda videolu anlatım hazırlamaya çalışacağım. Aşağıdan yazımıza yıldız vermeyi unutmayınız.

 

Read More
MeK 10 Ocak 2018 0 Comments
61
Devre Tasarımı

Proteus İsis’e Arduino Kütüphanesi Ekleme

Arduino ile tasarladığımız projeleri ilk başta smilasyon ile görmek ve sonra uygulamak bizlere bir çok avantaj sağlmaktadır. Tasarımımızın düzgün çalışıp çalışmadığını, bir hata yapmışsak nerede hata yaptığımızı simülasyonda çok rahat görebiliriz. İşte bizde bugün Arduino kütüphanesini İsis programına nasıl gömeceğimizi göreceğiz.

Öncelikle gerekli kütüphanemizi indirelim :
[ddownload id=”2207″ text=”Arduino kütüphanesi indir”]

Dosyaları klasöre çıkarttığımızda oluşan iki adet dosyayı;

Proteus 7 kullanıyorsak: C:\Program Files\Labcenter Electronics\Proteus 7 Professional\LIBRARY dizinine

Proteus 8 kullanıyorsak: C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\LIBRARY

C:\Program Files\Labcenter Electronics\Proteus 8 Professional\LIBRARY veya sistemimiz 64 bit ise C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\LIBRARY dizinlerine kopyalıyoruz.

Böylece Arduino kütüphanemizi İsis programında tanımlamış olduk. Artık İsis programını açıp projemize Arduinoyu ekleyebiliriz. Nasıl ekleyeceğimizi ise aşağıda görebilirsiniz.

Proteus İsis’e Arduino Kütüphanesi Ekleme 13

Artık Proteus da arduino yu ekleyerek uygulamalarınızı test edebilirsiniz.

 

 

Read More
MeK 8 Ocak 2018 0 Comments
71
STM

STM32f103 geliştirme kartı

STM32f103 geliştirme kartı 32 bit bir işlemci mimarisine sahip olan stm32f103 geliştirme kartı ile uygun fiyata arm dünyasına girebilceğiniz bir geliştirme kartıdır. ST firmasının üretimi olan STM32 son yılların en çok tercih edilen arm cortex m3 işlemcisidir. Özellikle endüstriyel alanda çok tercih ediliyor. Bunun en önemli sebeplerinden biri tabii ki fiyat – performans oranıdır. Fakat onun haricinde güvenilirlik, dayanıklılık, fleksible olmasıyla diğer microcontroller üreticileri tarafından örnek alınan bir konumda olmasıdır. Kartın özelliklerine bakacak olursak :

STM32F103C8T6 Genel Teknik Özellikleri

Core:ARM 32 Cortex-M3 CPU.
Debug mode: SWD.
72MHz work frequency.
64K flash memory, 20K SRAM.
2.0-3.6V power, I/O.
Reset(POR/PDR).
4-16MHz crystal.
On-board Mini USB interface, you can give the board power supply and USB communication.
Size:5.3cm x 2.2cm.

Microcontroller Features

STM32F103C8T6 in LQFP48 package
ARM®32-bit Cortex®-M3 CPU
72 MHz max CPU frequency
VDD from 2.0 V to 3.6 V
64 KB Flash
20 KB SRAM
GPIO (32) with external interrupt capability
12-bit ADC (2) with 10 channels
RTC
Timers (4)
I2C (2)
USART (3)
SPI (2)
USB 2.0 full-speed
CA

İşlemcinin dökümanları oldukça uzun ve karmaşık gibi görünebilir. Ama başta da söylediğim gibi en basitten başlayıp adım adım gitmekte fayda var.

Bu kartı piyasa değeri Türkiye de 30 TL civarı bulabilirsiniz. Aliexpressden de Çinden 10 TL – 20 TL arasında getirtebilirsiniz. 20 gün gibi bir süreye Çinden gelmektedir. Bu süreyi beklemek istemeyenler için ülkemizde bir çok elektronik devre satan alışveriş web sitelerinde bulunmaktadır.

Fiyat olarak uygun olan STM32f103 geliştirme kartı benimde kullandığım bir geliştirme kartıdır. Arm dünyasına bu kart ile giriş yaptım şimdi web sitemde diğer yazılarımızda STM32f103 ile programlamaya başlıyacağız. Lütfen yorumlarınızı eksik etmeyiniz.

 

Read More
MeK 28 Kasım 2017 0 Comments
119
  • 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.