Daha öncede benzer uygulamayı pic16f88 kullanarak yapmıştım. Devreyi buradan inceleyebilirsiniz. Devremiz piyasada bulunan 4 renkli karbon dirençlerin renk kodlarını kendiliğinden hesaplar. Devremiz yapı itibari ile oldukça sadedir. Malzeme olarak launchpad kit (msp430g2452), 3310 lcd, 4×3 tuş takımı ve birkaç basit elemandan oluşmaktadır.
Uygulamanın çalışması ise; tuş takımı üzerinde bulunan 12 tuştan her biri sırasıyla SiYAH, KAHVERENGi, KIRMIZI, TURUNCU, SARI, YEŞiL, MAVi, MOR, GRi, BEYAZ, ALTIN, GÜMÜŞ renkleri ile ifade edilir. Tuş takımı ile girilen renkler sırası ile ekranın 3,4,5 ve 6. satırlarında görüntülenir. Son rengin girilmesiyle direnç değeri otomatik olarak hesaplanır.
Hesaplanan direnç değeri ekranın 1. satırına yazdırılır. Direncin tolerans değeri ise 2. satırda görüntülenir. Devre ile renk kodlarının elverdiği ölçüde 0.1 ohm ile 99 giga ohm’a kadar olan dirençlerin değeri hesaplanabilir. Uygulamada yanlış satıra yanlış renk kodu girilmesine izin verilmez. 1.renk olarak siyah, altın, gümüş hariç her renk girilebilir. 2. renk olarak altın, gümüş hariç her renk girilebilir. 3. renk olarak her renk girilebilir. 4. renk olarak sadece tolerans renkleri olan altın veya gümüş girilebilir.
Devre şeması;
MSP430 Launchpad
MSP430 launchpad Texas instruments firmasının ürettiği msp430 denetleyicilere hızlı bir başlangıç yapmak amacıyla firma tarafından geliştirilmiş bir geliştirme kartıdır. Kit ile kısa sürede msp430 ile program geliştirmeye başlanabilir. Kartın genel özellikleri; Kart üzerinde programlayıcı ve debugger bulunmaktadır.
Denetleyici olarak üzerinde MSP430G2231 takılı gelmektedir. Ayrıca yedek olarak MSP430G2211 denetleyicisi gönderilmektedir. Kart üzerinde tüm denetleyici bacaklarını dışarı çıkarmak için sağlı sollu soketler bulunmaktadır. Ayrıca 2 adet (kırmız-yeşil) led diyot bir adet genel amaçlı ve bir adet reset butonu bulunmaktadır. Kit bilgisayara usb protu üzerinden bağlanmaktadır.
Ayrıca usb protu üzerinden sanal seri port gibi çalışarak bilgisayar ile kart arasında seriport haberleşmesine imkân vermektedir. Kart yapısı ile başlangıç seviyesinde bir karttır ve msp denetleyicilere başlangıç için idealdir. Uygulamamızda bu kart kullanılmıştır. Denetleyici olarak bacak sayısı yetersiz kaldığı için MSP430G2231 yerine MSP430G2452 denetleyicisi kullanılmıştır. MSP430G2452 denetleyicisinin genel özellikleri;
MSP430G2452
- 16bit RISC mimarili denetleyici 62.5ns(16mhz)komut işleme süresi
- Düşük güç tüketimi ile batarya destekli uygulamalarda kullanıma uygunluk
- 8 Kb flash program hafıza, 256 Byte RAM hafıza
- Kapasitif buton kullanımını destekleyen 16 I/O pini (Dahili Pull Up/Down dirençleri)
- A/D çevirici, Analog karşılaştırıcı, Zamanlayıcı, SPI, I2C çeşitli çevre birimleri.
NOKIA 3310 LCD Ekran
Ekranımız piyasada 3310 telefonlarında kullanılan 3310 LCD ekran diye bilinen PCD8544 sürücü entegreli 48X84 çözünürlüğe sahip siyah beyaz grafik ekranıdır. Ekran seri olarak SPI iletişimini kullanarak haberleşmektedir. Ayrıca ekranımız 3.3v ile çalıştığından launchpad kart ile direk olarak çalışabilmektedir. Herhangi bir seviye dönüştürücüye gerek yoktur. Ekranımızın denetleyici ile haberleşmesi için 4 I/O bacağı yeterlidir.
4×3 Tuş takımı
Tuş takımları çok buton kullanılan uygulamalarda bacak sayısından tasarruf sağlamak amacıyla kullanılan yapılardır. Butonlar matrissel olarak birbirine bağlanarak bacak sayısından tasarruf edilir. Örnek olarak uygulamamızda 4 satır 3 sütunluk (4×3) tuş takımı kullanılmıştır. Bu sayede 7 I/O bacağı kullanılarak 12 buton kullanımı sağlanmıştır. Bacak sayısının azalması denetleyici yazılımına ek yükler getirmektedir. Tuş takımının çalışması; Sütunlar denetleyici tarafından çıkış olarak sürülürler.
Satırlar ise giriş olarak denetleyici tarafından okunurlar. Her bir seferde tek sütun aktif yapılarak satırlar taranır. Bizim tuş takımımız sıfır aktif olarak çalışmaktadır ayrıca satırlar denetleyici dahi pullup dirençleri ile yüksek seviyede tutulmaktadır. Tarama işleminde her seferinde tek bir sütün lojik sıfır yapılarak satırların durumu okunur.
Örneğin P1.0=1,P1.1=P1.2=1 yapılarak 1. sütün aktif edildiğinde satırlar taranırsa örneğin siyah yazan butona basılırsa P1.4 çıkışı sıfır olacaktır. Aynı şekilde turuncu yazan butona basılırsa P1.5 çıkışı sıfır olacaktır. Bu sayede programda yazılan bir tarama fonksiyonu ile hangi tuşa basıldığı kolaylıkla tespit edilebilir.
Uygulamanın çalışması
Uygulamanın çalışması. Uygulama ilk çalıştığı anda 1-2 saniye uygulama logosu ekranda görüntülenir. Sonrasında ilk çalışmada renkleri tuşlayın diye bize ileti gösterilir. Sonrasında renk değerleri girilir.İlk rnk olarak diren okuma kurallarına göre siyah altın ve gümüş girilemez uygulamada da bu engellenmiştir.
İkinci renk olarak altın ve gümüş rengi girilemeyeceğinden yazılımda buda engellenmiştir. Üçüncü renk olarak her renk girilebilir. Dördüncü renk olarak çeşitli tolerans değerleri bulunmaktadır. Fakat piyasada en çok gümüş ve altın değerleri bulunduğundan devremizde bu renkleri desteklemektedir. Yani tolerans rengi olarak sadece altın veya gümüş girilebilir. Tüm renklerin belirtilmesinden sonra direnç değeri otomatik olarak hesaplanarak ekranın ilk iki satırında görüntülenir.
Başka değerler hesaplamak için tuş takımından kahveden beyaza herhangi bir tuşa basmak yeterlidir. Devremiz sadece 4 renk dirençleri hesaplamak için tasarlanmıştır. 5 renk dirençleri okumak için yazılımda değişiklik yapılmalıdır. Ayrıca farklı tolerans değerleri içinde uygulamada değişiklik yapmak mümkündür. Uygulamada görüldüğü gibi 4×4 lük tuş akımı kullanılmıştır. Fakat 4x3lük tuş takımı gerektiğinden tek sütün boş bırakılmıştır. Uygulamanın resimlerini ve çalışma videosunu aşağıdan inceleyebilirsiniz.
Uygulamanın Yazılımı
Uygulamanın yazılımın C programlama dili kullanılarak yazılmıştır. Derleyici olarak IAR 5.2 kod limitsiz 30 günlük deneme sürümü kullanılmıştır. Program boyutu 4 kbyi aşmadığından diğer sürümlerde kullanılabilir.
Uygulamanın videosu;
Şifre-Pass: 320volt.com
Yayım tarihi: 2011/06/13 Etiketler: direnç hesaplayıcı, fastlcd nokia 3310, msp430 nokia lcd, MSP430 örnekleri, msp430 projeleri, msp430g2231, msp430g2452
3310 yerine 2*16 lcd kullanarak yapılması mümkünmüdür sizce?
Hem donanım olarak hemde yazılım olarak uğraştırır.Msp430 3.3v ile çalıştığı için karakter lcdleri kullanmıyorum.
Thank you for the nice design and clear source code, as the issue with the 430 is the 3.3v and most displays work with 5v and “glue logic” is needed(74hc164)…
When my design is ready, i will post it here
Jazz
Saigon,Vietnam
You’re welcome friend. Yes you are right,big problem use 5 volt lcd with 3.3v mcu’s. need level converter circuit. Therefore I use always 3.3v lcd on my applications, as 3310 lcd. If you have, use 3.3v lcd. We are waiting your application.Good work.
Congratulations!
You have launchpad in proteus?
you can give me download link?
thanks.
Hello!
I have question about connect keypad to msp430 launchpad. As I see you did connect it directly, without diods or resistors, is it work well?
I mean if you press two or three buttons in one time, can it burn microcontroller? Classic scheme there:
Maybe you use some tricks in programm?
Can you help me with understanding?
Thank you!
Hi!
I couldn’t built your project. There is no library io430g2452.h and defines in delay.c doesn’t work. Please help me. I’m use Code Composer Studio.
send me mail [email protected]
CCS not have io430g2452.h you must include your code msp430g2552.h file
merhaba çalışmanız için teşekkür ederim.Şemada tuş takımı 4×3 fakat uygulamada 4×4 bi ayrıntı var mı mümkünse yardımcı olabilirmisiniz?
Merhabalar tuş takımı 4×3 olacak elimde var diye 4×4 kullandım en soldaki sütünü kullanmadım.
Merhabalar.
Uygulama dosyalarını derleyiciye yükleyip çalıştırdığımda
“Error[e46]: Undefined external “main” referred in ?cstart” hatası veriyor. Sebebi nedir acaba? Nasıl çözmek gerekir? önceden teşekkürler.