Kudret hocamın verdiği cevap üzerine bize söz düşmez ama affına sığınarak fikirlerimi paylaşmak istedim...
Bir öğrencinin en kolay öğrenebileceği programlardan diye düşündüğüm basic dili ile bu iş çok kolay bir şekilde bilgisayar tarafını halletmemize olanak sağlayacaktır...
Şu an visual studio adı altında bulunan program ile yapılabileceği gibi ben daha kolay olsun açısından sizlere visual basic 6.0 ı tavsiye ediyorum....
Pic kısmı ise biraz sıkıntı oluşturabilir şöyle ki bazı pic lerin içinde adc işlemi gömülü olarak var iken bazılarında adc işlemi gömülü olmuyor bu yüzden mcp3204 gibi yada adc0804 gibi adc entegrelerini kullanmak zorunda kalıyorsunuz.Fakat hem bilgisayar ile haberleşecek hem adc işlemi yapacak bir komplike sistemi yapmak istiyorsanız pic içinde çok yük olmaması için dışardan adc ile ışık şiddetini ölçüp bilgisayara yönlendirip yine pic ile pwm tarzı bir sinyal ile triyak tetikleterek ışığın şiddetini ayarlama olasılığınız daha kararlı çalışsın diye uygulanabilir...
Burada size bazı dosyalar paylaşmak istiyorum bu dosyaların içinde visual basic 6.0 programı ile yazılmış bir arayüz programı bulacaksınız bu arayüz programı aslında hiç bir işe yaramayacak
sadece pic ile bilgisayar arasında gerekli olan visual basic komutlarını göreceksiniz ve bu komutlar ile kendi arayüz programınızı kendiniz istediğiniz şekilde yapabileceksiniz özellikle belirteyim ki bu program denenmiş çalışan bir programdır...
Yine bu dosyanın içinde bu arayüz programı ile uyumlu pic16F877A için yazılı birde pic programı bulacaksınız bu pic programında da visual basic ile yazılmış arayüz programında da bütün komutlar açık kaynak kodları ile mevcuttur...
Pic programı proton basic ile yazılmış arayüz programı dediğim gibi visual basic ile yazılmıştır.Çalışan problemi olmayan bir program olup denenmiştir.
Aynı zamanda pic ile bilgisayarın haberleşebilmesi için gerekli olan devre şemalarını da bu dosyanın içinde bulabileceksiniz.Bu devrelerde yine vereceğim bütün programlar ile uyumludur...Fakat kesinlikle yanlış yapılmadan dolayı mesuliyet kabul etmem
En önemli olay ise bu programlar normal seri portu olan bilgisayarlarda hiç bir sorun olmadan çalışabilirken seri portu olmayan laptoplarda hata vermektedir peki ne yapmamız gerekir derseniz USB yi COM portuna çeviren piyasada rahatlıkla bulabileceğiniz ara eleman ile bu sorunu da ortadan kaldırarak sisteminizi laptop ile çalıştırabilirsiniz...
MCP 3204 için gerekli programı da aynı zamanda paylaşacağım fakat bunuda denedim çalışıyor tek sorun ise bu program bana ait değildir bir başka abim yazdı bizde kafa yormadan kullanıyoruz o programı yazan abim olan murat mert'e saygılarımı sunuyorum...
En basit hali ile seri port adlı çalışmamın linkleri:
https://www.kontrolkalemi.com/forum/attachments/en-basit-hali-ile-seri-port-rar.16340/
https://www.kontrolkalemi.com/forum/pic-programlama/10292-pic-seri-port-kontrolu-projesi-buyrun.html
MCP3204 :
Device 16F877A
Config HS_OSC,WDT_OFF,PWRTE_OFF,BODEN_OFF,LVP_OFF,CPD_OFF,WRT_OFF,DEBUG_OFF,CP_OFF
ALL_DIGITAL=true
ADCON1=7
TRISB=0
PORTB=0
XTAL = 20
DelayMS 50
Declare LCD_DTPORT PORTB
Declare LCD_DTPIN PORTB.4
Declare LCD_ENPIN PORTB.3
Declare LCD_RSPIN PORTB.2
Declare LCD_INTERFACE 4
Declare LCD_LINES 2
Symbol CLK=PORTC.0
Symbol DIN=PORTC.2
Symbol DOUT=PORTC.1
Symbol CS=PORTC.3
DelayMS 500
Print At 1,1,"unal_ozcitak"
Print At 2,1,"murat yagci"
DelayMS 1000
Print $fe,1
Dim ADC As Word
Dim BILGI As Word
Dim BILGI1 As Word
Dim BILGI2 As Word
Dim BILGI3 As Word
Dim SOR As Byte
BASLA:
High PORTB.1
DelayMS 10
Low PORTB.1
SOR=24
GoSub MCP3204
BILGI = ADC
SOR=25
GoSub MCP3204
BILGI1 = ADC
SOR=26
GoSub MCP3204
BILGI2 = ADC
SOR=27
GoSub MCP3204
BILGI3 = ADC
Print At 1,1, "B:", Dec BILGI," "," ","B1:",Dec BILGI1," "
'Print At 2,1, "B1:", Dec BILGI1," "
Print At 2,1, "B2:", Dec BILGI2," "," ","B3:", Dec BILGI3," "
'Print At 4,1, "B3:", Dec BILGI3," "
DelayMS 10
GoTo BASLA
MCP3204:
Low CS
SHOut DIN, CLK,msbfirst, [SOR\5]
DelayMS 5
SHIn DOUT,CLK,msbpost,[ADC\13]
High CS
DelayUS 51
Return
Bu da farklı bir örnek olabilir...