Yayınlar

Ekim, 2019 tarihine ait yayınlar gösteriliyor

adc okuma referans alma yöntemi dijital filtre

Resim
adc okuma dijital filtre Bir işlemcinin adc pinlerinden okuma yaparken 1 ölçüm yerine 15-20 ölçüm alıp ortadaki değerleri değerlendirmek daha doğru sonuçlar almamızı sağlayacaktır. Etepic forumunda rast geldiğim adc okuma yöntemi basic formunda ama diğer dillere de çevrilebilir.  Önemli olan mantığı kavramak. Ete hoca yine püf noktaları anlatmış. Örnekler aşağıdadır: PIC BASIC PRO ÖRNEĞİ: HAM VAR WORD TOPLAM VAR WORD OKUNAN VAR WORD[20] TEMP VAR WORD I VAR BYTE PAUSE 200 BASLA: FOR I=0 TO 19     ADCIN 0,HAM     OKUNAN[I]=HAM     PAUSEUS 10 NEXT TOPLAM=0  FOR I=7 TO 12 TEMP=OKUNAN[I] TOPLAM=TOPLAM+TEMP NEXT HAM=TOPLAM/6 PROTON BASİC ÖRNEĞİ: Dim VAR1 As Word Dim I1 As Word Dim OK1 As Word Dim TO1 As Word Dim TEMP1 As Word For I1 = 0 To 19     VAR1 = ADIn 0     VAR1 = OK1[I1]      DelayUS 10 Next TO1 = 0  For I1 = 7 To 12 TEMP1 = OK1[I1] TO1 = TO1 + TEMP1 Next VAR1 = TO1 / 6 Bu sistemin avantajı, okumanın daha stabil olduğu ortalardan belirli bir sayıdaki okuma adedini dizi içinden

en büyük en küçük sayıyı bulma kodu c basic

Resim
Bazı değerleri karşılaştırmak istediğinizde kullanabileceğiniz örnek C ve basic kodları aşağıdadır: Basic: Dim sayi1 as integer =12456 Dim sayi2 as integer =12245 Dim sayi3 as integer =13456 Dim sayi4 as integer =12411 Dim kontrol as integer = sayi1 if sayi2 < kontrol then kontrol = sayi2 if sayi3 < kontrol then kontrol = sayi3 if sayi4 < kontrol then kontrol = sayi4 print kontrol C: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Dört_Sayıdan_En_Büyüğü {     class Program     {         static void Main(string[] args)         {             //Kullanıcının klavyeden girdiği dört sayıdan büyük olanının hangisi             //olduğunu ekrana yazan C# console programını yazın.                       int kontrol,sayi1,sayi2,sayi3,sayi4;             Console.Write("1. Sayıyı Giriniz:");             sayi1 = Convert.ToInt16(Console.ReadLine());             Console.Write("2. Sayıyı Giriniz:

HMC5883L HMC5983 pusula devresi proton basic

Resim
Proton basic compass code Bir süredir HMC5883L pusula modülü ile çalışmalar yapıyorum, bunları paylaşmamın doğru olacağını düşündüm. Öncelikle piyasada FAKE olarak adlandırabileceğimiz modüller mevcut. Bu modüllerin chip üzerinde hmc önünde DB veya DA ibaresi mevcut. Bu db ve da ile üretilen modellerin kalibre ve bir takım işlemlerle çalıştığı söyleniyor ama çalışan sağlam modül varken kimse bu işle uğraşmak istemez. Paylaştığım kod hem HMC5883 hem de HMC5983 ile çalıştığını da belirteyim. Daha önce aynı modül için CCS C kodu paylaşmıştım. Onu da kullanabilirsiniz. Eğer orjinal HMC5883L  bulamazsanız HMC5983L veya basınç sensörü barındıran HMC5983L+BMP180 kullanabilirsiniz. Ayrıca manyetik sapma koda ilave edilmeli. Dünyadaki her yerin manyetik sapma değeri farklı oluyor. Ve bu değere her yıl 6 dakika eklemek gerekiyor. Manyetik sapma değerlerini aşağıdaki linkten öğrenebilirsiniz: http://www.magnetic-declination.com/ Not: Pusula sensörü 45 derece altı eğimde hatalı ölç

proton basic pic18f2550 config setting ayarları

Resim
pic18f2550 proton basic config Proton basic son sürümünü kullanmak istediğimde pic18f2550 için bazı sıkıntılarla karşılaştım. Eski proton basic versiyonunda config ayarlamaları derleyici tarafından yapılırken 3.7.2.8 versiyonunda biraz uğraştırıcı oluyor. Neyseki etepic forumunda ete hocanın pic basic pro için hazırladığı pic18f2550 config ayarları yardımıma yetişti ve aşağıdaki listeyi oluşturabildim. Bu listenin altında usb config ayarları olan ikinci bir listede mevcut onuda etepic forumdaki pwm.c rumuzlu üye hazırlamış. Ayrıca aşağıdaki linkteki programı proton basic yüklü pcye kurarsanız, proton idesine fuse generator eklenmiş olacak. Bu sayede istediğiniz config fuse ayarını yapabilirsiniz: http://www.protonbasic.co.uk/content.php/2607-PIC-FuseConfigurator-Mk2 Config_Start FOSC = HS MCLRE = On PWRT = On FCMEN = Off IESO = Off BOR = Off VREGEN = Off WDT = Off PBADEN = Off CCP2MX = Off STVREN = Off LVP = Off XINST = Off Debug = Off Cp0 = O

mikrobasic button led code sample

Resim
Mikro basic ve MikroC derleyici örnek kodlarında port bazlı buton led örnekleri verilmiş, aynı portta buton led örneği yoktu bu nedsenle hazırlamak istedim. Portc 2. bitine buton, 0 bitine ise led bağlanmış durumda.  Derleyicide buton kütüphanesi seçilmeli. program Button_Test dim eskidurum as byte main:   ANSELA = 0   'A PORTU ADC KAPATILDI   ANSELB = 0   'B PORTU ADC KAPATILDI   ANSELC = 0   'C PORTU ADC KAPATILDI   TRISC2_bit = 1 'PORTC.2 BİTİ GİRİŞ OLARAK AYARLANDI   TRISC0_bit = 0 'PORTC.0 BİTİ ÇIKIŞ OLARAK AYARLANDI   LATC = 0       'PORTC SIFIRLANDI   eskidurum = 0 'DURUM DEĞİŞKENİ   while TRUE     if (Button(PORTC, 2, 1, 1)) then ' POTRC 2. BİTİNİ KONTROL ET       eskidurum = 1       LATC.0 = 0     end if     if (eskidurum and Button(PORTC, 2, 1, 0)) then 'PORTC2 PİNİNİN 1-0 DURUMUNU KONTROL ET       eskidurum = 0       LATC.0 = 1     end if   wend end.