Yazan: Barış Samancı
Kategoriler:ASP.net, Silverlight

Forumlarda gezinirken bazı kişilerin silverlight uygulamaları için webservis yazdıklarını, localde çalıştırdıklarını fakat sunucuya attıkları zaman çalıştıramadıklarını okudum. Bu yazımda bu sorunun üstesinden nasıl gelineceğini ve en basit haliyle silverligt uygulamaları için webservis yazıp nasıl kullanabileceğimizi göstereceğim.

Silverlight uygulamalarına istekte bulunulduğunda uygulama sunucudan istemcinin bilgisayarına indirilir ve istemcinin bilgisayarındaki sl runtime vasıtasıyla browser üzerinde çalışmaya başlar. Haliyle silverlight uygulamamız sunucudan habersiz olarak istemcinin bilgisayarında çalışır. Sunucudaki bir bilgiye erişmek istediğimizde veya sunucuya mesaj, veri göndermek istediğimizde webservislerini kullanırız. Örneğin sunucudaki veritabanını kullanmak istediğinizde veya benim gibi sıkça sunucudaki dosya ve dizinleri dinamik olarak almak istediğinizde webservislerini kullanabilirsiniz.Bu yazımda benim sıklıkla fotoğraf galerisi, mp3 player tarzı uygulamalarımda kullandığım bir yöntemi göstereceğim.

Yazan: Barış Samancı
Kategoriler:Yazılım

Zaman zaman arama yaparken bilgisayarımın derinliklerinde daha önceden yaptığım çalışmalara denk gelip şaşırıyorum. Geçen gün ise bir döküman ararken öğrencilik yıllarımda üzerinde çalıştığım, üniversite bittikten sonraysa heralde unuttuğum iki adet çalışmaya denk geldim. Uygulamaları görünce bunları benmi yapmışım diye ağzım açık kaldı :D inanılmaz bir duygu. Bu yazımda bu uygulamalardan ilki olan görüntü işleme teknikleri ile plaka tanıma sisteminin tanıtımını bulacaksınız.

Günümüzde çok popüler bir halde olan görüntü işlemenin gelecekte epey ilerleyerek gelişeceğini, günlük hayatın içine kadar gireceğini düşünüyorum. Bana göre bilim kurgu filmleri gerçek hale gelecek :). Görüntü işleme çeşitli sensörler ile (CMOS , CCD , vb ) görüntünün yakalanıp sayısal hale getirilmesi, ardından sayısal hale getirilen görüntünün çeşitli algoritmalar, yöntem ve teknikler ile anlamlandırılıp sayısal sistemler üzerinde (bilgisayar, cep telefonu, mikrodenetleyiciler)  kullanılabilir hale getirilmesidir. Görüntü işleme ile yapılabilecekler tamamen sistemin niteliklerine ( kızılötesi, termal, rgb, vb) ve sistemi kuranların amacına bağlıdır. Aşağıda derlediğim şekilde görüntü işlemenin kullanım alanlarından bazılarını görebilirsiniz.

27

EYL

2010

Yazan: Barış Samancı
Kategoriler:ARM

Şuan geliştirdiğim bir gömülü sistem uygulamasında beyin olarak kullanmak üzere aldığım LPCXpresso kitine giriş niteliğinde bir göz atıp hem kiti hem Cortex-M3 işlemci çekirdeğini hemde LPC1768 işlemcisini yüzeysel olarak inceleyelim. LPCXpresso kitleri şuan için LPC1100, LPC1300 ve LPC1700 ailelerinden işlemcileri desteklemektedir. Benim kullanmış olduğum kitin işlemcisi LPC1768 dir. Kitin genel yapısı aşağıdaki şekil ve fotoğraflarda gözükmektedir.

lpcxpresso

Yazan: Barış Samancı
Kategoriler:Donanım, PIC

PIC 18F4685 ATX ARX 34

Bu yazımda şuan üzerinde çalıştığım bir projede geçici olarak kullanmak üzere aldığım 433Mhz bandında haberleşen ATX,ARX kablosuz alıcı ve verici modülleri test edeceğiz. Bu modülleri duymayan yoktur heralde.Kullandığım modülleri Udea’dan aldım.Datasheetlerine Udea’nın sitesinden ulaşabilirsiniz.

Modüller 433.92Mhz lik bir frekansta çalışmaktadır ve ASK modülasyon kullanmaktadır.Konuya biraz daha hakim olmak bakımından basit olarak ASK ve FSK modülasyonlara bir göz atalım. ASK modülasyonda sinyalin frekansı sabittir, genliği değiştirilir. Gönderilecek olan lojik mesajın seviyesine göre birden fazla genlik kullanılabilir.Uygulamamızda veriyi binary olarak gönderdiğimizden modülasyonda tek genlik kullanılmaktadır. Lojik 1 için A genliğinde bir sinyal gönderilirken lojik 0 için gönderilen sinyalin genliği 0 dır. FSK modülasyonda ise sinyalin genliği sabit olup frekansı değişmektedir.Lojik 1 için sinyalin frekansı artarken lojik 0 için frekans düşer.Aşağıdaki şekillerde ASK ve FSK modülasyon gösterilmiştir.

Yazan: Barış Samancı
Kategoriler:Silverlight

silverlight clock saat

Bu yazımda sitemdeki silverlight saati nasıl yaptığımı anlatacağım.Bir kaç sene önce İzmire giderken trende can sıkıntısına yapmıştım :) geçtiğimiz günlerde neden bunu siteme eklemiyorum deyip sağ alana yapıştırdım :)

Kodlaması inanılmaz basit ve şık bir görüntü sunduğunu düşünüyorum. Aslında dört adet grafikten başka birşey değil. En altta zemin, üzerinde saat,dakika ve saniye çubukları var. Bilgisayardan zamanı alıp bir timer ile bu çubukların açısını değiştiriyoruz :) Saatin görüntüsü yandaki şekildeki gibidir. Eğer makinanızda microsoft silverlight runtime ı yoksa yandaki şekil yerine install microsoft silverlight yazan bir şekil göreceksiniz. Buna tıklayarak microsoftun sunucularından 4-5mb civarı olan silverlight runtime ı indirip kurabilirsiniz. (Bunu macromedia nın flash playerı olarak düşünün) Bu sayede silverlight uygulamalarını sorunsuzca görüntüleyebilirsiniz. Şimdi saati nasıl yaptığıma geçelim.

Yazan: Barış Samancı
Kategoriler:Donanım

Bu yazımda platform bağımsız olarak mikroişlemcili sayısal sistemlerde istenilen görevlerin delay fonksiyonları ile geciktirilerek çalıştırılması yerine görevlerin zamanlanmasını, co-operative ve multitasking yapılı sistemlerin çalışma mantığını basit olarak inceleyeceğiz.

Kompleks uygulamalarda mikroişlemcinin çalıştırması gereken birden fazla görev olmaktadır.Bunlara örnek olarak haberleşme görevleri,ölçüm görevleri, hesaplama görevleri gibi görevleri verebiliriz.Sağlıklı bir sistemde bu görevlerin hepsi uyum içerisinde çalışmalıdır.Mikroişlemci bu görevlerden aynı anda sadece birtanesini çalıştırabilmektedir. Bir görev çalışırken diğerleri beklemekte ve bekleyerek boşa geçirdikleri zaman ölü zaman olarak değerlendirilmektedir.Dolayısıyla kapsamlı uygulamalarda bir işlem yapılırken o işlemin mümkün olduğunda çabuk bitirilip akışın diğer görevlere verilmesi istenir.Delay ve bekleme mantığından mümkün olduğunca uzak durulması istenir.Bu çalışma biçimine co-operative çalışma denilmektedir.

Kullandığımız bilgisayarlarda buna benzer şekilde çalışmaktadır. Aslında bir anda sadece bir görev çalışmaktadır fakat siz aynı anda müzik dinleyip, dosya indirip, yazı yazabilir okuyabilirsiniz.Tüm bu işlemler 10ms gibi zaman periyotları ile sıra sıra çalıştırıldığından bize aynı anda çalışıyorlarmış gibi gelirler (tabi birde görevlerin önem sırasıda vardır).Bu çalışma biçmine multitasking denilmektedir (çok çekirdekli işlemcilerde aynı anda çekirdek sayısı kadar görev çalışmaktadır). Aşağıdaki şekilde delay mantığı kullanan ve zamanlanmış co-operative çalışan sistemlerin karşılaştırılması üzerine bir örnek gösterilmiştir. 

Yazan: Barış Samancı
Kategoriler:Donanım

Bu yazımda CAN protokolünün yapısını ve çalışma mantığını donanımdan bağımsız olarak sizlere anlatmayı planlıyorum.Burdaki bilgiler ARM, AVR, PIC vb gibi işlemcilerin hepsi için geçerlidir.Burada yazdıklarım zamanında LPC2000 programlama klavuzu adlı e-kitabımı hazırlarken internetten araştırıp edindiğim bilgilerin derlemesidir.Bu kadar kapsamlısını başka yerde bulamassınız :) Bu yazımda donanıma girmeden sadece CAN sisteminin işleyisini ve mantığını anlatacağım.Eğer kelimeler öğretir örnekler yol gösterir diyenlerdenseniz, donanım ve kod incelemek istiyorsanız LPC2000 Programlama Klavuzu adlı e-kitabımdaki CAN başlığına bakabilirsiniz, burdaki bilgiler de kitabımdan alıntıdır.

Controller Area Network (CAN) protokolü 1983 yılında omototiv sektöründe kullanılmak üzere Robert Bosch tarafından geliştirilmeye başlanmıştır ve resmi olarak 1986 yılında kullanılmaya başlanmıştır. Araçlarda bulunan kablo ağının azaltılması amaçlanmıştır.Bu protokol sayesinde motor, frenler, klima, çeşitli sensörler gibi birimler arasında 10 larca kablo yerine sadece 2 kablo kullanılmaktadır.CAN protokolü başta otomotiv alanında kullanılsada veri iletim hızı,hata oranının düşüklüğü ve uygulama kolaylığı gibi sebeplerden dolayı mikroişlemcili sistemlerde de çoğu kişi tarafından bireysel uygulamalarda kullanılmaktadır.İletişim hızı 40m de 1Mbit/sn iken 1km uzaklıklarda 40Kbit/sn ye düşmektedir.Yapılan olasılık hesaplarına göre sağlıklı çalışan bir CAN sisteminin tespit edilemeyen hata yapma olasılığı bir asırda bir dir.

CAN diğer protokollerden farklı olarak adress temelli değil mesaj temelli çalışmaktadır.Her mesaja özgü bir ID numarası vardır.Mesajlar çerçeveler ile iletilirler ve veri ve istek mesajları olarak ikiye ayrılırlar.İstek mesajlarında veri bulunmaz. Veri mesajlarında ise en fazla 8 bytle lık veri aktarılır.CAN2.0A ve CAN2.0B olmak üzere 2 tane standartı vardır.Bunlar arasındaki fark mesaj uzunluklarının farklı olmasıdır.Bunlar ilerleyen kısımlarda anlatılacaktır.

Yazan: Barış Samancı
Kategoriler:PIC

Bu yazımda ICD2 klonunu inceleyeceğiz. ICD2 microchip firmasının kendi üretmiş olduğu mikrodenetleyicileri programlamaki debug etmek için geliştirdiği bir cihazdır. edaboard forumundaki bazı kullanıcılar icd2 üzerindeki CY7C64613 entegresini PIC18F2550 ile değiştirmek istemişler ve zamanla 18F4550 kullanan çeşitli kopyalar üretmişlerdir. Ben bunlardan potyo2 versiyonunu kullanmaktayım.MPLAB IDE sine mükemmel entegre olmakta, programlama ve debug yapabilmektedir. Programlama hızı iyi olmasına karşılık biraz yavaş debug yapıyor.Uzun bir süredir kullanmaktayım ve şimdiye kadar bir sorunla kaşılaşmadım. Yaptığım devrenin fotografınını aşağıda görebilirsiniz.


Tasarım ve Programlama Barış SAMANCI
Her hakkı saklıdır.
barissamanci.net  ©  2010-2024