Gömülü Sistem MBED LPC1768 ile 7 Segment Display Kullanımı By Ekrem Keleş Posted on 25 Eylül 2017 8 min read 0 0 2,874 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Mbed Lpc1768 Mbed, temel olarak ARM Cortex M serisi mikrodenetleyiciler üzerinde hızlı protoipleme ve ürün geliştirme amaçlı geliştirilmiş bir platform. Başlangıçta NXP firmasının LPC1768 mikrodenetleyicisini içeren kartlar üzerine çalışacak şekilde ve kapalı kodlu yayınlanmış Mbed, bugün birçok farklı mikrodenetleyici modelini destekliyor ve açık kaynaklı bir proje haline gelmiş durumda. ARM firması tarafından desteklenen projede web üzerinden kullanılabilen bir geliştirme ortamı ve derleyici bulunuyor. Programı internet üzerinden yazıyor ve derliyorsunuz. Bu sistemlere bulut sistemler(cloud) deniliyor. Mbed’in eksi yönü olarak internet olmadığında program yazamıyoruz. Artı yönü olarak işletim sistemi ayırt etmeden program yazabilirsiniz ve yazdığınız programa internet olduğu sürece her yerden ulaşabilirsiniz. Derlediğiniz programın çıktısı .bin uzantılı, mbed in içine atılacak dosyayı direk indiriyorsunuz ve mbed’e yüklüyorsunuz. Mbed USB, SPI, I2C, CAN, Ethernet ve Uart bağlantı arayüzlerine sahiptir. Mbed Lpc1768 Lpc1768 Pin Bağlantıları CAN: Controller Area Network PWM: Pulse Width Modulation SPI: Serial Perhipheral Interface I2C: Inter Integrated Circuit USB: Universal Serial Bus 7 Segment Display Günlük hayatta bir çok alanda karşımıza çıkan ve 7 Segment Display diye adlandırılan sayısal göstergeler oldukça yaygın şekilde kullanılan elektronik devre elemanlarıdır. 7 Segment Display’ler LED tabanlı göstergelerdir. İçerisinde bulunan 7 adet LED ile aydınlatılan 7 ayrı bölmeden oluşan bir sistem bütünüdür. 7 Segment Display’lerde LED’lerin kullanılmasının en önemli nedeni LED’lerin çok küçük hacimlerde olan türlerinin olmasıdır. Bu küçük LED’ler belirli bir kalıp içerisine yerleştirilerek 7 Segment Display’ler oluşturulmaktadır. Elemanın yapısında bulunan 7 LED’in her biri bir segment olarak adlandırılır. Çünkü sayısal rakamların (onluk ve on altılık tabanlarda) kesim formları görüntülenmek üzere parçalar halinde aydınlatılmıştır. Ayrıca 7 Segment Display’in yapısında ek olarak 1 LED daha bulunmaktadır. Bu LED sayısal göstergelerde küsuratlı sayıların ondalık noktalarının gösterilmesi için kullanılır. Bu ilave LED simülasyonlarda veya elemanın veri sayfasında ondalık nokta anlamında gelen DP (Decimal Point) ile adlandırılır. Elemanın yapısındaki 7 LED’den her birinin pinleri konumsal kısımları ayrılmış şekilde bir dikdörtgen düzlemin arka alt zemininde bulunmaktadır. Konumsal olarak kısımlandırılmış 7 bölge “a” ile “g” harfleri arasındaki 7 harfle (a,b,c,d,e,f,g,) etiketlendirilir. Sistem işleyişi olarak ayrılmış 7 kısımda bulunan 7 LED’in bir uçları ortak uç diğer uçları ise ayrı ayrı bağlantıları bulunan kontrol uçlarıdır. Kontrol uçlarından yapılacak devre beslemeleri ile ayrılmış 7 bölmeden, elde edilmek istenilen sayısal değere göre, istenilen kısımlar aydınlatılır ve böylelikle diğer kısımlarda karanlık kalmış olur. Bu şekilde gösterge üzerinde görüntülenmesi istenilen değer elde edilebilir. Bu işleyiş 7 Segment Display üzerinde bize 0-9 arasındaki ondalık rakamların görüntülenmesini sağlar. 7 Segment Display’lerdeki ortak pin 7 bölmeli görüntüleyicinin tipini belirmede kullanılır. Bilindiği gibi LED’lerin bir diğer adı ışık yayan diyotlardır. Diyotlarda bilindiği üzere akımın tek yönde akmasına izin veren elemanlardır. Böylelikle LED’lerinde aydınlatılabilmeleri için besleme ve toprak bağlantılarının belirli bir yönde bağlanması gerekmektedir. 7 Segment Display’de LED’lerin bir uçları ortak uç olduğundan bu ucun toprak ya da besleme ucu olmasına göre 7 Segment Display’ler ortak anot ve ortak katot olmak üzere iki çeşide ayrılırlar. Ortak Katod ve Ortak Anod 7 Segment Display Devre Şeması Programımız [php] #include "mbed.h" BusOut display(p5,p6,p7,p8,p9,p10,p11,p12); DigitalIn buton(p13); int i; int main(){ while(1){ for(int i=0;i<10; i++) { if(buton==1){ display=0x3F; i=0;} else { switch(i){ case 0:display=0x3F; break; case 1:display=0x06; break; case 2:display=0x5B; break; case 3:display=0x4F; break; case 4:display=0x66; break; case 5:display=0x6D; break; case 6:display=0x7D; break; case 7:display=0x07; break; case 8:display=0x7F; break; case 9:display=0x6F; break; } wait(1); }}}} [/php] https://www.youtube.com/watch?v=g81Y2w1UyhA EKREM KELEŞ