Merhaba arkadaşlar bugün sizlerle yeni bir proje paylaşacağım.Bu projeyi Ö.Faruk Özgüven
hocam ile birlikte gerçekleştirdik.Hocama çok teşekkür ederim.Bu projede EasyPic Fusion v7 geliştirme kitini kullandık.EasyPic Fusion v7 kiti PIC32MX795F512L işlemcisine sahiptir.Bu kit üzerinde 320x240px TFT ekran bulunmaktadır. Projemizde TFT ekran üzerinde bir grafik oluşturarak osiloskop yaptık. TFT'nin pic32 ile bağlantıları belirli pinler üzerinden yapılmıştır. EasyPic Fusion v7 kitinde analog giriş birimi de mevcuttur.Bize düşen ise sadece programı yazmak ve pic32 işlemcimizi programlayıp kiti çalıştırmaktır.
PIC32MX795F512L'nin pin konfigürasyonu aşağıdadır.
Programı mikroc ile yazdık.
//////
//////
Programımız da bu şekildedir.
Projemizin çalışır hali aşağıdadır.
hocam ile birlikte gerçekleştirdik.Hocama çok teşekkür ederim.Bu projede EasyPic Fusion v7 geliştirme kitini kullandık.EasyPic Fusion v7 kiti PIC32MX795F512L işlemcisine sahiptir.Bu kit üzerinde 320x240px TFT ekran bulunmaktadır. Projemizde TFT ekran üzerinde bir grafik oluşturarak osiloskop yaptık. TFT'nin pic32 ile bağlantıları belirli pinler üzerinden yapılmıştır. EasyPic Fusion v7 kitinde analog giriş birimi de mevcuttur.Bize düşen ise sadece programı yazmak ve pic32 işlemcimizi programlayıp kiti çalıştırmaktır.
PIC32MX795F512L'nin pin konfigürasyonu aşağıdadır.
//////
#include "resources.h" void Init() { AD1PCFG = 0xFFFE; // Configure AN pins as digital I/O JTAGEN_bit = 0; // Disable JTAG TFT_BLED_Direction = 0; // Set TFT backlight pin as output TFT_Set_Default_Mode(); TFT_Init_ILI9341_8bit(320,240); TFT_BLED = 1; // Turn on TFT backlight TRISB0_bit = 1; // Set PORTB.B0 as input } void DrawFrame(){ TFT_Fill_Screen(CL_WHITE); TFT_Set_Pen(CL_BLACK, 2); } void Draw1(){ TFT_Set_Pen(CL_RED, 3); TFT_Line(30, 230, 300, 230); //girilen iki(x,y) noktası arasına çizgi çizer TFT_Line(30, 230, 30, 10); TFT_Set_Font(&Verdana12x13_Regular, CL_BLUE, FO_HORIZONTAL); TFT_Write_Text("3.3-", 7, 3); TFT_Write_Text("3 -", 16, 23); TFT_Write_Text("2.7-", 7, 43); TFT_Write_Text("2.4-", 7, 63); TFT_Write_Text("2.1-", 7, 83); TFT_Write_Text("1.8-", 7, 103); TFT_Write_Text("1.5-", 7, 123); TFT_Write_Text("1.2-", 7, 143); TFT_Write_Text("0.9-", 7, 163); TFT_Write_Text("0.6-", 7, 183); TFT_Write_Text("0.3-", 7, 203); TFT_Write_Text("0 -", 16, 223); } void main() { unsigned long Y,Z,x; Init(); ADC1_Init(); do { DrawFrame(); Draw1(); for(x=30;x<320;x++) { Y = ADC1_Get_Sample(0);//ADC modülünün 0.kanalını okur Y değişkenine atar. delay_ms(5); Z= ADC1_Get_Sample(0);//ADC modülünün 0.kanalını okur Z değişkenine atar. TFT_Line(x,(230-Y/4.654),x+1,(230-(Z/4.654))); } } while(1); }
//////
Programımız da bu şekildedir.
Projemizin çalışır hali aşağıdadır.
İlgilenen arkadaşlara kolay gelsin.Başarılar dilerim...
Hiç yorum yok:
Yorum Gönder