LPC1769 ile 8 Temel Uygulama
|
|
|
- Özge Sezen
- 10 yıl önce
- İzleme sayısı:
Transkript
1 LPC1769 ile 8 Temel Uygulama Bu uygulama notunun amacı, temel seviyede gömülü sistem bilgisi olan arkadaşlara 32 bit ARM Cortex-M3 tabanlı NXP firmasına ait olan LPC1769 hakkında bilgi vermek, temel seviyede 8 adet uygulama geliştirmek ve sıfırdan başlayacak arkadaşlara yardımcı olmaktır. Genel itibari ile Cortex-M3 mimarisi, donanım ve debugging özellikleri hakkında hakkında bilgiler verilecektir. ATAKAN CESİM tarafından hazırlanmıştır.
2 LPC 1769 ile 8 TEMEL UYGULAMA 2 BOARD ÖZELLİKLERİ 3 LPC1769 ÖZELLİKLERİ 4 LPCXpresso Kullanımı ve Proje Oluşturma 6 UYGULAMA-1 STANDART I/O KULLANIMI ve FLASHING LED 10 UYGALAMA-2 LPC1769 ve 7 SEGMENT UYGULAMASI 12 UYGULAMA-3 HARİCİ EINT1 I/O INTERRUPT VE REED RELAY 15 UYGULAMA-4 LM35 SICAKLIK SENSÖRÜ VE ADC UYGULAMASI 18 UYGULAMA-5 PWM ve MOTOR HIZ KONTROLÜ 21 UYGULAMA-6 LPC1769 ve RÖLE UYGULAMASI 27 UYGULAMA-7 LPC1769 ve RTC UYGULAMASI 29 UYGULAMA-8 LPC1769 ve 16*2 LCD UYGULAMASI 34
3 LPC 1769 ile 8 TEMEL UYGULAMA Bu uygulama notunun amacı, temel seviyede gömülü sistem bilgisi olan arkadaşlara 32 bit ARM Cortex-M3 tabanlı NXP firmasına ait olan LPC1769 hakkında bilgi vermek, temel seviyede 8 adet uygulama geliştirmek ve sıfırdan başlayacak arkadaşlara yardımcı olmaktır. Genel itibari ile Cortex-M3 mimarisi, donanım ve debugging özellikleri hakkında hakkında bilgiler verilecektir. Uygulamalar geliştirilirken LPC1769 tabanlı LPCXpresso Board u kullanacağız.bu döküman hazırlanırken üreticinin web sayfasından ve ürün datasheet inden faydalanılmıştır. Hali hazırda binlerce ARM tabanlı MCU kullanıcısı ve hızlı bir şekilde gelişen MCU teknolojisi ve pazarı bulunmaktadır. Pek çok firma Cortex-M3 tabanlı cihazlar üretmektedir. Cortex Microcontroller Software Interface Standart ı (CIMSIS) Cortex işlemcileri ve silikon üreticileri arasında code taşınabilirliği sağlamaktadır. LPCXpresso Board LPCXpresso board u Cortex-M3 ile hızlı bir şekilde uygulama geliştirmek için tasarlanmıştır. LPCXpresso board u ile birlikte ücretsiz olan Eclipse tabanlı Code Red IDE si kullanarak uygulamalarımızı geliştireceğiz.arm Cortex-M3 tabanlı LPC1769 board u NXP nin low-cost geliştirme kitidir.embedded Artists,Code Red ve NXP nin ortak çalışması ile geliştirilmiştir.end-to-end çözüm olarak üretim öncesi pek çok uygulama geliştirebileceğimiz bir kittir. Entegre JTAG Debugger ı var, harici emulatöre gerek yoktur. Ücretsiz Eclipse tabanlı IDE ve compiler (128K limitli)
4 Bildiğimiz pek çok üretici ARM Cortex-M3 core u kullanarak 32 bit mikrodenetleyiciler üretmektedir. Texas Instrument TMS470M,STMicroelectronics STM32 ve NXP firmasına ait LPC17xx serileri örnek olarak gösterilebilir ve bu firmalar ARM tabanlı işlemci dizaynı yapabilme lisansına sahiptirler. Cortex-M3 işlemcisi mikrokontrolör chip inin merkezi işlem birimidir (central processing unit CPU ). Chip üreticileri Cortex- M3 lisansını aldıktan sonra Cortex-M3 işlemcisini kendi silikon dizaynları içerisinde hafıza birimi, peripheral lar, I/O lar ve diğer özellikleri ekleyerek kullanabilmektedir. Bu chip lerin özellikleri ( hafıza, tip, peripheral v.b) üreticiden üreticiye farklılık göstermektedir. Cortex M3 tabanlı örnek chip BOARD ÖZELLİKLERİ Processor NXP's Cortex-M3 LPC1769 microcontroller in LQFP100 package Flash 512 kb Data Memory 64 kb Clock Crystals MHz crystal for CPU Dimensions 35 x 140 mm Power 3.15V-3.3V external powering, or from USB via JTAG probe (LPC-LINK) Connectors All LPC1769 pins available on expansion connector (2x27 pin rows, 100 mil pitch, 900 mil between rows) Other Embedded JTAG (LPC-LINK) functionality via LPCXpresso toolchain LPC-LINK can be connected to external target processor after modifications to the LPCXpresso board LED on PIO0_7
5 LPC1769 ÖZELLİKLERİ Processor ARM Cortex-M3 core with speed up to 120 MHz Flash 512 kb RAM 64 kb Ethernet interface 10/100 Ethernet MAC USB interface USB 2.0 Host USB 2.0 Device USB 2.0 OTG Serial interfaces 2xCAN, 4xUART, 3xI2C, 2xSSP, 1xI2S Timers Four 32-bit counter/timers One Watchdog timer PWM/Motor controller PWM/timer block Motor control PWM with support for three-phase motor control Quadrature encoder interface ADC/DAC 12-bit ADC with input multiplexing among 8 pins Single 10-bit DAC output Other Serial Wire Debug and Serial Wire Trace Port Integrated PMU to minimize power consumption Three reduced power modes: Sleep, Deep-sleep, and Deep power-down Code Read Protection (CRP) with different security levels
6 LPC1769 ÖZELLİKLERİ
7 LPCXpresso IDE si ve Board u LPCXpresso Kullanımı ve Proje Oluşturma Bu bölümde kullanacağımız IDE hakkında bilgi verip, proje oluşturacağız. Daha sonraki uygulamalarımızı aynı şekilde gerçekleyeceğiz.öncelikle aşağıdaki linkten uygulamayı indirelim, kuralım ve aktivasyonunu yapalım. Aktivasyon işlemini yaparken öncelikle programı kurup Help menüsü altında sırayla; Help - Active LPCXpresso (Free Edition) - Create serial number and register Yukardaki işlemleri yaptıktan sonra bizim için oluşturulan seri numara ile yine aşağıdaki sayfadan kendimiz için aktivasyon kodu oluştururuz.oluşturulan kodu Help - Active LPCXpresso (Free Edition) Enter Activation Code kısmına gireriz. Bu şekilde 128K limitli lisansımızı yapmış olduk.
8 LPCXpresso Aktivasyonu LPCExpresso uygulama perfektifidevelop ve debug olarak iki kısımdan oluşur aşağıda gösterildiği gibidirler. Project Explorer View :workspace içerisinde bulunan projeleri gösterir. Editor : Source code yazdığımız ve debug için breakpointleri kullandığımız kısım Console ve Problem Views : Compile ve debug hatalarını, program çıktılarını gördüğümüz kısım Quick Start View : Hızlı bir şekilde Projelerin build, dubug ve import işlemlerini yaptığımız kısımdır. LPCXpresso Develop Persfektifi
9 Peripheral View : Debug yapılırken peripheralların anlık durumu gösterilir Debug View : Step step yada full speed kod işlettiğimiz kısım Editor : Debug yapılırken execute edilen kodları gördüğümüz kısım Console View : Compile, debug, program output, memory ve peripheral register bilgilerini gördüğümüz kısım Quick Start View : Hızlı bir şekilde Projelerin build, dubug ve import işlemlerini yaptığımız kısımdır. LPCXpresso Debug Persfektifi The Cortex Microcontroller Software Interface Standard (CMSIS) ARM CortexM tabanlı sistemlerde developer ve vendorlar için yazılım paketlerini yeniden kullanılabilir yapar. CortexM serisi için üreticiden bağımsız şekilde kütüphanelerin kullanılabilir olmasını sağlar. Üreticiler için source code yazımı ve debug yapmayı standart haline getirmeyi amaçlamıştır.yani bir St ye ait Cortex serisi için kullandığımız CIMSIS kütüphanesini NXP firmasına ait bir Cortex serisi için de kullanabiliriz. Bizde projelerimizi oluştururken workspace CIMSIS kütüphanesini ekleyeceğiz. CIMSIS kütüphanesini workspace eklemek için Quick Start panelinden Import Project e tıklayalım.archive butonuna tıklayalım ve açılan pencereden NXP_LPCXpresso1769_MCB1700_ zip isimli sıkıştırılmış dosyayı seçelim(aşağıda gösterilmiştir) ve ileriye tıklayalım ve son olarak açılan pencereden sadece için CIMSISv2_LPC17xxseçelim.Bu sayede workspace CIMSIS eklenmiş oldu. Amacımız lpc17xx.h kütüphanesini kullanabilmek.
10 NXP_LPCXpresso1769_MCB1700_ rar sıkıştırılmış dosyası Artık LPC1769 için bir proje oluşturabiliriz.bunun için sırası ile ; Quick Start panelinden New Project e tıklanır. LPC13/ LPC17/ LPC18/ seçilir, daha sonra LPC175x_6x seçilir ve en son C Project seçilir, devam edilir. Proje ismi girilir ve Use default location tıklanıp ileriye basılır ve Target seçilir. Target için LPC1769 seçilir ve ileriye tıklanır. LPCOpen Chip Library için CIMSISv2_LPC17xx seçilir ve ileriye tıklanır. Enable CRP in the target image kısmı nı işaretlemeyin ve Finish e tıklanarak projemiz oluşturulur. Proje oluşturulduktan sonra projeye sağ tıklayıp Properties den özelliklere girilerek Project References kısmından CIMSISv2_LPC17xx. Ayrıca yine Properties de Run/Debug settings de bizim projemizin gözükmesi gerekmektedir.artık main.c dosyamızda kodlarımızı yazabiliriz. LPCXpresso IDE ile birlikte gelen hazır projelerden bir tanesi işimizi kolaylaştıracağından Quick Start Panelinden Import Project ile hazır gelen projelerden herhangi birisini açıp source code üzerinde değişiklik yapabiliriz. Bu kısımda sıra ile 8 adet proje yapılacak ve LPC1769 un birimleri kullanılacaktır.
11 UYGULAMA-1 STANDART I/O KULLANIMI ve FLASHING LED Hello World uygulaması olarak kabul edeceğimiz bu uygulamada 4 adet led LPC1769 un P2 portuna bağlanarak (P2.0, P2.1, P2.2, P2.3 I/O ları) yakıp-söndürme işlemi yapılacaktır. P2.0-3 I/O larına bağlı ledler P2 portuna bağlı (0-4) I/O lar çıkış olarak atantı. LPC_GPIO2->DIR // I/O'ların giriş-çıkış yönlendirmesi yapılır. LPC_GPIO2->FIOSET //Çıkış olarak atanan I/O'ların lojik 1'e seviyesine çekilmesini LPC_GPIO2->FIOCLR // Çıkış olarak atanan I/O'ların lojik 0' seviyesine düşürülmesi Yukarde gösterildiği gibi şekilde belirtilen I/O lar çıkış olarak atandı.uygulamalar yapılmadan önce LPC17xx.h ile gösterilen kütüphanenin incelenmesi kafamızda oluşan soru işaretlerini giderecektir. Örnek olarak LPC_GPIO2 LPC_GPIO_TypeDef türünden bir struct olarak tanımlanmıştır. Bu bilgiler kütüphane içerisinde mevcut.uygulamada Position isminde bir fonksiyonumuz var ve lederin hangi sırayla ve bu fonksiton içerisinde ledlerin hangi şekilde yanması gerektiğini belirttik.yine Delayme süreleri bu fonksiyon içerisinde artırılıp azaltılıyor.
12 Uygulamaya ait video aşağıdaki linkte mevcuttur. void Delay(int sure); void Delay (int sure) int var,var1; for (var = 0; var < sure; ++var) for (var1 = 0; var1 < sure; ++var1) voidposition(int x); voidposition(int x) LPC_GPIO2->FIOSET = (0x );Delay(x); LPC_GPIO2->FIOCLR = (0x F);Delay(x); //P2.'ye ait tüm I/O'lar lojik 0 LPC_GPIO2->FIOSET = (0x );Delay(x); //P2.0 (1.led) lojik 1 LPC_GPIO2->FIOCLR = (0x F);Delay(x); LPC_GPIO2->FIOSET = (0x );Delay(x); //P2.1 (2.led) lojik1 LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //3.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //4.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //1ve2.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //1ve3.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //1ve4.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //2ve3.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //2ve4.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x C); Delay (x); //3ve4.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //2ve4.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //2ve3.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x ); Delay (x); //2ve3.Led LPC_GPIO2->FIOCLR = (0x F); Delay (x); LPC_GPIO2->FIOSET = (0x E); Delay (x); //2ve3.Led // Position fonksiyonun sonu.
13 UYGALAMA-2 LPC1769 ve 7 SEGMENT UYGULAMASI LPC1769 a ait olan P2.0-7 I/O ları kullanılarak 7 segment uygulaması yapılacaktır.bir adet 7 segment kullanılacak ve 0 dan 9 a kadar saydırma işleme yapılacaktır.sayım yapılırken Delayme süresi belirli miktara kadar artırılıp daha sonra sıfırlanıp sürekli belirlenen miktara kadar artırılacaktır.kullanılan 7 segment ortak katotludur ve bu yüzden yakmak istediğimiz segment lojik 1 yapılmalıdır.uygulamaya ait video aşağıdaki linkte mevcuttur. Ortak katot 7 Segment 7 Segment ve LPC1769 bağlantısı
14 CRP Seçenekleri CRP donanım/yazılım etkileşimi
15 CRP constunsignedint CRP_WORD = CRP_NO_CRP ; /* Code Read Protection on-chip flash'a erişim seviyelerini belirlemek ve ISP(In system programming) kısıtlamak için kullanılır. Üç seçenek vardır CRP1,CRP2,CRP3 */ #include"lpc17xx.h" #include"type.h" void Delay(int delay); void Delay(int delay) int var,var1; for (var = 0; var < delay; ++var) for (var1 = 0; var1 < 1000; ++var1) char numbers[11]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80; intmain (void) SystemClockUpdate(); //SystemFrequency güncelleniyor. LPC_GPIO2->FIODIR&= 0x00; LPC_GPIO2->FIODIR = 0xFF ; /* P2.xx ÇIKIŞ */ LPC_GPIO2->FIOCLR = 0xFF ; // 0 Volt LPC_GPIO2->FIOSET = 0xFF ; int counter=0; int delay=0; while(1) LPC_GPIO2->FIOCLR = 0xFF; LPC_GPIO2->FIOSET = numbers[counter]; Delay(delay); delay+=50; ++counter; if(delay>5000) delay=0; if(counter==10) counter=0; LPC_GPIO2->FIOCLR = 0xFF; LPC_GPIO2->FIOSET = numbers[10]; Delay(delay);
16 UYGULAMA-3 HARİCİ EINT1 I/O INTERRUPT VE REED RELAY Uygulama-2 deki konfigurasyona ek olarak P2.11 I/O su kullanılarak harici kesme oluşturulacaktır ( EINT1 external interrupt input 1 ). Herbir kesme sonrası 7 segmentteki değer 1 artırılıp 9 a geldikten sonra sıfırlanacaktır. Düşen kenarda yani lojik 1 den lojik 0 a geçişlerde kesme oluşturulacaktır. Reed röle ve mıknatıs kullanılarak gerçekleştirilecektir. 7 Segment, Reed Röle ve LPC1769 bağlantısı Yukardaki dizayndan görüldüğü gibi reed röle NO ( normal open ) durumunda ve P2.11 I/O su R1 üzerinden VCC yani lojik 1 seviyesini görür. Mıknatıs yaklaştırıldığında reed röle kısa devre durumuna geçer ve P2.11 I/O su lojik 0 seviyesini görür (düşen kenar kesmesi için gerekli durum) ve bu durumda EINT1 için kesme oluşturulup gerekli işlem yapılır. Uygulamaya ait video aşağıdaki linkte mevcuttur. İlk iki uygulamada kullandığımız tüm pin ler genel amaçlı input/output olarak kullanıldığı için giriş-çıkış atamaları (LPC_GPIO2->FIODIR, LPC_GPIO2->FIOSET, LPC_GPIO2- >FIOCLR ) dışında bir konfigurasyon yapılmadı. Bu uygulamamızda P2.11 giriş-çıkış kesme oluşturan dijital giriş ( EINT 1 ) olarak kullanılacağından ayrı konfigurasyonların yapılması gerekmektedir(um10360.pdf, sayfa 110). Ayrıca kullanacağımız pin fonksiyon register ı ile P2.11 in EINT1 olarak tanımlanması gerekmektedir. 23 bit 0 ve 22 bit 1 yapılarak EINT1 fonksiyonu P2.11 için aktif edilir.
17 Harici interrupt donanım yapısı Ayrıntılı bilgi için (UM10360.pdf, sayfa 23 ve sonrası okunabilir). Harici kesme register ları
18 CRP constunsignedint CRP_WORD = CRP_NO_CRP ; #include"lpc17xx.h" #include"type.h" voiddelay(int delay); voiddelay(int delay) int var,var1; for (var = 0; var < delay; ++var) for (var1 = 0; var1 < 1000; ++var1) char numbers[11]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80; int counter=0; intmain (void) SystemClockUpdate(); LPC_GPIO2->FIODIR&= 0x00; LPC_GPIO2->FIODIR = 0xFF ; /* P2.xx ÇIKIŞ */ LPC_GPIO2->FIOCLR = 0xFF ; // 0 Volt LPC_GPIO2->FIOSET = 0xFF ; LPC_PINCON->PINSEL4 = 0x ; /* P2.11 => EINT1 */ LPC_GPIOINT->IO2IntEnF = 0x800; /* Düşen kenarda */ LPC_SC->EXTMODE = 0x ; /* INT1 kenar tetiklemeli */ LPC_SC->EXTPOLAR = 0; /* default olarak düşen kenarda INT1 */ NVIC_EnableIRQ(EINT1_IRQn); PC_GPIO2->FIOCLR = 0xFF ; LPC_GPIO2->FIOSET = numbers[0]; /* 7 Segmente 0 yazılıyor. */ while(1) voideint1_irqhandler(void) LPC_SC->EXTINT = 0x2; // EINT1 flag siliniyor. Her bir kesme de set edilerek sıfırlanıyor. ++counter; LPC_GPIO2->FIOSET = numbers[counter]; if(counter==10) counter=0; LPC_GPIO2->FIOCLR = 0xFF ; LPC_GPIO2->FIOSET = numbers[counter];
19 UYGULAMA-4 LM35 SICAKLIK SENSÖRÜ VE ADC UYGULAMASI Bu uygulamada LPC1769 un ADC birimi kullanılacaktır. AD05 kanalı kullanılacak ve LM35 in çıkışı okunup gerekli hesaplamalardan sonra ölçülen sıcaklığa göre uyarı ledi (P2.0 a bağlı led) yakılıp/söndürülecektir (21 dereceden fazla ise led yanacak).uygulamaya ait video aşağıdaki linkte mevcuttur. LM35 pin isimleri LPC1769 ve LM35,LED bağlantısı Önceki uygulamalardan farklı olarak ADC birimi kullanılacaktır. ADC briminin AD05 kanalı kullanılacaktır.lpc1769 üzerinde 8 kanal 12 bit ADC bulunmaktadır.basit ADC konfigurasyonu için aşağıdaki adımlar incelenmelidir ve kodlarda uygulanmıştır,ayrıntılı bilgi için (UM10360.pdf, sayfa 574); AD05 fonksiyonu için gerekli pinselect regester ın 31. ve 30. bitleri lojik 1 olmalıdır.
20 PCONP(Power control peripheral register) register i üzerinde PCADC bit i (12.bit yani (1<<12) ) set edilerek ADC için power aktif edilmelidir.reset durumunda ADC disabled durumdadır, PCADC set edildikten sonra AD0CR içerisindeki PDN biti set edilmelidir. ADC yi disable duruma getirirken ilk olarak PDN biti ve daha sonra PCADC biti silinir. ADC pinlerini aktif etmek için gerekli PINSEL register ları üzerinde değişiklik yapılır. ADC kesmesi aktif edilir (main içerisinde). ADC çevrimi başlatılır. ADC çevrimi bittiğinde ADC_IRQHandler fonksiyonu çalıştırılır ve okunan değerler burda alınır işlemimize göre okunan değer işlenir.okuma sırasında ADC_IRQHandler içerisinde ADC çevrimi durdurulur.okunan değerler ADC nin GDR register ının Bitleri arasındadır. 4 bit sağa kaydırıp 0xFFF ile and işlemine tabi tutulup değer okunur ve sonra gerekli işlemler yapılır.
21 CRP constunsignedint CRP_WORD = CRP_NO_CRP ; #include"lpc17xx.h" #include"type.h" voiddelay(int a,int b); voiddelay(int a,int b) int var,var1; for (var = 0; var < a; ++var) for (var1 = 0; var1 < b; ++var1) voidconverttemp(); voidconverttemp() LPC_SC->PCONP = (1<<12);// Power konfig registerindan ADC power enable edilir. LPC_ADC->CR =(1<<21); //PDN biti set edilir. (Bknz User Manual). LPC_ADC->CR =(1<< 5); //ADC0'ın 5inci kanalını kullanacağız. LPC_PINCON->PINSEL3&= ~(3<<30); //5inci kanal P1.31'de o yüzden konfig ediyoruz. LPC_PINCON->PINSEL3 = (3<<30); LPC_ADC->CR =(1<< 8); LPC_ADC->CR =(1<<24); voidadc_irqhandler(void) // Konfig P1.31 = AD0.5 // Çevirimi başlatıryoruz //Her çevirim tamamlanmasında kod ADC Kesmesine düşer yani buraya. LPC_ADC->CR&= ~(7<<24); // Çevirim durdurulur. float val = ((LPC_ADC->GDR>> 4) & 0xFFF); // Okunan değer ler 15-4 bitleri arasındadır,4bit sağa kaydırılır.(bknz User Manual). //Aşağıdaki işlemler LM35'in ve referans voltajı(3.3v) için hesaplanmıştır.35 dereceden fazla ise uyarı ledi yanmaktadır. float hvcc=0x00000fff; float Vcc=3.3; float measuredvoltagefromadc=((val/hvcc)*vcc); float measuredtemperaturefromlm35=measuredvoltagefromadc*100; if(measuredtemperaturefromlm35>=21) else LPC_GPIO2->FIOCLR = 0x01; intmain (void) SystemClockUpdate(); LPC_GPIO2->FIODIR&= 0x00; LPC_GPIO2->FIODIR = 0x01 ; /* P2.0 ÇIKIŞ */ LPC_GPIO2->FIOCLR = 0x01 ; // 0 Volt NVIC_EnableIRQ(ADC_IRQn); while(1) delay(1000,3000); converttemp(); LPC_GPIO2-IOSET = 0x01;
22 UYGULAMA-5 PWM ve MOTOR HIZ KONTROLÜ Bu uygulamada LPC1769 mikrodenetleyicisinin PWM ( Pulse width Modulation ) birimi kullanılacaktır ve LPC1769 üzerinde 6 tane PWM kanalı vardır. P2.0 ın bir diğer fonksiyonu PWM1.1 i gerçeklemesidir ve ADC uygulamamızda yaptığımız gibi gerekli pinselect register ına gerekli değerleri yazmamız gerekecektir. Uygulamada PWM1.1 kanalı single edge PWM olarak kullanılacaktır. Single edge PWM de output her bir periotta lojik 1 seviyesinden başlayacak ve belirlenen duty/cycle sonunda output lojik 0 olacaktır.iki tane match register i single edge PWM için kullanılır. 3 match regester i double edge PWM için kullanılır. M0 periyodunda M1 single edge, M2 ve M3 double edge için kullanıldı Yukardaki örnekte MR0 periyot süresini tutan register, MR1 single edge için doluluk oranını tutan register, MR2 ve MR3 double edge için doluluk oranının periyot içerisinde başlayacağı ve biteceği yeri tutan register. PWM belirli bir periyot ile salınım yapan kare dalganın duty/cycle yani doluluk ve boşluk oranları değiştirilerek toplam periyot içerisinde kare dalganın ortalamısının alınmasıdır ve ortalama bir dc volt elde etmiş oluruz. Aşağıdaki örnekte gösterilmiştir.uygulamaya ait video aşağıdaki linkte mevcuttur. Örnek duty/cycle gösterimi
23 Bu şekilde oluşturulan periyodik kare dalgaların ortalaması ortalama DC olur. Uygulamalarda kare duty/cycle oranları değiştirilerek istenilen işlemler yapılır. Bu uygulamada bir DC motorun dönme hızı periyodik olarak duty/cycle oranı artırılarak artırılacaktır. Uygulamada işlemcimizin dahili IRC osilatörü ( 4Mhz ) kullanılacaktır.bizim uygulamamızda pwm timer counter ı her bir clock ta yani 1/40 sn de 1 artacak ve 1 saniye içerisinde 40 a ulaştığında yeniden sıfırlanıp 40 a kadar artacak. Yani periyodumuz 1 saniye. Uygulamamızda sırası ile aşağıdaki duty/cycle oranları uygulanıp Delaymeler ile motor hızı yavaş yavaş artırılacaktır ve %100 duty/cycle dan sonra tekrar %0 duty cycle dan başlanacaktır. 0/40 = %0 5/40 = % /40 = %25 15/40 = % /40 = %50 25/40 = % /40 = %75 35/40 = % /40 = %100 Uygulamada bir adet LD293 motor sürücü kullanılmalıdır (H köprüsü).gerekli bağlantı şeması aşağıda gösterilmiştir. LD293 bağlantı şeması Yukardaki şemaya göre 1.pin enable ucu,pin 2 ve 7 yön belirlemedir. Örneğin pin1 lojik 1 pin 2 lojik 1 ve pin 7 de lojik 0 durumunda motor bir yöne dönecek ve diğer yöne döndermek için pin 2 lojik 0 ve pin 7 de lojik 1 yapılmalıdır. Pin1 yani enable pini lojik 0 olursa motor duracaktır.
24 LD293 ve LPC1769 bağlantısı Enable pini yani pin1 direk lojik1 e çekildi. MOTOR1 ve MOTOR2 dc motora giden uçlar.yön için P2.0 ve P2.1 kullanılacak ve LPC1769 ile bağlantısı yapılması gereken uçlardır. Basit PWM konfigurasyonu için aşağıdaki adımlar incelenmelidir ve kodlarda uygulanmıştır ve test edilmiştir, ayrıntılı bilgi için (UM10360.pdf, sayfa 509); PCONP register ı üzerinde PCPWM1 biti set edilmelidir. Mikrodenetleyici resetlenip yeniden başlatıldığında default olarak set durumundadır bu yüzden uygulamada bu adım direk geçilebilir(pcpwm=1). Gerekli PINSEL register ı (PINSEL4) üzerinde PWM1.1 için 0.bit 1 1.bit 0 yapılmaldır. PWM1.1 için 0.bit 1 1.bit 0 yapılmaldır. PWM birminin TCR register ı reset edilmelidir. Yani counter reset edilmelidir. (LPC_PWM1->TCR = TCR_RESET;)TCR (Timer Control Register ) Ve timer control fonksiyonun gerçeklerken dikkat edilecek prescale değeri girilmelidir. PR ( Prescale Register).TC (Timer Counter) peripheral clock un her bir PR+1 inde bir artar.
25 TC nin resetlenişi ve interrupt oluşumunun kontrolü için MCR nin(match Control Register) PWMMR0I biti yani 1.biti set edilmelidir (LPC_PWM1->MCR =(1<<0);) PWM cycle değerlerinin girilmesi (MR0 periyodu ve MR1 PWM1.1 için duty süresi) Örneğin MR0 = 40 ve MR1=20 ile %50 duty/cycle oranı elde edebiliriz. PWM Latch enable edilir ( LPC_PWM1->LER = (1<<0); ) PWM interrupt ı enable edilir ( NVIC_EnableIRQ(PWM1_IRQn);) Yukarda beliritlen konfigurasyon PWM init içindir. Uygulama esnasında duty/cycle oranı değiştirirken MR1 değeri değiştirilir. Single edge ve double edge PWM olarak iki şekilde uygulanabilir. Uygulamamızda single edge PWM yapılmıştır. Single ve double edge PWM ler
26 #include<cr_section_macros.h> #include<nxp/crp.h> CRP constunsignedint CRP_WORD = CRP_NO_CRP ; #include"lpc17xx.h" #include"type.h" volatileuint32_t match_counter0, match_counter1; voiddelay(int delay); uint32_tpwm_init( uint32_t channelnum, uint32_t cycle ); voidpwm_set( uint32_t channelnum, uint32_t cycle, uint32_t offset ); voidpwm_start( uint32_t channelnum ); voidpwm_stop( uint32_t channelnum ); voidpwm1_irqhandler (void) uint32_t regval; regval = LPC_PWM1->IR; if ( regval & (1<<0) ) match_counter1++; LPC_PWM1->IR = regval; return; uint32_tpwm_init( uint32_t ChannelNum, uint32_t cycle ) if ( ChannelNum == 1 ) match_counter1 = 0; LPC_PINCON->PINSEL4 = 0x ; LPC_PWM1->TCR = 0x01; /* Counter Reset */ LPC_PWM1->PR = ; LPC_PWM1->MCR =0x01; LPC_PWM1->MR0 = 40; /* PWM periyodu */ LPC_PWM1->MR1 =20; /* duty/cycle oranı */ LPC_PWM1->LER = (1<<0); /*PWM1.1 enable */ else return ( FALSE ); NVIC_EnableIRQ(PWM1_IRQn); return (TRUE); voidpwm_set( uint32_t ChannelNum, uint32_t cycle, uint32_t offset ) if ( ChannelNum == 1 ) LPC_PWM1->MR0 = 40; LPC_PWM1->MR1 =offset; LPC_PWM1->LER = (1<<0); return;
27 voidpwm_start( uint32_t channelnum ) if ( channelnum == 1 ) LPC_PWM1->PCR = 0x00 ; LPC_PWM1->TCR = 0x x ;/*counter and PWM1.1 enable */ return; voidpwm_stop( uint32_t channelnum ) if ( channelnum == 1 ) LPC_PWM1->PCR = 0x00; LPC_PWM1->TCR = 0x00; /* Stop PWM1.1*/ return; voiddelay(int delay) int var,var1; for (var = 0; var < delay; ++var) for (var1 = 0; var1 < 1000; ++var1) intmain (void) uint32_t offset ; SystemClockUpdate(); if ( PWM_Init( 1, 0 )!= TRUE ) while( 1 ); offset=0; PWM_Set( 1, 40, offset ); PWM_Start( 1 ); while ( 1 ) offset+=5; DELAY(10000); if ( match_counter1!= 0 ) match_counter1 = 0; PWM_Set( 1, 40, offset ); if(offset==40) offset=0;
28 UYGULAMA-6 LPC1769 ve RÖLE UYGULAMASI Bu uygulamada bir adet röle kullanılıp anahtarlama yapıldı. P2.0 I/O su GPIO yani genel amaçlı input/output peripheral olarak kullanıldı. Uygulamaya ait video aşağıdaki linkte mevcuttur. Uygulamada birer adet transistör, diyot, röle ve led kullanılmıştır, bağlantı şeması aşağıdaki gibidir.
29 #include<cr_section_macros.h> #include<nxp/crp.h> CRPconstunsignedint CRP_WORD = CRP_NO_CRP ; #include"lpc17xx.h" #include"type.h" voiddelay(int delay); int counter=0; voiddelay(int delay) // Mikrodenetleyiciye 0 dan istenilen değere kadar saydırma yaptırılıyor. int var,var1; for (var = 0; var < delay; ++var) for (var1 = 0; var1 < 1000; ++var1) intmain (void) /* SystemClockUpdate() updates the SystemFrequency variable */ SystemClockUpdate(); LPC_GPIO2->FIODIR&= 0x00; LPC_GPIO2->FIODIR = 0x01 ; /* P2.0 ÇIKIŞ */ LPC_GPIO2->FIOCLR = 0x01 ; // lojik 0 yapıldı. while(1) LPC_GPIO2->FIOCLR = 0x01 ; // Röle bırakıyor. Led sönüyor. DELAY(10000); LPC_GPIO2->FIOSET = 0x01; ; // Led yanıyor. DELAY(10000);
30 UYGULAMA-7 LPC1769 ve RTC UYGULAMASI RTC (Real Time Clock), LPC1769 için 3 adet clock kaynağı mevcut. RTC donanımı doğrudan RTC osilatörünü kullanmaktadır. RTC bloğu 20 byte lık batarya beslemeli backup register ına sahiptir. Chip in enerji kaynağının kesilmesi durumunda sistem durumu bu registerlara aktarılabilir. Standart 3 V batarya kullanılabilir. Batarya voltajı 2.1 Volt un altına düşene kadar RTC çalışır.rtc interrupt u CPU yu herhangi bir power save moddan uyandırabilir. RTC nin belirli özellikleri aşağıda belirtilmiştir (UM10360.pdf, sayfa 558). Saniye,dakika,saat, ayın günü,yıl,haftanın günü ve yılın günü bilgilerini tutabilir. Batarya beslemeli çalışacağından çok düşük güç tüketimi vardır.batarya ile besleme de 1 ua den daha az tüketim. 32 khz ultra low power osilatör. RTC güç beslemesi chip in diğer kısımlarından izole edilmiştir. Belirlenen zamanalrda alarm interrupt ları oluşturulur. RTC 1 Hz dahili zaman referansı ile 32 khz lik bir osilatör kullanır. RTC donanım yapısı
31 RTC fonksiyonel blok şeması RTC biriminin ALARM register ları ile alarm bilgisi TIME register ları ile de zaman bilgisi tutulmaktadır. ALARM register ları ile zaman register ları birbirine eşit olduğu zaman interrupt oluşturulur. Ayrıca saniye,dakika,saat,ayın günü,haftanın günü,yılın günü,ay,yıl değişimlerinde de kesme oluşturulabilmektedir. ILR(Interrupt Location Register): RTCCIF(0.bit): Counter Increment Interrupt bloğu tarafından kesme oluşturulmuş ise bu bit set edilerek counter increment interrupt bayrağı silinir. voidrtc_irqhandler (void) LPC_RTC->ILR = 0x01; /* clear counter increment interrupt flag */ return; RTCALF(1.bit):Eğer alarm kesmesi oluşmuşsa bu bit set edilerekalarm interrupt bayrağı silinir. CCR(Clock Control Register): CLKEN(0.bit): RTCcounter ını aktif eder. 1 olduğunda counter aktif 0 olduğunda pasiftir.rtc nin başlaması için 1 olması gerekmektedir. /*--- Start RTC counters ---*/LPC_RTC->CCR = 0x01; CLKRST(1.bit):Counter ı resetlemeye yarar. Değeri 1 olduğunda counter resetlenir. /*--- Reset RTC counters ---*/ LPC_RTC->CCR = 0x02;
32 CIIR(Counter Increament Interrupt Register) Bu register sayesinde istenilen zaman dilimlerinde interrup oluşması sağlanabilir.bu register ın ilk 8 bitinden hangisi 1 yapılırsa o sürede 1 interrupt oluşur.örneğin 1.biti set edilerek her bir dakikada bir interrupt oluşturulur. LPC_RTC->CIIR = 0x01; CIIR register ve bitleri RTC_AUX(RTC_Auxililary Control Register) Bu registerın 4. biti RTC osilatörü fail durumunda ve RTC birimi ilk enerjilendiğinde 1 olur ve interrupt oluşturulur.interrupt durumunda 4.bit tekrar set edilerek interrupt bayrağı silinir. /* If RTC is stopped, clear STOP bit. */ if ( LPC_RTC->RTC_AUX& (0x1<<4) ) LPC_RTC->RTC_AUX = (0x1<<4); Diğer register lar için (UM10360.pdf, sayfa 558 den)itibaren inceleyiniz.
33 #include<cr_section_macros.h> #include<nxp/crp.h> // Variable to store CRP value in. Will be placed automatically // by the linker when "Enable Code Read Protect" selected. // See crp.h header for more information CRP constunsignedint CRP_WORD = CRP_NO_CRP ; #include"lpc17xx.h" #include"type.h" typedef struct uint32_t RTC_Sec; uint32_t RTC_Min; uint32_t RTC_Hour; uint32_t RTC_Mday; uint32_t RTC_Mon; uint32_t RTC_Year; uint32_t RTC_Wday; uint32_t RTC_Yday; RTCTime; /* Saniye*/ /* Dakika*/ /* Saat*/ /* Ayın gunu*/ /* Ay*/ /* Yıl*/ /* Haftanın gunu*/ /* Yılın gunu*/ void RTC_IRQHandler (void); void RTCInit( void ); void RTCStart( void ); void RTCStop( void ); void RTC_CTCReset( void ); void RTCSetTime( RTCTime ); RTCTime RTCGetTime( void ); RTCTime local_time; voidrtc_irqhandler (void) LPC_RTC->ILR = 0x01; /* interrupt bayrağını siliyoruz */ return; voidrtcinit( void ) LPC_SC->PCONP = (1 << 9);/* Enable RTC CLOCK */ if ( LPC_RTC->RTC_AUX& (0x1<<4) ) LPC_RTC->RTC_AUX = (0x1<<4); /* RTC durursa, stop biti sil. */ LPC_RTC->AMR = 0; //Alarm mask register LPC_RTC->CIIR = 0; //Counter Incremenet Interrupt register LPC_RTC->CCR = 0; //Clock Control Register return; voidrtcstart( void ) LPC_RTC->CCR = 0x01;/*--- RTC counter ı başlatıyoruz ---*/ LPC_RTC->ILR = 0x01; return; voidrtcstop( void ) LPC_RTC->CCR&= ~(0x01);/* counter ı durduruyoruz*/ return;
34 voidrtc_ctcreset( void ) /*--- Reset CTC ---*/ LPC_RTC->CCR = 0x02; return; voidrtcsettime( RTCTime Time ) LPC_RTC->SEC = Time.RTC_Sec; LPC_RTC->MIN = Time.RTC_Min; LPC_RTC->HOUR = Time.RTC_Hour; LPC_RTC->DOM = Time.RTC_Mday; LPC_RTC->DOW = Time.RTC_Wday; LPC_RTC->DOY = Time.RTC_Yday; LPC_RTC->MONTH = Time.RTC_Mon; LPC_RTC->YEAR = Time.RTC_Year; return; RTCTimeRTCGetTime( void ) RTCTime LocalTime; LocalTime.RTC_Sec = LPC_RTC->SEC; LocalTime.RTC_Min = LPC_RTC->MIN; LocalTime.RTC_Hour = LPC_RTC->HOUR; LocalTime.RTC_Mday = LPC_RTC->DOM; LocalTime.RTC_Wday = LPC_RTC->DOW; LocalTime.RTC_Yday = LPC_RTC->DOY; LocalTime.RTC_Mon = LPC_RTC->MONTH; LocalTime.RTC_Year = LPC_RTC->YEAR; return ( LocalTime ); intmain (void) /* SystemClockUpdate() updates the SystemFrequency variable */ SystemClockUpdate(); /* RTC modülü başlatıyoruz */ RTCInit(); local_time.rtc_sec = 0; local_time.rtc_min = 0; local_time.rtc_hour = 0; local_time.rtc_mday = 5; local_time.rtc_wday = 3; local_time.rtc_yday = 64; local_time.rtc_mon = 3; local_time.rtc_year = 2014; RTCSetTime( local_time ); /* Set local time */ NVIC_EnableIRQ(RTC_IRQn); LPC_RTC->CIIR = 0x02; /* Her bir dakikada interrupt oluşturulacak*/ RTCStart(); while (1) /*BU örnekte her bir dakikada interrupt oluşacak.interrupt durumunda yapmak istediğiniz işlemleri RTC_IRQHandler() interrupt fonksiyonu içerisinde yapabiliriz*/
35 UYGULAMA-8 LPC1769 ve 16*2 LCD UYGULAMASI 16x2 lcd uygulaması yapılmıştır.bu uygulamada sht11 sıcaklık ve nem sensöründen I2C üzerinden aktarılan bilgiler gerekli işlemlerden sonra lcd üzerinde gösterilmiştir.uygulamaya ait video aşağıdaki linkte mevcuttur. 16x2 LCD 4 bit bağlantı şeması CRP constunsignedint CRP_WORD = CRP_NO_CRP #include"lpc17xx.h" #include"core_cm3.h" #include<cr_section_macros.h> #include<nxp/crp.h> #include"stdio.h" #include<stdlib.h> #define RS_E (1<<5); //LCD Enable içinişlemciüzerinde GPIO 2.5 voidinitlcd(); voidwritetolcd(unsignedchar data,unsignedint instruction); voidwritetoscreen(unsignedchar data,unsignedint instruction); voidshifttowrite(); voidentertosecondline(); voidclearscreen(); voidlcd_gpio_configuration(void); volatileuint32_t timer0_counter; voidinit_timer( uint32_t timerinterval ); voiddelayms(uint32_t delayinms);
36 voidwritetolcd(unsignedchar data,unsignedint instruction) if(instruction==1) LPC_GPIO2->FIOSET =RS_E; else LPC_GPIO2->FIOCLR =RS_E; LPC_GPIO2->FIOCLR = 0x F; LPC_GPIO2->FIOSET =data; LPC_GPIO2->FIOSET = (1<<4); delayms(200); LPC_GPIO2->FIOCLR = (1<<4); voidshifttowrite() writetoscreen(0x14,0); //BoşlukBırakıyorum... voidentertosecondline() writetoscreen(0xc0,0); //AltSatıraGeçiyorum... voidclearscreen() writetoscreen(0x01,0);//clearing Screen... voidwritetoscreen(unsignedchar data,unsignedint instruction) if(instruction==1) LPC_GPIO2->FIOSET =RS_E; else LPC_GPIO2->FIOCLR =RS_E; unsignedchar temp=data; LPC_GPIO2->FIOCLR = 0x F; LPC_GPIO2->FIOSET =( temp >> 4 ); /*LCD 4 bit olarakçalıştırıldığıiçin data önce 4 bit sağa kaydırılıp en değerli 4 bit, daha sonra en değersiz 4 bit kullanılarak karakter yazdırılır.*/ LPC_GPIO2->FIOSET = (1<<4); delayms(200); LPC_GPIO2->FIOCLR = (1<<4); LPC_GPIO2->FIOCLR = 0x F; LPC_GPIO2->FIOSET = (data & 0x0F) ; LPC_GPIO2->FIOSET = (1<<4); delayms(200); LPC_GPIO2->FIOCLR = (1<<4);
37 voidlcd_gpio_configuration(void) LPC_GPIO2->FIODIR&= 0x ; LPC_GPIO2->FIODIR = 0x000000FF; //GPIO2'nin 0..7 portları ÇIKIŞ olarakatandı. LPC_GPIO2->FIOCLR = 0x000000FF; //GPIO2'nin 0..7 portlarılojik - 0 yapıldı. voidinitlcd() delayms(200); writetolcd(0x03,0); delayms(50); writetolcd(0x03,0); delayms(10); writetolcd(0x03,0); delayms(10); writetolcd(0x02,0); delayms(10); writetolcd(0x02,0); delayms(10); writetolcd(0x08,0); delayms(10); writetolcd(0x00,0); delayms(10); writetolcd(0x08,0); delayms(10); writetolcd(0x00,0); delayms(10); writetolcd(0x0f,0); delayms(10); writetolcd(0x00,0); delayms(10); writetolcd(0x06,0); delayms(10); writetolcd(0x00,0); delayms(10); writetolcd(0x01,0); delayms(10); writetolcd(0x00,0); delayms(10); writetolcd(0x02,0); delayms(10);
38 voidinit_timer (uint32_t TimerInterval ) timer0_counter = 0; LPC_TIM0->MR0 = TimerInterval; LPC_TIM0->MCR = 3; MR0*/ NVIC_EnableIRQ(TIMER0_IRQn); /* Interrupt and Reset on voiddelayms(uint32_t delayinms) LPC_TIM0->TCR = 0x02; /* reset timer */ LPC_TIM0->PR = 0x00; /* set prescaler to zero */ LPC_TIM0->MR0 = delayinms * ( / ); LPC_TIM0->IR = 0xff; /* reset all interrrupts */ LPC_TIM0->MCR = 0x04; /* stop timer on match */ LPC_TIM0->TCR = 0x01; /* start timer */ /* wait until delay time has elapsed */ while (LPC_TIM0->TCR& 0x01); return; intmain(void) int i; LCD_GPIO_Configuration(); //LCD için GPIO yönleriatandı. initlcd(); init_timer(10); delayms(1000); while(1) clearscreen(); unsignedchar waitcomment[16]="please WAIT..."; unsignedchar dotarray[16]="..."; for(i=0;i<16;++i) if(i==6) shifttowrite(); delayms(100); ++i; writetoscreen(waitcomment[i],1);//please WAIT yazdırılıyor delayms(100); entertosecondline(); for(i=0;i<16;++i) writetoscreen(dotarray[i],1);//ikinci satıra noktalar yazdırılıyor delayms(100); clearscreen();
39 1769 TABANLI KENDİ TASARIMIMIZ
Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş
Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş 29.11.2016 İÇERİK Arduino Nedir? Arduino IDE Yazılımı Arduino Donanım Yapısı Elektronik Bilgisi
Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması
MİKRODENETLEYİCİLER MCU Micro Controller Unit Mikrodenetleyici Birimi İşlemci ile birlikte I/O ve bellek birimlerinin tek bir entegre olarak paketlendiği elektronik birime mikrodenetleyici (microcontroller)
Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.
Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Açık kaynak nedir? Açık kaynak, bir bilgisayar yazılımının makina diline dönüştürülüp kullanımından
MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK
MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK 1.1 Programın Başlatılması 1.2 Yeni Proje Oluşturma 1.3 MCU Seçimi Yrd.Doç.Dr.Bülent Çobanoğlu 1.4 MCU Programlama Dil Seçimi 1.5 Proje İsmi
Code Composer Studio İndirilmesi ve Kurulması
BÖLÜM 2: 2.1. STELARIS KART GENEL BİLGİ VE CODE COMPOSER STUDIO: Code Composer Studio İndirilmesi ve Kurulması 1. Aşağıdaki linkten Code Composer Studio yu indirebilirsiniz: http://processors.wiki.ti.com/index.php/download_ccs
CNC MACH breakout board user manual V8 type
CNC MACH breakout board user manual V8 type 1 Catalogue CNC Router breakout board V8 type user manual... Hata! Yer işareti tanımlanmamış. 1) Brief introduction:...3 2) Breakout board drawing:...4 3) Wiring:...5
1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları
1. Ders Giriş Hazırlayan: Arş. Gör. Hakan ÜÇGÜN Mikroişlemcili Sistem Uygulamaları Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ ÇALIŞMASI PİC PROGRAMLAMA İLE BASİT UÇAK OYUNU MEHMET HALİT İNAN BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BAHAR 2014 KARADENİZ TEKNİK ÜNİVERSİTESİ
PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7
PROJE RAPORU Proje Adı: Pedalmatik Projemizle manuel vitesli araçlarda gaz, fren ve debriyaj pedallarını kullanması mümkün olmayan engelli bireylerin bu pedalları yönetme kolu (joystick) ile sol el işaret
STM32 ile Gömülü Yazılım Geliştirme - 1
STM32 ile Gömülü Yazılım Geliştirme - 1 STM32F10X ile Gömülü Yazılım Geliştirme konusuna hızlı bir giriş yapacağız, gerekli donanımlar ve geliştirme ortamının kurulumu ile başlayıp, basit bir uygulama
Giris {\} /\ Suhap SAHIN
Giris 0 {\} /\ Suhap SAHIN Kaynaklar http://users.ece.utexas.edu/~valvano/volume1/e-book/ Kaynaklar https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-02x Konular 1. 2. 3. 4. 5. 6.
Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları
Mikroişlemcili Sistem Uygulamaları 1. Ders Giriş Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim sağlamakla kalmıyor, müzik çalıyor,
İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30
VII 1 GİRİŞ 1 Gömülü Sistemler (Embedded Systems) 1 Kitap Hakkında 2 Kitap Kimler İçin? 2 Kitabı Takip Edebilmek İçin Gerekenler 3 Kitabın İçeriği ve Uygulamaları 4 2 ARM İŞLEMCISI VE MIKRO-DENETLEYICILER
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)
C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi. Apr 10,
C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi İçerik ARM Geliştirme Ortamı GPIO sürücüsü Seri Haberleşme Interrupt ve Callback UART SPI İşletim Sistemi(FreeRTOS) CAN SD Kart ve SDIO FAT dosya
Genel Kavramlar. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders Notları-2
Genel Kavramlar Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders Notları-2 ADC : Analog/Digital Converter ARM : Acorn RISC Machine CLK : Clock CPU : Central Processing Unit DAC : Digital / Analog
BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü
BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus
Bununla birlikte WiSeN sensör düğümü ile enerji, güvenlik, protokol vb. konularında birçok akademik çalışma gerçekleştirebilirsiniz.
WiSeN SENSÖR DÜĞÜMÜ Türkiye de ilk kez üretimi gerçekleştirilen, dünyadaki bulunan çeşitli sensör düğümlerden (TelosB, MicaZ vb.) daha üstün teknolojisi olan WiSeN Zigbee Kablosuz Sensör Düğümünü sizlere
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction
8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.
Bölüm 9: 8086 nın Bacak Bağlantısı ve İşlevleri 8086 & 8088 her iki işlemci 40-pin dual in-line (DIP) paketinde üretilmişlerdir. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit
FULMATIC 7 GÜMÜŞ SERİSİ PLC PLC KULLANMA KLAVUZU
FULMATIC 7 GÜMÜŞ SERİSİ PLC PLC KULLANMA KLAVUZU A. GENEL ÖZELLİKLER Fulmatic 7 - Gümüş Serisi PLC ler endüstrinin zorlu şartları göz önüne alınarak, otomasyon ihtiyaçlarına uygun olarak dizayn edilen
D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri
A: Access time : Erişim Zamanı Active High : Aktif Yüksek Active Low : Aktif Düşük Adress : Adres Address Bus : Adres Yolu Adress Decoding : Adres Kod Çözümü ALE : Adress Latch Enable Architecture : Mimari
BÖLÜM 2 8051 Mikrodenetleyicisine Giriş
C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 2 8051 Mikrodenetleyicisine Giriş Amaçlar 8051 mikrodenetleyicisinin tarihi gelişimini açıklamak 8051 mikrodenetleyicisinin mimari yapısını kavramak 8051
EasyPic 6 Deney Seti Tanıtımı
EasyPic 6 Deney Seti Tanıtımı Power supply voltage regulator J6 ile power supply seçimi yapılır. USB seçilirse USB kablosu üzerinden +5V gönderilir, EXT seçilirse DC connector üzerinden harici bir power
Mikroişlemciler. Microchip PIC
Mikroişlemciler Microchip PIC Öğr. Gör. M. Ozan AKI r1.1 Microchip PIC Mikrodenetleyiciler www.microchip.com Microchip PIC Mikrodenetleyiciler Microchip PIC Mikrodenetleyiciler Microchip PIC Mikrodenetleyiciler
4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.
MDS 8051 8051 AİLESİ DENEY SETİ 8051 Ailesi Deney Seti ile piyasada yaygın olarak bulunan 8051 ailesi mikro denetleyicileri çok kolay ve hızlı bir şekilde PC nizin USB veya Seri portundan gönderdiğiniz
DOKUMANLAR
DOKUMANLAR https://www.pickat.org Bu belgeyi yukarıdaki karekodu telefonunuza taratarak veya aşağıdaki linkten indirebilirsiniz. Link sürekli güncellenmektedir. https://drive.google.com/file/d/1wyi3ejzvge9vbu0ujklajnsjukbfldv/view?usp=sharing
Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)
2012 Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) İstanbul Yazılım ve Elektronik Teknolojileri 01.01.2012 MFM-200 Mifare Kart Yazıcı/Okuyucu Modül Genel Özellikler Ürün Kodu MFM-200 Protokol ISO14443A, ISO15693
LPC2104 Mikro Denetleyicisini KEIL İle Programlamak
LPC2104 Mikro Denetleyicisini KEIL İle Programlamak Program yazabilmek için öncelikle komutları tanımamız ve ne işe yaradıklarını bilmemiz gerekir. Komutlar yeri geldikçe çalışma içerisinde anlatılacaktır.
İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31
İÇİNDEKİLER 1. KLAVYE... 11 Satır ve Sütunlar...11 Devre Şeması...14 Program...15 PIC 16F84 ile 4x4 klavye tasarımını gösterir. PORTA ya bağlı 4 adet LED ile tuş bilgisi gözlenir. Kendiniz Uygulayınız...18
DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ
DENEY-2 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ 31 DENEY 2-1: YEDİ SEGMENT GÖSTERGE ÜZERİNDE VERİ GÖRÜNTÜLEME AMAÇ: Mikrodenetleyicinin portuna
Endüstri 4.0 ve Nesnelerin Interneti
Endüstri 4.0 ve Nesnelerin Interneti Endüstri 4.0 ve Nesnelerin Interneti Endüstri 4.0, teknolojilerin ve değer zinciri organizasyonları kavramlarının kolektif bir bütünüdür. (http://www.endustri40.com/endustri-tarihine-kisa-bir-yolculuk)
CPU ONE PLC KULLANMA KLAVUZU
CPU ONE PLC KULLANMA KLAVUZU A. GENEL ÖZELLİKLER CPU One endüstrinin zorlu şartları göz önüne alınarak, otomasyon ihtiyaçlarına uygun olarak tasarlanan yerli üretim programlanabilir kontrol cihazıdır.
Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.
Seri Port Ekranı Arduinoyu USB üzerinden bilgisayarımıza bağladığımızda aslında seri port bağlantısı yapmış oluyoruz. Bu seri port üzerinden hem bilgi alışverişi yapabilir hem de uç bağlantı noktasındaki,
INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM
INVT IVC1 -Kompakt Tip PLC Marketing 2014 HM Özelikler IVC1 Özelikleri Genişleme 128 IO 7 modül genişleme Haberleşme Arayüzü 2 seri port: 1xRS232, 1xRS232/485 Temel komut işlem Hızı 0.3μs Pulse Girişi
Adım Motoru: açıya adım. Şekil 8.2 tekyönlü. Lab 8. Siyah (A) Mavi ( B ) Kırmızı (B)
446 GÖMÜLÜ SİSTEM TASARIMI Adım Motoru 8.1 Amaç Bu laboratuvarda LauchPad a dışarıdan bağlanacak adım motorunun dönme yönünü ve hızını kontrol eden programın yazılımı verilecektir. 8.2 Gerekli Malzeme
Mikrokontrolcu Portları {\} /\ Suhap SAHIN
Mikrokontrolcu Portları 0 {\} /\ Suhap SAHIN Gelistirme Ortamının Kurulumu Sanal Makine Programı(VirtualBo) Sanal Makine Dosyasının Kurulumu(ubuntu-kouembedded-v20160217.ova) Virtualbo kurulumu https://www.virtualbo.org/
Alvemsis PLC Otomasyon çözümleri. ALVM 21A1 Versiyon: 20015.02 PLC Tip: ALVM 21A1 Traih: 15.02.2015
Alvemsis PLC Otomasyon çözümleri. ALVM 21A1 Versiyon: 20015.02 PLC Tip: ALVM 21A1 Traih: 15.02.2015 SN:0000001 TEKNİK ÖZELLİKLER Adı Adet Lojik Çıkış (Transistor) Output 8 12..24VDC (Her Çıkış 3 Amp) (8
TUŞ TAKIMI (KEYPAD) UYGULAMALARI
12. Bölüm TUŞ TAKIMI (KEYPAD) UYGULAMALARI Tuş Takımı (Keypad) Hakkında Bilgi Tuş Takımı Uygulaması-1 74C922 Tuş Takımı Enkoder Entegresi Tuş Takımı Uygulaması-2 (74C922 İle) Bu bölümde tuş takımı diğer
EAGLE KÜTÜPHANE OLUŞTURMA
1 EAGLE mühendislik EAGLE KÜTÜPHANE OLUŞTURMA Merhaba Arkadaşlar, sizlerle bu yazımda bir PCB-Dizayn programı olan EAGLE da sıfırdan kütüphane oluşturmayı anlatmaya çalışacağım. Eagle bilindiği üzere iki
LCD (Liquid Crystal Display )
LCD (Liquid Crystal Display ) Hafif olmaları,az yer kaplamaları gibi avantajları yüzünden günlük hayatta birçok cihazda tercih edilen Standart LCD paneller +5 V ile çalışır ve genellikle 14 konnektor lü
Data Structures Lab 1 2012-Güz
Data Structures Lab 1 2012-Güz C# Ortamı Tanıtımı ve Uygulama Geliştirilmesi Visual Studio 2010 Ortamının Temini -NYG'ndan MSDN üyeliği için başvuru dilekçesi alınıp doldurulmalı ve yine NYG'ye teslim
DSPIC30F2010 ASSEMBLER PROGRAMI İÇERİSİNDE KONFİGÜRASYON BİTLERİNİ TANIMLAMA
HAZIRLAYAN: Ramazan Muhammet TULAY DSPIC30F2010 ASSEMBLER PROGRAMI İÇERİSİNDE KONFİGÜRASYON BİTLERİNİ TANIMLAMA BU ÇALIŞMA, DSPIC30F2010 VEYA HERHANGİBİR DSPIC MİKRODENETLEYİCİSİNİ ASSEMBLER İLE PROGRAMLARKEN,
KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ
KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Nesneye Yönelik Programlama C++ ile Beaglebone Black de Bluetooth Haberleşmesi Danışman: Yrd. Doç. Dr. Mehmet YAKUT Sinan
Sistem Programlama Deney 1
Sistem Programlama Deney 1 Deney başlamadan önce deney grubu listenizi aşağıdaki dokümana yazınız: https://docs.google.com/spreadsheets/d/1gxplmgkkfwlutcvn9_its7tt rcwuzkqfnwhlpfdodhw/edit?usp=sharing
Proje Teslimi: 2013-2014 güz yarıyılı ikinci ders haftasında teslim edilecektir.
ELEKTRONĐK YAZ PROJESĐ-2 (v1.1) Yıldız Teknik Üniversitesi Elektronik ve Haberleşme Mühendisliği Bölümünde okuyan 1. ve 2. sınıf öğrencilerine; mesleği sevdirerek öğretmek amacıyla, isteğe bağlı olarak
İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı
İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı EK-A IDE, Program Geliştirme Araçları Geliştirme Araçları Keil C51 Yazılımı Geliştirme Araçları ISIS Programı ISIS/Proteus programı:
EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ
EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ Örnek 1: Kara Şimsek (İki LED) Soru: MSP430 LaunchPad te buluna iki LED i birer saniye aralıklarla sırayla yakıp söndüren programı yazınız. Kara Şimsek
İşletim Sistemlerine Giriş
İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir
HSancak Nesne Tabanlı Programlama I Ders Notları
Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.
Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;
Bu e kitapta infrared iletişim protokolleri ile ilgili basit bir uygulamayı anlatmaya çalışacağım. Bunu yine bir mikrodenetleyici ile yapmamız gerekecek. Siz isterseniz 16f628a yı ya da ccp modülü olan
7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması
7. Port Programlama Şekil 2.1. Atmega16 mikrodenetleyici pin şeması A, B, C ve D portları için Register yapıları benzer şekildedir. -42- 7.1. Port Yönlendirme Mikrodenetleyicinin A, B, C, D ve varsa diğer
1S Servolarda Safety Over Ethercat (FSoE) İÇİNDEKİLER Giriş FSoE Protokolü hakkinda FSoE Aktivasyonu ve konfigürasyonu FSoE Safety Programı
1S Servolarda Safety Over Ethercat (FSoE) İÇİNDEKİLER Giriş FSoE Protokolü hakkinda FSoE Aktivasyonu ve konfigürasyonu FSoE Safety Programı 1.Giriş 1S servolar EtherCAT ağı üzerinden güvenlik haberleşmesini
DENEY 10-A : PIC 16F877 ile DARBE GENİŞLİK MODÜLASYONU (PWM) SİNYAL KONTROL UYGULAMASI
DENEY 10-A : PIC 16F877 ile DARBE GENİŞLİK MODÜLASYONU (PWM) SİNYAL KONTROL UYGULAMASI AMAÇ: 1. Mikrodenetleyici kullanarak Darbe Genişlik Modülasyonu (PWM) sinyal üretilmesini öğrenmek 2. EasyPIC7 setinde
Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.
Melih Hilmi ULUDAĞ Yazılım Mühendisi Mekatronik Mühendisi www.melihhilmiuludag.com a aittir. ÖZET Teknolojiyi kısaca bilimsel bilgiden yararlanarak yeni bir ürün geliştirmek, üretmek ve hizmet desteği
PSoC 1 ile Elektronik Uygulamaları için Deney Seti Tasarımı ve Gerçekleştirilmesi
6 th International Advanced Technologies Symposium (IATS 11), 16-18 May 2011, Elazığ, Turkey PSoC 1 ile Elektronik Uygulamaları için Deney Seti Tasarımı ve Gerçekleştirilmesi K. Cüneray 1, M.R. Canal 2
V Daq Kurulum adımları
V Daq Kurulum adımları 1. Kurulum dosyasının indirilmesi 2. Kurulum işlemleri 3. Seri port ayarlamaları 4. Kurulum klasörünün Matlab yoluna eklenmesi 5. Kurulu değil ise real time çekirdeğinin kurulması
B.Ç. / E.B. MİKROİŞLEMCİLER
1 MİKROİŞLEMCİLER RESET Girişi ve DEVRESİ Program herhangi bir nedenle kilitlenirse ya da program yeniden (baştan) çalıştırılmak istenirse dışarıdan PIC i reset yapmak gerekir. Aslında PIC in içinde besleme
HESAP MAKİNASI YAPIMI
HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan
T.C. RC SERVO MOTOR KONTROLÜ
T.C. BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ RC SERVO MOTOR KONTROLÜ İBRAHİM ALİ METİN BİLECİK 30 Mart 2015 T.C. BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK
DC motorların sürülmesi ve sürücü devreleri
DC motorların sürülmesi ve sürücü devreleri Armatür (endüvi) gerilimini değiştirerek devri ayarlamak mümkündür. Endüvi akımını değiştirerek torku (döndürme momentini) ayarlamak mümkündür. Endüviye uygulanan
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor
Oluşturmak istediğimiz OU ye bir isim veriyoruz. Name kısmına ISTANBUL yazıyoruz,
ORGANİZATİONAL UNİT (OU) OrganizationUnit(OU): Türkçe Yapısal Birim olarak adlandırılan ve merkezi yönetimimizi kolaylaştıran bir objedir. Organizational Unit domain içerisindeki kullanıcı, group ve bilgisayarları
FRENIC MULTİ ÖZET KULLANIM KLAVUZU
FRENIC MULTİ ÖZET KULLANIM KLAVUZU GENEL BİLGİLER SÜRÜCÜ KONTROL BAĞLANTILARI PLC 24 VDC CM DİJİTAL GİRİŞ COM UCU FWD REV X1 X5 EN DİJİTAL GİRİŞLER ( PNP / NPN SEÇİLEBİLİR ) ENABLE GİRİŞİ SW1 Y1 Y2 DİJİTAL
MODBUS MODÜL. Mekanik sayaçların tüketimlerinin sayılıp kaydedilmesi.
MODBUS MODÜL Modbus modül; bobinli okumaya uyumlu Baylan mekanik su sayaçlarının tüketim degerlerini saymak için tasarlanmıştır. Sayılan tüketim degerleri modül hafızasına kaydedilir ve Modbus haberleşeme
MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş
MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü [email protected] Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101
DCAS NGP operatör panel
operatör panel 8739-70 OPERATÖR PANEL 8739-71 PLC MINI OPERATÖR PANEL 4 Adet PNP Input 2 Adet Relay Output 8739-72 PLC MINI II OPERATÖR PANEL 6 Adet PNP Input 4 Adet Relay Output 2 Adet NPN - PNP HSC Input
NX Safety CPU ya Acil Stop Butonu Bağlantısı
NX Safety CPU ya Acil Stop Butonu Bağlantısı İÇİNDEKİLER Giriş Sysmac Studio da I/O Modüllerinin Tanımlanması Eklenen Modüllerin Programlanması Programın Safety Cihazına Gönderilmesi Grş Bu dökümanda NX
Ardunio ve Bluetooth ile RC araba kontrolü
Ardunio ve Bluetooth ile RC araba kontrolü Gerekli Malzemeler: 1) Arduino (herhangi bir model); bizim kullandığımız : Arduino/Geniuno uno 2) Bluetooth modül (herhangi biri); bizim kullandığımız: Hc-05
EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ
EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ 1 Mikrodenetleyici Anatomisi Çevre Birimler (Peripherals) Timers Watchdog Timer Program sonsuz döngüye girdiğinde işlemciyi resetler İletişim Arayüzleri
7. Bölüm Robot Programlamada Mantıksal Fonksiyonlar
7. Bölüm Robot Programlamada Mantıksal Fonksiyonlar 7. Bölüm: Mantıksal Fonksiyonlar 7.1. Mantıksal Programlamanın Temelleri Endüstriyel Robot sisteminde çevre birimlerle olan iletişimin sağlanmasında
FRENIC MEGA ÖZET KULLANIM KLAVUZU
FRENIC MEGA ÖZET KULLANIM KLAVUZU GENEL BİLGİLER SÜRÜCÜ KONTROL BAĞLANTILARI PLC 24 VDC CM DİJİTAL GİRİŞ COM UCU FWD REV DİJİTAL GİRİŞLER ( PNP / NPN SEÇİLEBİLİR ) SW1 X1 - X7 EN ENABLE GİRİŞİ Y1 - Y4
Timer. Suhap SAHIN {\} /\
Timer Suhap SAHIN 0 {\ /\ clock clock Phase-Lock-Loop (Faz-Kilit-Döngü) 400 MHz Faz-Kilit-Döngü ARM mikrodenetleyiciler Faz-Kilit-Döngüleri (PLL'ler) ile donatılmıstır. Tiva kartı, dahili bir 400 MHz PLL
DENEY-7. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ
DENEY-7 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ MİKRODENETLEYİCİLERDE ANALOG DİJİTAL DÖNÜŞTÜRÜCÜ Doğada bulunan tüm sistemler analog düzendedir.
MODBUS MODÜL. Mekanik sayaçların tüketimlerinin sayılıp kaydedilmesi.
MODBUS MODÜL Modbus modül; bobinli okumaya uyumlu Baylan mekanik su sayaçlarının tüketim degerlerini saymak için tasarlanmıştır. Sayılan tüketim degerleri modül hafızasına kaydedilir ve Modbus haberleşeme
Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...
3.1 AMAÇ: Assembly programlama dili kullanarak mikrodenetleyici portlarını giriş olarak kullanmak. GİRİŞ: Bir portun giriş olarak mı yoksa çıkış olarak mı kullanılacağını belirten TRIS kaydedicileridir.
STM32F4 Kiti ile Simulink Tabanlı Kontrol Eğitimi Uygulamaları Geliştirme
TOK 2014 Bildiri Kitabı 11-13 Eylül 2014, Kocaeli STM32F4 Kiti ile Simulink Tabanlı Kontrol Eğitimi Uygulamaları Geliştirme Tuğçe Yaren, Volkan Süel, Yasin Yeniaydın, Burak Sakacı, Selçuk Kizir Mekatronik
SICAK VE SOĞUK ETĐKET VE BOY KESME MAKĐNASI KULLANIM KILAVUZU
ELITE A.G. JM-110LRE SICAK VE SOĞUK ETĐKET VE BOY KESME MAKĐNASI KULLANIM KILAVUZU ANA EKRAN Makinenin şalteri açıldığında 5 sn boyunca açılış ekranı gelir. Daha sonra ana ekrana geçilir. Bu ekranda yardımcı
PIC Mikrodenetleyicileri
PIC Mikrodenetleyicileri Intel 1976 da 8031/51 ailesini piyasaya sürdüğünde dünyanın en popüler mikroişlemcisi olmuştu. Bu işlemci dünya üzerinde 12 den fazla firma tarafından (İntel, Phillips, Dallas,
Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi
Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini
BQ370-02 Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: 1.0 03.05.2016 BQTEK
Modbus Analog Giriş Kartı 6 Kanal 4 20mA Kullanım Kılavuzu Doküman Versiyon: 1.0 03.05.2016 BQTEK İçindekiler İçindekiler... 2 1. Cihaz Özellikleri... 3 2. Genel Bilgi... 3 1. Genel Görünüm... 4 2. Cihaz
PIC 16F877A ile DA MOTOR KONTROLLÜ ROBOT UYGULAMASI DC MOTOR CONTROLLED ROBOT APPLICATION WITH USING PIC 16F877A
PIC 16F877A ile DA MOTOR KONTROLLÜ ROBOT UYGULAMASI DC MOTOR CONTROLLED ROBOT APPLICATION WITH USING PIC 16F877A Recep AYRANCI, ÇANKIRI KARATEKĐN ÜNĐVERSĐTESĐ, ÇANKIRI Bayram BEDER, ÇANKIRI KARATEKĐN ÜNĐVERSĐTESĐ,
BİLGİSAYAR BİLİMİ DERSİ (KUR-2)
BİLGİSAYAR BİLİMİ DERSİ (KUR-2) ROBOT PROGRAMLAMA 2.1.1. Robot Mimarisi 2.1.2. Robot Türleri ve Eğitsel Amaçlı Robotlar 2.1.3. Eğitsel Robotta Mekanik Bileşenler 2.1.4. Eğitsel Robotta Elektromekanik Bileşenler
ATBRFN. Radyo Frekansı (RF) Tabanlı Dorse Takip Birimi. Bilgi Dokümanı (ATBRFN) www.dtsis.com 1
Radyo Frekansı (RF) Tabanlı Dorse Takip Birimi (ATBRFN) Bilgi Dokümanı www.dtsis.com 1 İçindekiler 1. Genel Tanım... 3 2. Sistem Tanımı... 4 2.1. Master Cihaz... 4 2.1.1. Blok Diyagram... 4 2.1.2. Teknik
BÖLÜM 23 TD 200... F8 F4 SHIFT ESC ENTER M1.7 M1.6 M1.5 M1.4 M1.3 M1.2 M1.1 M1.0 F8 F7 F6 F5 F4 F3 F2 F1. Shift + F1
BÖLÜM 23 231 -TD 200 ( OPERATÖR PANEL) KULLANIMI TD 200 operatör paneli; PLC' ye mesaj göndermek, PLC' de daha önce yüklenmiş olan mesajları almak, analog işlemli projelerde ısı, nem, gaz, ışık gibi değerleri
DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik
DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ İçerik Mikroişlemci Sistem Mimarisi Mikroişlemcinin yürüttüğü işlemler Mikroişlemci Yol (Bus) Yapısı Mikroişlemci İç Veri İşlemleri Çevresel Cihazlarca Yürütülen İşlemler
SysTick Kesmesi. Suhap SAHIN {\} /\
SysTick Kesmesi Suhap SAHIN {\ /\ Mesgul Bekleme islem_1 islem_2 islem_3 islem_4 islem_5 Seven Segment Buton Led Seven Segment Buton Led Cortex M4 8 32k RAM GPIO Port B GPIO Port A 8 Eight UARTs Four I2Cs
DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI
AMAÇ: DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI 1- Mikrodenetleyici kullanarak sıcaklık ölçümünü öğrenmek EasyPIC7 setinde LM-35 kullanılarak analog giriş yaptırılması Sıcaklığın LCD
NES DC.DRV.200 Tanıtım Dokümanı
NES DC.DRV.00 Tanıtım Dokümanı 10.08.016 Giri Tasarım ve yazılım faaliyetleri tamamen yerli olarak firmamız tarafından gerçekle tirilen Endüstriyel DC motorlar için geli tirilmi mikroi lemci kontrollü
1. LabVIEW ile Programlama
1. LabVIEW ile Programlama LabVIEW ile programlama mantığı, program kodu yazılan programlama mantığına benzemekle birlikte, kontrol adı verilen nesneler arasında veri yolu bağlantısı ile program akışı
İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.
İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. Programların ve donanımların kullanılması için bir çalıştırılması platformu oluşturur. Sistemin yazılım
Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say
İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input
Keyestudio SHT31 Temperature and Humidity Module / SHT31 Sıcaklık ve Nem Modülü
Keyestudio SHT31 Temperature and Humidity Module / SHT31 Sıcaklık ve Nem Modülü Overview / Genel Bakış This module mainly uses the SHT31 temperature and humidity sensor, which belongs to the SHT3X series
LAB 0 : Xilinx ISE Kullanımı
LAB 0 : Xilinx ISE Kullanımı 1. Proje Yaratma a. Xilinx ISE programını açınız. b. File à New Project menüsünü seçiniz. New Project Wizard diyalog penceresi açılacaktır. c. New Project Wizard diyalog penceresinde
Linux Assembly Programlamaya Giriş
Linux Assembly Programlamaya Giriş Barış Metin Konular gcc / gas / ld Intel ve AT&T söz dizimleri gdb INT 80H C kütüphane fonksiyonları Stack Frame Örnek
EEM 419-Mikroişlemciler Güz 2017
EEM 419-Mikroişlemciler Güz 2017 Katalog Bilgisi : EEM 419 Mikroişlemciler (3+2) 4 Bir mikroişlemci kullanarak mikrobilgisayar tasarımı. Giriş/Çıkış ve direk hafıza erişimi. Paralel ve seri iletişim ve
void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.
ARDUİNO PROGRAMLAMA fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. fonksiyonu: Diğer programlama dillerinden alışık olduğumuz
İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ
İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ 8259 PIC (Programmable Interrupt Controller) ve 8086 CPU tümleşik devrelerin sinyal akışı
Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek
Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek 1 Adet Arduino Uno 1 Adet Hc-Sr04 Ultrasonik mesafe sensörü 1 Adet 16 2 Lcd Ekran 1 Adet Breadbord 1 Adet Potansiyometre 2 Ader led Yeteri
8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:
8051 Ailesi 8051 MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur. 8051 çekirdeğinin temel özellikkleri aşağıda verilmiştir: 1. Kontrol uygulamaları için en uygun hale getirilmiş
