CircuitMaker ve FlatCAM ile G-Kodu Çıkartma

4.797 Kişi Okudu

FlatCam programı ücretsiz ve açık kaynak olarak kullanıcılara ulaşan bir CAM (Computer Aided Manufacturing, Bilgisayar Destekli İmalat ) programıdır. FlatCAM yardımı ile elinizde bulunan .GBL uzantılı PCB çizimlerini CNC ler için gerekli olan g koduna dönüştürebilirsiniz. Bu program basit ve temel birkaç kullanım adımından oluşmaktadır. Bu program Python programlama dili ile yazılmıştır isteyenler aşağıda verdiğim bitbucket linki ile programın geliştirme aşamalarını ve yazılımın tamamını inceleyebilir.

Eğitimde Anlatılan Versiyonları;
Yazılımın Yeni Versiyonları İçin;
 

Hazırlamış olduğumuz g kodlarını ise kısa bir google taraması ile bulduğum ve javaScript marifete ile açık kaynak olarak hazırlanmış bir simülasyon yazılımı ile gerçekleştirdim. Eğer hazırlanan g kodlarının simülasyonu yapılmaz ve göz ile olası hatalar kontrol edilmez ise CNC nize ve iş parçanıza geri dönülemez ve telafi edilemez sorunlar çıkartabilir. Burada göz yordamı ile CNC nin olağan dışı eksen noktalarına gidip gitmediğine bakıyoruz.

G-kodu Simülasyon Ortamı: https://nraynaud.github.io/webgcode/

Hazırlamış olduğum bu video içerisinde size bu üç harika yazılımı kullanarak nasıl CNC niz için g kodu elde edip test edebileceğinizi gösterdim. İzlediğiniz ve vakit ayırdığınız için teşekkür ederiz.  

Girdev Yaylası Ve Girdev Gölü Kamplı Doğa Yürüyüşü

25.957 Kişi Okudu

Girdev yaylası doğal güzelliklerinin yanında Likya tarihininde önemli bir parçası olmuşutur.Aynı zamanda Girdev yaylası birçok endemik türü bünyesinde barındırmaktadır. İncelediğimiz akademik çalışmalar ve literatür taramasında Girdev yaylasında hâla keşif edilmeyi bekleyen tarihi bir çok kalıntı bulunmaktadır. Girdev gölü ve yaylası ilk olarak Alman bilim adamları 1811 yılından Spratt and Forbes tarafından konu alınmıştır. Ancak gölü ve etrafında bulunan antik yapılar Edinburgh Üniversitesinden Biyolog Mr. P. H. Davis tarafından fotoğraflanarak arkeolog Bean, G. E.’ye 1948 yılı gönderilmiştir (1). Bölgeye Seki tarafından giriş yapıldığı zaman, yerli halkın tabiri ile pazar yeri harabeliği olduğu yer düşünülen antik kalıntılar bulunmaktadır. Fakat bu kalıntıların antik Onianda kentinin sakinlerine ait yerleşim yeri ve mezarlık olduğu belirtilmektedir.

Girdev yaylasından yakın bir tarihe kadar Aslanlı heykel olarak tabir edilen bir mezar kalıntısı bulunmaktaydı, mezar kalıntıları Fethiye müzesine taşınmıştır. Bu mezarlardan en meşhuru, ismi Patara metinlerinde geçen Likyalı komutan olduğu düşünülen Titus Aelius Bassos tarafından sevgili eşi Elpis ( Umut demek ) ve çocuğu Troilos için yaptırılmıştır. Buradan anlaşılıyor ki eşi hamile veya çoğu ile birlikte vefat etmiş olabilir.

(2) Girdev yaylası tarihte bir çok farlı isimde karşımıza çıkmaktadır, bunlar;

Elbessos ( Έλβησσός ), Girdev Golu, Girdev Gölü. Kirduve Golu, Kirdüve Gölü Girder Gölü ( c. 1946-56, The Bean Archiv, © The Museum of Classical Archaeology)

Girdev yaylası temel gelir kaynağı olarak küçük baş havancılık, balıkçılık ve tarım ile devam ettirmektedir. Yaylamızda 2 adet cami bulunmaktadır. Bunlardan göle yakın olan ve yanında mezarlık bulunan camide Kamil CİVAN uzun yıllar boyunca ücretsiz olarak din adamı vazifesi ile hizmetlerde bulunmuştur. Şuanda yayla olarak tabir edilen yazın sıcağından uzaklaşmak ve yaz aylarını serin yerlerde geçirmek isteyenlerin uğrak yeri olmaktadır.

www.girdevyaylasi.com İnternet adresi ve isim hakkı tarafıma ait olup, ticari olarak tekliflere açık olduğumu belirtirim.

2016 Yılında 3 Gündüz 2 Gece Süren Kamplı Doğa Yürüyüşü Faaliyetimiz, Atalarımızın Anısına.

Faaliyetin ilk günü

Temel köyüne kadar bir araç ile geldik, buradan yürüyüşümüze başladık, harika bir manzara ile yürüyüşümüze devam ederken evlerin bir bir yok oluşunu gördük. Yol boyunca girdev gölünün harika manzarasını görebilme udumu ile hızlı hızlı adımlar ile ilerledik.

Okumaya devam et Girdev Yaylası Ve Girdev Gölü Kamplı Doğa Yürüyüşü

Doxygen Kullanımı 101

5.266 Kişi Okudu
Doxygen Kullanımı

Yazılım Projelerinde Dokümantasyonun Önemi ve DOXYGEN ile Kod Dökümantasyonu

Yazılım projelerinde dokümantasyon, genellikle göz ardı edilse de başarılı bir proje için kritik bir bileşendir. Yazılım geliştiriciler, zamanla kendi yazdıkları koda bile yabancılaşabilirler. Ayrıca, ekibe sonradan katılan üyelerin projeye hızlı ve doğru bir şekilde adapte olabilmeleri büyük önem taşır.

Dokümantasyonun Çözüm Olduğu Temel Sorunlar

  1. Kod Yabancılaşması: Zaman ilerledikçe, geliştiriciler kendi kodlarının detaylarını unutabilir. Bu durum, kodun bakımını ve geliştirilmesini zorlaştırır.
  2. Yeni Ekip Üyelerinin Adaptasyonu: Projeye yeni katılan geliştiricilerin mevcut kod tabanını anlamaları zaman alabilir. Kapsamlı bir dokümantasyon, bu süreci hızlandırır ve verimliliği artırır.

Her iki sorunun da basit ve etkili bir çözümü vardır: Kodda yorum satırları eklemek ve DOXYGEN gibi araçlar kullanarak bu yorumları anlaşılması kolay dokümanlara dönüştürmek.

DOXYGEN Nedir ve Neden Kullanmalısınız?

Kod dokümantasyon aracı, kodunuzdaki yorumları alarak web sayfası veya çeşitli formatlarda profesyonel dokümanlar oluşturmanızı sağlayan bir araçtır. İşte Yazılım dokümantasyon aracı kullanmanız için bazı nedenler:

  • Kolay Anlaşılabilir Dokümanlar Oluşturma: Kodunuzdaki yorumları kullanarak, projenizin yapısını ve işlevlerini detaylı bir şekilde anlatan dokümanlar oluşturabilirsiniz.
  • Standartlara Uygunluk: Kod belgelendirme uygulaması, belirli yorum standartlarını teşvik ederek kod kalitesini artırır.
  • Çoklu Dil Desteği: Birçok programlama dilini destekler, böylece farklı projelerde kullanılabilir.
  • Ücretsiz ve Açık Kaynak: DOXYGEN, açık kaynaklı bir projedir ve ücretsiz olarak indirilebilir.

DOXYGEN ile Kod Dökümantasyonu Nasıl Yapılır?

1. DOXYGEN’i İndirin ve Kurun

Otomatik dokümantasyon aracını resmi web sitesinden veya GitHub üzerinden indirebilirsiniz. Kurulum işlemi oldukça basittir ve farklı platformları destekler.

2. Kodunuza Yorum Satırları Ekleyin

Kodunuzun içerisine bu aracın tanıdığı biçimde yorumlar ekleyin. Örnek:

/**
 * @brief Girilen sayıyı ekrana yazdırır.
 * @param sayi Yazdırılacak sayı.
 */
void yazdir(int sayi) {
    std::cout << sayi << std::endl;
}

3. DOXYGEN Ayarlarını Yapın

Bahsi geçen yazılım belgelendirme aracının arayüzünden veya komut satırından projenizin kaynak dosyalarını ve dokümanların oluşturulacağı dizini belirleyin. Ayarlarınızı proje ihtiyaçlarına göre özelleştirebilirsiniz. Örneğin, diyagramların oluşturulmasını isteyebilir, belirli dosyaların dahil edilmesini veya hariç tutulmasını ayarlayabilirsiniz.

4. Dokümantasyonu Oluşturun

Ayarları tamamladıktan sonra, DOXYGEN ile dokümantasyonu oluşturun. Bu işlem sonunda, kodunuzdaki yorumlara dayalı olarak oluşturulmuş profesyonel bir dokümana sahip olacaksınız. Dokümantasyonu HTML, PDF veya diğer formatlarda üretebilirsiniz.

DOXYGEN’in Avantajları

  • Verimlilik Artışı: İyi dokümante edilmiş kod, bakım ve geliştirme süreçlerini hızlandırır.
  • Ekip İçi İletişim: Dokümantasyon, ekip üyelerinin kodu daha iyi anlamasını sağlar.
  • Kalite ve Standartlar: Kodunuzu belirli standartlara göre yazmak, genel kod kalitesini yükseltir.
  • Sürdürülebilirlik: Projelerinizin uzun vadede sürdürülebilir olmasını sağlar ve teknik borcu azaltır.

İyi Dokümantasyonun SEO’ya Etkisi

Web tabanlı projelerde, dokümantasyonun SEO uyumlu olması da büyük önem taşır. İyi bir dokümantasyon, arama motorları tarafından daha kolay indekslenir ve projenizin daha geniş kitlelere ulaşmasını sağlar. DOXYGEN ile oluşturulan dokümanlar, SEO dostu URL yapıları ve meta etiketleri sayesinde arama motoru optimizasyonuna katkıda bulunur.

Dokümantasyon ve Yorum Satırlarının Önemi

Yorum satırları sadece dokümantasyon için değil, aynı zamanda kodun okunabilirliği ve anlaşılırlığı için de kritiktir. Temiz ve anlaşılır kod, hata ayıklama ve geliştirme süreçlerinde zaman kazandırır. Otomatik dokümantasyon aracı kullanarak yorum satırlarını standart hale getirmek, bu süreci daha da optimize eder.

Sıkça Sorulan Sorular (FAQ)

DOXYGEN Hangi Programlama Dillerini Destekler?

DOXYGEN, C++, C, Java, Python, PHP, ve daha birçok dili destekler. Bu sayede, farklı projelerde tek bir araç kullanarak dokümantasyon oluşturabilirsiniz.

Yazılım Dokümantasyon Aracı Kullanmak Zor mu?

Hayır, DOXYGEN kullanımı oldukça basittir. Basit bir yapılandırma ile hızlıca dokümantasyon oluşturabilirsiniz. Ayrıca, kapsamlı bir kullanım için detaylı ayarlar ve özelleştirmeler de mevcuttur.

Dokümantasyonu Otomatik Olarak Güncel Tutabilir miyim?

Evet, Otomatik dokümantasyon aracı sürekli entegrasyon (CI) süreçlerinize entegre ederek, her kod güncellemesinde dokümantasyonun otomatik olarak güncellenmesini sağlayabilirsiniz.

Sonuç ve Öneriler

Yazılım projelerinde dokümantasyon, projenin sürdürülebilirliği ve başarısı için vazgeçilmezdir. DOXYGEN kullanarak kod dökümantasyonu yapmak, hem mevcut ekibiniz hem de gelecekte projeye katılacak geliştiriciler için büyük kolaylık sağlar.

  • Alışkanlık Edinin: Kod yazarken düzenli olarak yorum satırları eklemeyi ve DOXYGEN standartlarına uymayı alışkanlık haline getirin.
  • Sürekli Güncelleyin: Dokümantasyonunuzu kodla birlikte güncel tutun.
  • Ekipçe Benimseyin: Tüm ekip üyelerinin dokümantasyonun önemini anlamasını ve bu kültürü benimsemesini sağlayın.
  • Eğitim ve Workshoplar Düzenleyin: Ekip içi eğitimlerle DOXYGEN ve dokümantasyon standartları hakkında bilgi paylaşın.

Unutmayın, iyi dokümante edilmiş bir proje, gelecekteki başarılarınızın anahtarıdır.

İyi çalışmalar ve başarılar dileriz!

Doxygen yazılım dokümantasyon aracının kullanımı analtan bir video hazırladım, iyi seyirler diliyorum;

7 m² İşleme Alanına Sahip CNC Yazılım ve Pano Entegrasyonu

1.266 Kişi Okudu

CNC makineleri ile tanışmam lise yıllarıma denk gelir. Tabi meslek lisesinde okuduğumuz için bu maharetli cihazlar hakkında ilgi ve bilgi sahibi olmamak elde değil. O zamanlar sadece videolarını izlesek ve büyük gayret ve çabalar ile yaptığımız robotlar için pleksiglas dan birkaç parça çıkartmış olsam da o dönemler bu makinelerin nasıl çalıştığını tam olarak kavraya bilmiş değildim. 

Günler günleri kovaladı içimde bitmek tükenmek bilmeyen bir CNC sevdası oluştu ( ileride bu sevda ilk maaşım ile PCB kazımak için küçük bir CNC satın almama neden olacaktı. 😅 ) elbet bir gün bunlardan bir tane yapmalıydım ve sahip olmalıydım .🤨

Üniversitede hemen işlere koyuldum ve elimdeki imkânlar ile eski CD-ROM motorları ve kızak sistemli ile ilk CNC’mi yaptım, ama öyle hazır yazılım ve donanım ile değil STM32f0 ile tamamen matematiksel boyutta o iki motorun aynı anda nasıl çalıştığını anlayarak bu işlemi yaptım.  

Üniversiteden mezun olduktan sonra iş başvurunda bulunduğum firmadan cevap beklerden bir tanıdığım CNC makinesi yapmak istediğini ve bu iş için bir miktar bütçe ayırdığını belirtti, CNC konusuna meraklı olduğumu biliyor tabi 😀

Bende bu tanıdığı kırmadan eşyalarımı sırt çantama yükleyip İzmir’den Eskişehir’e geldim. CNC devasaydı. Tamamlandığında aynı anda 3 adet kapı üzerine desen çizebilme yeteneğine sahip olacaktı.

Bu makineden kullanılacak yazılımın ve donanımın hazırlanmasından sorumluydum. Çok şükür anlımızın akıyla bu işi tamamladım. Ve makine ayağa kalktı.

Aşağıda bulunan videolar makinenin canlanma süreçleri anlatılmaya çalışılmaktadır.

Okumaya devam et 7 m² İşleme Alanına Sahip CNC Yazılım ve Pano Entegrasyonu

V-REP Robot Simülatörü kullanarak yapılan Bitirme Projesi

4.089 Kişi Okudu

Bitirme tezi olarak V-REP üzerinden yaptığım mobil robot yazılım test platformu, bu tezde simülasyon üzerindeki robot ile yazılım, algoritma ve Seriport iletişim ara yüzü geliştirilip testleri yapılmıştır. Aynı zamanda gerçek hayattaki robot simülasyona bağlanıp simülasyonda ki robotun tepkilerini vermesi sağlanmıştır. Böylece tekbir projede robotun hem yazılım çevrimli yazılım simülatörü hemde yazılım çevrimli donanım simülatörü yapılmış oldu.

Tez Linki; Ahmet Yasin CİVAN – Lisans Bitirme Tezi – ROBOTİK UYGULAMALRDA YAZILIM GELİŞTİRME AMAÇLI SİMULATÖR KULLANIMI

MPU6050 Gyroscope – Matlab Simulink – Arduino Pro Mini – Fuzzy Logic

2.886 Kişi Okudu

Bulanık mantık kontrol dersi için yaptığım örnek bir BULANIK MANTIK VE UÇUŞ KONTROL PROBLEMİNE UYGULANMASI çalışması. Bu çalışma sayesinde MATLAB Simulink konularında kendimi geliştirdim, bulanık mantık ile kontrol konularında kendimi ciddi bir şekilde geliştirdim.

Kullanılan Materyaller;

MPU-6050

multicopter ve robotik projelerinde sıklıklı kullanılan üzerinde 3 eksenli bir gyro ve 3 eksenli bir açısal ivme ölçer bulunduran 6 eksenli bir IMU sensör kartıdır. Kart üzerinde voltaj regulatörü bulunduğundan 3 ile 5 V arası bir besleme voltajı ile çalıştırılabilir. İvme ölçer ve gyro çıkışlarının her ikisi de ayrı kanallardan I²C çıkışı vermektedir. Her eksende 16 bitlik bir çözünürlükle çıkış verebilmektedir. Pinler arası boşluk standart olarak ayarlandığı için breadboard veya farklı devre kartlarında rahatlıkla kullanılabilir.

Özellikleri
– Çalışma gerilimi: 3-5V
– Gyro ölçüm aralığı: + 250 500 1000 2000 ° / s
– Açısal ivme ölçer ölçüm aralığı: ± 2 ± 4 ± 8 ± 16 g
– İletişim: Standart I²C

MPU – 6050

Arduino Pro Mini

Atmega328 temelli bir mikrodenetleyici kartıdır. Üzerinde 14 adet dijital giriş/çıkış pini (6 tanesi PWM çıkışı olarak kullanılabilir), 8 analog giriş, 16Mhz kristal ve reset tuşu bulundurmaktadır. Breadboard üzerinde kullanmak için ve boyutun önemli olduğu yerlerde kullanılmak üzere yapılmıştır. Pro Mini üzerinde usb soketi ve programlayıcı bulunmamaktadır. Kartı programlamak için USB-Serial Dönüştürücü veya başka usb-seri dönüştürücüler kullanılabilir.

Okumaya devam et MPU6050 Gyroscope – Matlab Simulink – Arduino Pro Mini – Fuzzy Logic

STM32f0 UART Gelen Veri Okuma MİkroC

1.339 Kişi Okudu

STM32f0 içerisinde seri port üzerinden gelen veriyi okunan değişkeni içerisinde tutar

int okunan;
 void main() {

    UART2_Init(9600); // 9600 hız protokolünde seri port iletişimi sağlanacağını gösteriyor
    Delay_ms(10);    // Ayarlar yapılırken 100ms bekleme
    UART_Set_Active(&UART2_Read, &UART2_Write, &UART2_Data_Ready, &UART2_Tx_Idle); // SeriPort iletişimi aktive ediyor. Okuma,yazma gibi özellikleri açar.

   do
   {

   if (UART2_data_ready())
   { // Eğer seri portdan okunan veri varsa.
   
     okunan = Uart2_read(); 

  }

}while(1);


}

Komut Satırında WinRAR kullanmak

2.243 Kişi Okudu

Bulunduğun Dizin içerisindeki bütün JPG uzantılı resimleri yedekler Yedekledikten sonrada siler.

Öncelikle Komut satırından yedekleme yapmak istediğimiz dosyanın içerisine geliyoruz
orarda bulunan yedeklemek istediğmiz .jpg uzantılı doyaları bulup klasörleriyle birlikte winrar dosyası oluşturup içerisinde tutyor.

rar a -r -df -dr -cl -m5 yedekleme_yaptigin_rar_ismi.rar *.jpg

rar a -r -df -dr -cl -x<İşelem Yapmak istemediğin Dosya Yolu> yedekleme_yaptigin_rar_ismi.rar *.jpg

a 		Dosyaları Arşıvle 
-r		Alt klasörleri içer
-df		Dosyaları Arşivledikten sonra sil
-dr		Silinen Dosyalrı Çöp kutusuna taşı
-cl		Taşınan her bir elemanın isimlerini küçük harfe dönüştür.


Sevdiğim başka komut satırı komutları

bulunduğun dizin içerisinde ki tüm .mp4 uzantılı dosyaları video_klipler klasörüne taşır.

move *.mp4 video_klipler\

Bulunduğun dizin üzerinde yani klasör oluşturur.

mkdir video_klipler\

Bulunduğun dizin üzerindeki tüm .jpg uzantılı dosyaları siler

rm *.jpg 

Kalman Filtresi MatLab Uygulama Kodları

3.026 Kişi Okudu

Kalman filtresini matlab üzerinde geliştirme daha hızlı bir şekilde anlayıp çözümlemek için yapılmış bir çalışmadır. Matlab üzerinde komutları değiştirip debug yapıp bu başarılı filtrenin nasıl çalıştığı anlamak için yapılmıştır. Kodlar tamamen C diline hızlı bir şekilde uyarlanabilir şekilde tasarlanmıştır.

Yukarıdaki şekilde mavi olan renk kalman filtresine girecek olan veriler, yeşil renkte bulunan grafik ise kalman filtresinden çıkan veriler.

Kalman katsayısı 1-0 arasında değiştirilerek filtrenin özelliği ayarlanabilir.

Yararlandığım kaynaklar;

1-)  İbrahim Çayır OĞLU – Kalman Filtresi ve Programlama 2012

2-)  Why You Should Use The Kalman Filter Tutorial – Pokemon Example

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Hazırlayan: Ahmet Yasin CİVAN
% Tarih     : 03.03.2017
% Yer       : Afyon Karahisar / Uydukent
%       www.ahmetyasincivan.com
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear
clc

hata_kovaryansi = 1;
kalman_katsayisi = 0.1;
onceki_kalman = 0;

olculen_veri =  [0.39 0.50 0.48 0.29 0.25 0.32 0.34 0.48 0.41 0 0.10 0.20 1 1.5 1.7 0.39 0.50 0.48 0.29 0.25 0.32 0.34 ]
uzunluk = length(olculen_veri)

kalman_tahmin_sakla = [1:1:uzunluk]


a=0;
for y = [1:uzunluk]

a=a+1;    
kalman_kazanci = hata_kovaryansi/(hata_kovaryansi+ kalman_katsayisi);
kalman_tahmin  = onceki_kalman + (kalman_kazanci*(olculen_veri(a)-onceki_kalman));
hata_kovaryansi = (1-kalman_kazanci)*hata_kovaryansi;
onceki_kalman = kalman_tahmin;

kalman_tahmin_sakla(a) = kalman_tahmin;

end


plot ( 1:uzunluk ,olculen_veri ,1:uzunluk , kalman_tahmin_sakla )

Visual Studio Faydalı Kısa Yollar

915 Kişi Okudu

Severek kullandığım kısa yolları buraya eklemek istiyorum;

Birinci sırayı yazmış olduğumuz kodları otomatik olarak sıralayan kısa yola ayırdık;

CTRL +  K + D

2-) Yazılan Kodun referanslarını arayıp bulan kısayolumuz;

CTRL + F12

3-) Yazılan Kodları Derleyen Kısa Yol ;

CTRL + SHIFT + B

4-) Bütün Satırları Sakla

CTRL + M + A

5-) Seçili olan kodları yorum satırına al;

CTRL + K + C

6-) Seçili Kodları Yorum Satırından Çıkart;

CTRL + K + U