Bir zamanlar piyasada BASIC STAMP adında PIC 16F84 ile yapılmış ve BASIC dili ile programlana MCU lar vardı. daha sonra bu BASIC gelişerek tüm PIC leri destekleyen bir dil olmuş bu arada da BASIC STAMP SX chipleri ile yola devam etmişti.
BASIC STAMP bir çok çizgi izleyen robot ve/veya Sumo robot gibi projelerde kullanılmıştı. 32bit ARM çekirdekli MCU ların yaygınlaşması ile BASIC STAMP benzeri bir geliştirme ortamı NXP desteği ile çıkmış oldu.
WEB tabanlı kurulum gerekmeyen, Keil nin C/C++ derleyicisi ile desteklenen ve sağlam hazır kütüpanesi ile kolay kullanım olan mbed elektor tarafından yeni başlayanlar için 35 ARM projesi adında kitap ile de desteklenmekte.
#include "mbed.h"
DigitalOut myled(LED1);
int main() {
while(1) {
myled = 1;
wait(0.25);
myled = 0;
wait(0.25);
}
}
yukarıda görüleceği gibi kolayaca ilk program oluşturula bilmekte. kit üzerinde NXP LPC1768 nin tüm fonksiyonları hemen hemen tüm pinlere antanmış durumda.
(http://mbed.org/media//img/boardlogos/lpc1768/pinout.png)
yeni başlayanlar için kullanımı gayet basit. hızlıca çalışma yapıla bilinmekte.
Kiti ilk edindiğinizde yapmanız gereken USB portuna takmak ve kiti USB bellek olarak görmesini beklemek. Bu ilemden hemen sonra kitin flash bellek bölgesibde bulunan MBED.HTM sayfasını açıp siteye üye olarak kullanmaya başlamak.
Kit üzerindeki USB üzerinde porogramlanan bin dosyasının flash hafızaya alınması ve üzerindeki buton ile restlendikten sonra NXP LPC1768 programlanıyor ve çalışıyor. Aynı USB üzereinde sanal seri port olarak PC ile haberleşilmekte.
http://mbed.org/media/downloads/drivers/mbedWinSerial_16466.exe adersinden indireceğimiz sürücüyü bilgisayarımıza kurup aşağıdaki kodu derleyip, PC mizde terminal programımız çalıştırdığımızda sanal seri porttan üzerinden kitimiz gelen mesajı ekranda görebiliriz.
#include "mbed.h"
Serial pc(USBTX, USBRX); // tx, rx
int main() {
pc.printf("Merhaba Dünyalı Biz Dostuz :)");
while(1) {
pc.putc(pc.getc() + 1);
}
}
Aşağıda PWM out ile RGB led animasyonu denemesi. FxDev'in sitesindeki kodların kit üzerindeki ledlerden pin çıkışlarana yönledirilmiş hali
#include "mbed.h" //Bütün giriş çıkış ve ayarların tanımının olduğu Header (başlık) dosyası
int main()
{
int i=0, t=0;
float j=0, k=0;
while(1) // Sonsuz döngü girişi
{
PwmOut LEDRPWM(p22); // PWM çıkış pinlerinin tanımlan
PwmOut LEDGPWM(p21);
PwmOut LEDBPWM(p23);
for(t=0;t<10;t++)
{
for(i=0;i<500;i++)
{
LEDRPWM = 1-j;
LEDGPWM = 0.060-k;
LEDBPWM = 0.010+k;
j=j+0.02;
k=k+0.01;
wait_ms(10);
}
j=0; k=0;
for(i=0;i<500;i++)
{
LEDRPWM = j;
LEDGPWM = 0.010+k;
LEDBPWM = 0.060-k;
j=j+0.02;
k=k+0.01;
wait_ms(10);
}
j=0; k=0;
}
}
}
hocam güzel bi çalışma olmuş..emeğine sağlık:)
bende lpc2378den lpc1768 e geçmeyi düşünüyorum..72mhz zar zor yetti cünkü sistemime..lpc1768 in 100mhzi yeticek gibi..yetmezsede lpc1769 sipariş edicem çünkü 120mhz miş..
bugun kiti siparişini vericem
www.expkits.com 'dan.. 1768 i bi kurcalayalım bakalım..Sonuçlar tatmin edici olacakmı.
Geliştirici olmadığım (bakımcıyım) için benim için öğrenemek yavaş gidiyor. Bu mbed kiti çok iyi geldi benim için. bu kit ile birşeyler yapabilidikten sonra hedefim LPCExpresso kitim ile çalışmak
size tavsiyem http://www.embeddedartists.com/ şuarda ki kitleri incelemeniz.
zira bu firma LPCExpresso kitlerini tasarlayan ve üreten ve mbed kiti fiziksel olarak üreten firma.
http://www.embeddedartists.com/products/lpcxpresso/lpc1769_xpr.php?tab=spec
güzel kit
kiti sipariş ettik www.expkits.com dan yarın inşallah elimizde..inceleyelim bi lpc2378 le kıyaslıyayım (proje bazında) sonuclar ne olucak görücez..
Bende spariş ettim 27.2 Euro tuttu Posta ile gönderi seçtim. problem çıkmıyordur inşallah.Sizin sayenizde Lpc geçeceğim.Gerçi Lpc ile bir projemde yok. Pic serileri yetiyor. Şu proje olur belki.Pic de multi tasking program yazmıştım.Pic 18 serisi idi hız 40 kat düşmüştü dolaysıyla türkçesi Çoklu program çalıştırma olması lazım. Kullandığım deyim cümller standar dışı ise şimdiden özür dilerim.Konuya dönersek bizim için aynı zaman çalışan programlar (işlemciler için sırayla yürütülen) lpc hızınla avantajlı hale gelebilir. Bir yandan lcd ye bilgi aktarırken
bir yandan motor sürer diğer taraftan girişlerden gelen bilgileri toplar.Düşünce böyle ama hazır kütüphaneler
multi tasking işleminde çalışırmı?. Lpc yi daha elimi sürmeden hayele bak. ;D
Hayırlı akşamlar öncelikle...
picle kac tane işlemciyle yapıyordun bunu..
bizde 9 tane 8051le 5 eksen 320x240 grafik lcdli makina imaltı yapıyoruz ...
arm ye gecme isteğimiz yeni teknoloji yüksek hız kompak ürünler imal etmek..bu yüzden kendimi arm üzerinde geliştirmek için picprojeyi incik cinccik ediyorum bişeyler yakalarım diye.şuan lpc2378 le 5 eksen bi program olusturduk sonuclar güzel.armda multitasking oluyor aslında sıralı calısıyor ama okadar hızlıki ben multitasking diyorum buna..gercek multi taskingi ama siemensin simotion d435 inde görmüştüm..gercekten iyidi :)
Kitler gelsin forum da multi tasking uygulaması bölümü açalım.CNC deney amaçlı bende yapmıştım.Programı visual 5 ile yazmıştım.Motorları parelel porttan sürmüştüm.Kullandığım makina intel 486dx 4x100Mhz işlemcili idi. Aynı programı pentium makinalarda calistırdım. İşlemciler çok hızlı çalıştığından şimdi program düzgün çalışmıyor.Gecikmeleri döngüler ile yapmıştım. Motor kontrolu lpc ile yaparsak istediğin pcyi bağla.
ADC ve PC ile haberleş kısmını beraber içeren bir örnek eklemek isterim. amaç sadece PC ye kit dışından alına bir değeri yorumlayıp hyper terminal aracılığı ile görüntülemek.
#include "mbed.h"
Serial pc(USBTX, USBRX);
AnalogIn potans(p20);
float i = 0;
int main()
{
pc.printf("\x1B\x48\x1B\x4A"); //imlec satirbasina ve ekrani temizle VT52 komutlari
pc.printf("*****[ VOTLTMETRE]*****"); // :)
while(1) //Sonsuz dongu
{
pc.printf("\x1B\x48"); //imlec satirbasina VT52 komutlari
i = potans.read();
pc.printf("\n\n\rOkunan %4.2f ",i); //ADC den okunan degeri gosterir. %4.2f kayan
pc.printf("\n\n\rVoltaj %4.2f volt ", i*3.3); //nokta degeri noktadan once 4 basamak noktadan
//sonra 2 basakmak goster ----> 1234.12
wait(0.5); //Yeni isme yapmadan once bekleme yapiyoruz
}
}
PCB işlemek için mbed (NXP LPC1678) ile yapılmış CNC çalışması
http://mbed.org/users/franzachatz/notebook/pcb-drilling-machine/
görmüştüm güzel olmuş gercektende.bende makinayı canlandırayım videosunu paylasıcam sizlerle ;)
Bende step motor çalışmama geri dönmeye kara verdim. PIC ile uğraşırken sıkılmıştım. ST nin GS-D200S step sürücü modülü ile denemeler yapıyordum. Hatta ozamnlar burada konu açmıştım
SANYO DENKI 103-770-6 Step-Syn motor ( BI/UNI Polar) datasheet --> http://www.rta-deutschland.de/pdf/103-770.pdf
Adet ST SG-THOMSON GS-D200S 2/2.5A Bipolar Stepper Motor Drive modüle datasheet --> http://www.st.com/stonline/products/literature/ds/2666.pdf
tekrar bir el atayım. sorun olduğunda fikir alışverişinde bulunmak isterim. mbed (ARM) step güzel ikili olacak
Neden olmasın hocam konusuruz her konuda :) kesinlikle arm + step süpper olacak
Bizde step sürücümüzü kendimiz yapıyoruz.yıllardır da masallah herhangi bi sıkıntı olmadı..motorlarıda ya EVER kullanıyoruz..
ARM kurcalmaya devam.
(http://img838.imageshack.us/img838/3428/image252j.jpg)
sadece motor dönüşünü görmek için yazmış olduğum kod. :)
#include "mbed.h"
DigitalOut mot1yon(p17); //1. motor icin yon
DigitalOut mot1en(p19); //1. motor icin enable pwm kullanılacagi zaman p21 nolu uc kullanlacak 2khz.
DigitalOut mot1ledF(LED1);
DigitalOut mot1ledR(LED2);
int main()
{
while(1)
{
mot1yon = 0;
mot1en = 1;
mot1ledF = 1;
mot1ledR = 0;
wait(5);
mot1yon = 1;
mot1en = 1;
mot1ledF = 0;
mot1ledR = 1;
wait(5);
}
}
güzel çalışma kullandığın motorlar nerden??
bu kiti satın aldım. http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,403,543&Prod=RSK
Kitte MCU kartı yok. mbed kullanacağım için almadım. kitte sensör yok.
bu da benden kara şimşek:)
#include "mbed.h"
DigitalOut leds[] = {(LED1), (LED2),(LED3),(LED4)};
int main() {
int i,r;
int numLeds = sizeof(leds)/sizeof(DigitalOut);
i = -1;
r = 1;
while(1) {
if (i > numLeds-2) r = -1;
if (i == 0) r=1;
i=i+r;
if (i<numLeds) leds[i] = 1;
if (((i>0)&&(r==1))||((i>-1)&&(r==-1))) leds[i-r] = 0;
wait(0.05);
}
}
mbed sitesine yeni özellikler eklemey başlamış.
yeni Cortex-M0 çekirdeğine sahip bir mbed daha çıkıyor. Yien NXP nin Cortex-M0 LPC11U24 MCU su ile yapılmiş ve bir önceki mbed ile aynı boyutta ve pin bağlantılarına sahip.
Ençok sevdiğim yenilik ise artık mbed porjelerinizi "Exporting to uVision" özelliği sayesinde keil e aktarabileceğiz. tüm proje dosyalarını bir zip dosyası içinde HDD kaydediyoruz. ve uVision da istediğimiz gibi kullanabiliyoruz.
Arduno vb. ile uğraşmaya hiç gerek yok. 8) ;)
arm kitler gelsin calışmaya başlayalım
mbed için ikinci kitap hazırlanmışdurumda çok yakında satışına başlanacak.
http://mbed.org/cookbook/Textbook (http://mbed.org/cookbook/Textbook)
Alıntı Yap
Fast and Effective Embedded Systems Design: Applying the ARM mbed
Table of Contents
Embedded Systems, Microcontrollers and ARM;
Introducing the mbed;
Digital Input and Output;
Analog Output;
Analog Input;
Further Programming Techniques;
Starting with Serial Communications;
Liquid Crystal Displays;
Interrupts, Timers and Tasks;
Memory and Data Management;
An Introduction to Digital Signal Processing;
Advance Serial Communications;
An Introduction to Control Systems;
Letting Go of the mbed Libraries;
Extension Projects;
Alıntı yapılan: MC_Skywalker - 24 Kasım 2011, 15:39:01
Ençok sevdiğim yenilik ise artık mbed porjelerinizi "Exporting to uVision" özelliği sayesinde keil e aktarabileceğiz. tüm proje dosyalarını bir zip dosyası içinde HDD kaydediyoruz. ve uVision da istediğimiz gibi kullanabiliyoruz.
Hazır MBED kütüphaneleri de aktarılıyormu ?.. Kütüphaneler precompiled mı source code olarakmı aktarılıyor.?
Alıntı yapılan: iyildirim - 27 Şubat 2012, 00:55:18
Hazır MBED kütüphaneleri de aktarılıyormu ?.. Kütüphaneler precompiled mı source code olarakmı aktarılıyor.?
sizin yazmış olduğunuz kaynak koda ek olarak header (*.h) ve source code (*.c/cpp) şeklinde geliyor. Uvision ile rahat rahat kullanıyorsunuz.
İyiymiş o zaman..
Zamanında bir iki kütüphane dikkatimi çekmişti MBED in sitesinde.
mbed kendine RTOS unu hazırlamakta. şimdilik beta aşamasında
http://mbed.org/handbook/RTOS (http://mbed.org/handbook/RTOS)
Bu embedi mbed olmayan işlemciler içinde kullanabiliyormuyuz? Sadece kendi sattıkları kitler için mi çalışıyor uygulamalar?Keile aktardıkdan sonra başka kitlere de yükleme yapılabilinir mi?
lpc1768 li diğer kitler için port düzenlemesi yaparak kullana bilirisiz.
şimdilik Keil MCB1700 kit doğrudan destekleniyor detay için http://mbed.org/handbook/uvision-ulink2-and-mcb1700 (http://mbed.org/handbook/uvision-ulink2-and-mcb1700)
Alıntı yapılan: MC_Skywalker - 24 Mart 2012, 21:03:47
lpc1768 li diğer kitler için port düzenlemesi yaparak kullana bilirisiz.
Merhaba hocam elimde LPC 1768 LPCXPRESSO board var.
Bunu mbed olarak kullanabilirmiyim. kullanılıyorsa nasıl kullanıldıgı hakkında bilginiz varmı ?
Bir çok kişi ARM tabanlı MCU'lardaki registerlerden sıkıldıkların söylemekte bu işle faz uğraşmadan çözüm sunan mbed prototip sistemi için ikinci kitapta çıktı.
İlk kitap : ARM Microcontrollers 1 adında ve Elektor tarafından yayınlamış. 35 ilginç proje barındırıyor. GBP 29.50£
http://www.elektor.com/products/books/microcontrollers/arm-microcontrollers-1-%28uk%29.1625568.lynkx (http://www.elektor.com/products/books/microcontrollers/arm-microcontrollers-1-%28uk%29.1625568.lynkx)
İkinci kitap: Rob Touslon ve Tim Wilmshurst, tarafından yazılmış "Fast and effective embedded systems design - Applying the ARM mbed" kitabı. GBP 32.55£
http://www.amazon.co.uk/Fast-Effective-Embedded-Systems-Design/dp/0080977685 (http://www.amazon.co.uk/Fast-Effective-Embedded-Systems-Design/dp/0080977685)
(http://imageshack.us/a/img267/7291/imag0136jt.jpg)
arkadaşlar merhaba şu mbed LPC1768 kiti almayı düşünüyorum ama bir iki sorum var
1.flaşmagic programı ile programlaya biliyormuyuz
2.mbed.h ı kullanmak istemiyorum ben kendi headerlerımı keilde kendim yazmak istiyorum olurmu kiti sadece işte hardwaredan dolayı almak istiyorum
keilde derledikten sonra hex dosyanın bin formatına çevirip. mbed e USB belleğe kopyalar gibi dosyayı kopyalayı resetliyorsun oluyor bitiyor.
hocam çok teşşekkür ederim yani illa mbed.h kullanmak zorunda degiliz bir sorum daha var peki LPC 1768 LPCXPRESSO board ta nasıl oluyor ve bu boarda butün pinler dışa aktarılmışmı acama ve mbed kitinde 40 pin aktarılmış chipte 100 pin var bunun sebebi nedir peki
mbed en çok kullanılacak pinleri dışa aktarmış. LPC EXPRESSO ise hemen hemen tüm pinleri.
hocam çok sagolun ışık tuttunuz yoluma tek bi sorum daha var hardware için nerden başlamalıyım yani nasıl ögrenirim gerekli hardware donanımını
Alıntı yapılan: toprak6834 - 18 Şubat 2013, 16:24:24
hocam çok sagolun ışık tuttunuz yoluma tek bi sorum daha var hardware için nerden başlamalıyım yani nasıl ögrenirim gerekli hardware donanımını
Sorunuzu anlayamadım
hardware olarak bahsetiğini kısmı açabilirmisiniz.
hocam chipten ayrı hardware yani cristal osilator bacak baglantıları beslame gerilimleri gibi
user maunal de tüm detaylar verilmekte. LPC1768 2 adet kristal kullanmakta bir ana saat darbesi üreteci için diğeri ise gerçek zaman saati için.
aşağıdaki şema LPC mikrokontrolcüsünü çalıştırmak için gerekli en minimum hardware dir. şemada Besleme devresi ve 100n kondasatörler gösterimemiştir. LPC2138 için olan bu donanım LPC1768 içinde kullanıla bilir detay için User manual mutlaka okunmalı.
(http://img201.imageshack.us/img201/1579/2138k.jpg)
hocam cevaplarınız ve sabrınız için çok teşekkür ederim....
merhabalar Jtag nedir anlatabilecek olan varmı acaba?
Kısaca J-TAG (Joint Test Action Group); MCU, FPGA, CPLD vb silkonlara program yüklemek ve Debug yapmak için kullanılan bir bağlatı ara yüzüdü(r.
Detay için -----> http://en.wikipedia.org/wiki/Joint_Test_Action_Group (http://en.wikipedia.org/wiki/Joint_Test_Action_Group)