Bilgi ve Uygulama

İsmail Sahillioğlu

ismailsahillioglu@gmail.com

Kısaca bilgilerim:
  • 1987 doğumluyum.
  • Mersinde yaşıyorum.
  • Mesleğim Endüstriyel Otomasyon - Elektronik Teknikerliği
Kısaca eğitim hayatım:
  • Endüstri meslek lisesi - Elektronik Bölümü (2004). (Liseden sonra eğitimime 2 yıl ara verdim.)
  • Mustafa Kemal Üniversitesi Hatay Dörtyol Meslek Yüksek Okulu - Endüstriyel Otomasyon Bölümü (2009)

Hakkımda:

Mezuniyetin ardından yaklaşık 5 yıllık bir çalışma hayatından ve Mesleğimin sektördeki yaygınlığını ve önemini iyice kavradıktan sonra; elektronik, programlama ve otomasyonda kendimi yeniden geliştirmeye başladım. Maalesef üniversitede aldığım eğitim ezbere dayalıydı, uygulamalı değildi ve imkanlar kısıtlıydı. Uygulama ve pratik eksikliğinden dolayı fazla bir şey öğrenemedim. Şimdi ise sahip olduğum bir takım imkanlardan yararlanarak ve eskiden kalan bilgileri pekiştirerek ve daha çok uygulama ve pratik yaparak kendimi geliştiriyorum.

Bu aşamada sahip olduğum İngilizce bilgisi sayesinde İngilizce kaynaklardan çok yararlanıyorum. Ama gördüğüm kadarıyla, çoğu öğrenci ya da meslektaşımız dil eksikliğinden dolayı bu bilgileri elde etmekte zorlanıyor. Ben de bu sorunu gidermeye yardımcı olmak için İngilizce kaynaklardan edindiğim bilgileri, bazı püf noktaları ve deneyimleri, burada bilgi arayan ve arayacak olan öğrenci ve meslektaşlarımıza yardımcı ya da ek kaynak olması açısından, internetin bilgi dağıtma gücünü kullanarak paylaşıyorum.

Özellikle Assembly ile PIC programlama, yazmaçları ve komutları etkin bir biçimde kullanma, PIC18 serisinin Assembly ile programlanması ve PIC12 ve PIC16 serisi ile PIC18 serisi arasındaki birçok mimari, yazılımsal ve donanımsal farklılıklar ve yeniliker konularında bilgiler paylaşacağım.

Burada paylaşacağım bilgi ve deneyimlerin, öğrencilerimize ve meslektaşlarımıza yararlı olacağını umut ediyorum. Herkese başarılı bir iş ve öğrenim hayatı dilerim.

Saygılarımla,
İsmail Sahillioğlu

E-posta: ismailsahillioglu@gmail.com


23.01.2021
Bir değerin bellekte temsil edilecek türünü değiştirmeye tür değiştirme denir. Temsil edilecek dememden kasıt şudur ki; mikrodenetleyicilerde veriler yalnızca ikilik (binary) olarak işlenebildiğinden, yazılım kodlarken kullanılan sabit ya da değişken değerlerin ikilik formatta nasıl organize edileceğinin belirlenmesi gerekir. Bilindiği üzere 8-bitlik bir mikrodenetleyici tek bir yazmacında en fazla 28 (256) sayısına denk gelecek kadar ikilik veri tutabilir. Bu değeri aşan değerlerin birden çok yazmaçlara dağıtılıp organize edilmesi gerekir.
06.12.2020
İşleçler, kod yazarken aritmetik, mantıksal, karşılaştırma ve dile özel bazı işlevleri gerçekleştirmeye yararlar. JAL 2. versiyonu itibariyle aşağıdaki işleçleri desteklemektedir.
31.08.2020

Rumuzlar (takma adlar) birden çok tanımlayıcının (değişkenler, adlandırılmış sabitler, alt programlar) aynı nesneye başvuru yapabilmesine izin verirler. Bir rumuz aşağıdaki biçimde tanımlanır:

ALIAS rumuz_tanimlayici IS gercek_tanimlayici

Çoğu zaman bir değişken ya da sabite birden çok ad ile başvuru yapılabilmesi yararlıdır. Kod yazarken bazı başvurular için rumuzların kullanılması kodlamayı yapan kişi açısından daha akılda kalıcı olur. Buna rastlayabileceğimiz en sık örneklerden biri; giriş - çıkış uçlarının pin_a1, pin_c3 gibi tanımlayıcılar yerine...

18.08.2020
Bluetooth Açma, Kapatma, Durum Bilgisi Alma

Bluetooth programlamanın giriş yazısında kısa bir önbilgi vermiştik. Birinci bölüm olan bu bölümde bluetooth uygulama projemizi oluşturup ilk işlemleri gerçekleyeceğiz.


İlk işlemlerimiz:

1- Bluetooth donanımını etkinleştirme
2- Bluetooth donanımını etkisizleştirme
3- Bluetooth donanımının durumunu BroadcastReceiver kullanarak alma olacaktır.
17.08.2020
Herkese merhaba, sayısını bilmediğim Java ile Android Bluetooth Programlama eğitim serisine başladım. Eğitim sayısının ucunu açık bıraktım ki; Android aygıtlarda bluetooth ile eğlenebildiğimiz kadar eğlenip konunun derinliklerine inelim. Bu seri basit bluetooth kontrol işlemlerinden başlayıp orta seviye bir bluetooth uygulamasına kadar gidebilir. 
21.03.2020
Merhabalar! İnternette karşılaştığım bir soru üzerine gerçeklediğim bir devreyi paylaşmak istiyorum. Soru şöyleydi:
"Butona 1 sefer bastığımda ne kadar basılı olursa olsun ilk bastığım andan itibaren 1 saniye çıkış verecek. Ne zaman elimi çekersem tekrar 1 saniye çıkış verecek bir devre (mikrodenetleyici istenmiyor)..
19.10.2019

1. Adlandırılmamış Sabitler

Adlandırılmamış bir nümerik sabit, 32-bit işaretli değer olan bir UNIVERSAL türdedir. Bu sabit değerler genelde önişlemlerde (preprocessing) veya değişkenlere atamalarda kullanılan değerlerdir. Bir işlemde UNIVERSAL türü bir sabit değer kullanıldığında, bu tür, diğer operandın türüne çevrilir. Örneğin WORD türünde bir değişken ya da sabit operanda 12739 UNIVERSAL türdeki değer atanırsa, bu UNIVERSAL tür normalde işaretli 32 bit olmasına rağmen WORD türüne çevrilir...

15.09.2019
Basitçe bir değişken, değer tutan bir tanımlayıcıdır. Bu tanımlayıcılar, değeri tutmak için ne kadar boşluk gerektiğini belirleyen ilgili türlere sahiptir. Bu veri türleri hakkında bu yazıda söz etmiştik. Bir değişken tanımlayıcı için belirtilen veri türü bu değişken için bellekte ne kadar yer ayrılacağını belirler. JAL'ın kendi kılavuzunda tam değişken tanımlama formatı aşağıdaki gibidir:...
27.07.2019
Kayıtlar (Records); diziler, değişkenler, ve kayıtlar da dahil olmak üzere diğer yerleşik türleri de içinde barındırabilen ve bu farklı veri alanlarını bir paket haline getiren özel türlerdir. JAL dilinin bu özel türü C dilinde yine özel bir tür olan 'struct' ile benzerlik gösterir.
...
Bir kayıt oluşturulduktan sonra, basit bir türün kullanıldığı herhangi bir yerde kullanılabilir. Kaydın dahili alanlarına '.' işleci kullanarak erişilir.
20.07.2019
JAL tek boyutlu değişken dizileri oluşturabilir ve bunları organize edebilir. Bit türü dizi oluşturmak için kullanılamaz, donanım yapısına uygun değildir. Bit dışındaki türlerin herhangi biriyle değişken dizileri oluşturulabilir. Dizi tanımlama biçimi aşağıdaki gibidir:
VAR "değişken türü" "değişken adı" ["dizi niceliği"] = {"dizi öğeleri"} ...
20.07.2019
JAL v2 derleyicisi yalnızca aşağıdaki türleri tanır...
...
En büyük türler,  WORD SWORD,  DWORD,  SDWORD genişlik belirticisini kullanarak basitçe temel türlerden türetilmiştir. Örneğin WORD BYTE*2’ye eşittir, sonuncusu yani BYTE*2, biçimlendirici ile diğerinin alternatifi olarak kullanılabilir...
10.04.2019
Değişkenler  programlama dillerinin vazgeçilmez öğelerindendir. Değişkenler program yazarken, bellek konumlarının adres sayılarını kullanmak yerine benzersiz bir adla ilişkilendirip bu konumlar üzerinde veri organizasyonu yapmamızı sağlar. Biz insanlar için adlarla çalışmak sayılarla çalışmaktan daha kolaydır.
26.03.2019
JAL "Just Another Language" sözcüklerinin kısaltılmışıdır. Türkçeye, "Yalnızca Başka Bir Dil" olarak çevrilebilir. Microchip firmasının 8-bit PIC mikordenetleyicileri için geliştirilen açık kaynaklı, yüksek-düzeyli ve ücretsiz bir programlama dilidir.
18.04.2017
PIC denetleyicilerde; her biri 8-bit genişliğinde olan, Special Function Registers/Özel İşlev Yazmaçları ve General Purpose Registers/Genel Amaçlı Yazmaçların bulunduğu veri bellekleri haritalandırılmış bir yapıya sahiptir. Bu bellek haritası modelden modele değiştiğinden dolayı burada yalnızca PIC16F628A modelinin veri belleği yapısından ve bu bellekte verinin nasıl işlenebileceği ve yönetilebileceğinden söz edeceğim.
16.03.2017
Bu program başlangıç düzeyinde olanların Assembler'da tuşların nasıl taranıp, girilen değerin nasıl 7-Parçalı bir LED göstergede gösterilebileceğini kavrayabilmesi için yapılmştır.
24.02.2017
Kontrol devresi şekilde de görüldüğü gibi bir sıfırlama(RESET) girişi, 2 motorun denetimini yapan 1-başlat, 1-durdur buton girişi, Aşırı Akım Rölesinden gelen 2 sinyal bilgisi girişi, 2 hata düzeltildi onay butonu girişi, 2 adet Motor1 ve Motor2 çıkışı, 2 hata göstergesi çıkışı ve sayaç devresini süren 3 uçtan oluşmaktadır. 6-harici giriş, 4-harici çıkış ve 3-dahili çıkış olmak üzere toplam 13 adet giriş-çıkış ucu kullanılmıştır.
20.02.2017
PIC18 serisinde Assembly ile programlama yaparken özellikle BANK blokları ve yazılımda nasıl yönetilmesi gerektiği konusunda afallayacaklardır. Ancak düşünülenin aksine PIC18 serisinde bank yönetimine gerek yoktur, eğer RAM de çok büyük miktarlarda veri saklanması gerekmiyorsa BANK sistemini kullanmaya hiç gerek yoktur.
Konular