proton da glcd için bir adet bar komutu rica etsem.

Başlatan FUNKY, 08 Ocak 2010, 21:09:57

FUNKY

selam ustalarım  protonda 128x64 glcd için ekranın herhangi bir yerinden yukarıdan aşağıya  10 piksel kalınlığında bir adet komut rica ediyorum örnek için.bütün denemelerimde tek çizgi elde ettim bunları yan yana getirerek oluyor da çözüm bu değil sanırım .....şimdiden sağolun

teknikelektronikci

LOADING:
    Print At 4,6,"LOADING"
    Print At 5,2,"%0"
    Print At 5,15,"%100"
     
    
    For X = 25 To 88  
    Select X
    Case <60
    yuzde=yuzde+2
    Case >50
    yuzde=yuzde+1
    EndSelect
    
    LCDWrite 5, X, [%1111111] 
    Print At 6,9,DEC2 yuzde
    DelayMS 50 
    Next X           
    DelayMS 100
    Cls


LOADİNG BARI KOLAY GELSİN

BU SOLDAN SAĞA ÖRNEK OLMASI AÇISINDAN VERDİM
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

aykut54

muhittin hocaya selamlar bana bir ara lm35 sıcaklık uygulama devresinde yardımcı olmuştu
glcd dikey çizgi veya bar için
 For  dongu=0 To 63
            UnPlot dongu,127
            UnPlot dongu,126
            UnPlot dongu,125
            UnPlot dongu,125
            UnPlot dongu,124
            UnPlot dongu,123
            UnPlot dongu,122
            UnPlot dongu,121
        Next
        For  dongu=0 To BARDEGER
            Plot 63-dongu,127
            Plot 63-dongu,126
            Plot 63-dongu,125
            Plot 63-dongu,125
            Plot 63-dongu,124
            Plot 63-dongu,123
            Plot 63-dongu,122
            Plot 63-dongu,121
        Next
        Return



buda lm35 için sıcaklık uygulama kodu dikey bar için yatay olsa idi lcdwrite komutu kullanman gerekebilir.
Device = 16F877
'Config XT_OSC,WDT_OFF,PWRTE_ON,BODEN_ON,LVP_OFF,DEBUG_OFF,CP_ALL  
XTAL = 4
'*****ADC TANIMLAMALARI******
TRISA=%000001       'RA0 PORTA.0 ANALOG GİRİŞ
ADCON1 = %10000010  '10 BİT ÇÖZÜNÜRLÜK ALMAK İÇİN
ADIN_RES 10         'ADC ÇÖZÜNÜRLÜĞÜ 10 BİT 0...1023 
ADIN_TAD FRC
ADIN_STIME 50       'ÖRNEKLEME ZAMANI 50 US
Dim HAM_DEGER As Word
Dim VOLT As Float 
'*****LCD TANIMLAMALARI******
LCD_DTPORT = PORTD                 'GLCD DATA PORTLARI PORTB'YE BAĞLI
LCD_RSPIN = PORTC.5                'GLCD RS PİNİ PORTC.5 BAĞLI
LCD_ENPIN = PORTC.1                'GLCD ENABLE PİNİ PORTC.1 BAĞLI
LCD_RWPIN = PORTC.4                'GLCD RW PİNİ PORTC.4 BAĞLI
LCD_CS1PIN = PORTC.2               'GLCD CS1 PİNİ PORTC.2 BAĞLI
LCD_CS2PIN = PORTC.3               'GLCD CS2 PİNİ PORTC.3 BAĞLI
LCD_TYPE =  GRAPHIC                'GLCD TİPİ GRAFİK KS0108 128*64B WİNSTAR
INTERNAL_FONT = On                 
FONT_ADDR = 0
GLCD_EXTERNAL_PRINT = PPRINT

Dim BARDEGER As Byte
Dim dongu As Byte
Cls
DelayMS 500	 
BASLA:
 HAM_DEGER=ADIn 0
        Print Font ArialK____12
        Print At 0,3,"HAM :", DEC3 HAM_DEGER 
        VOLT= (HAM_DEGER * 5) /1023
         VOLT=VOLT*1000
        Print At 15,0,"LM35:", DEC1 VOLT ," Mv " 
        VOLT=VOLT/10
        Print At 30,3,"SCK:", DEC1 VOLT ," C"
        BARDEGER=VOLT
        GoSub BARCIZ
GoTo BASLA

BARCIZ:
        For  dongu=0 To 63
            UnPlot dongu,127
            UnPlot dongu,126
            UnPlot dongu,125
            UnPlot dongu,125
            UnPlot dongu,124
            UnPlot dongu,123
            UnPlot dongu,122
            UnPlot dongu,121
        Next
        For  dongu=0 To BARDEGER
            Plot 63-dongu,127
            Plot 63-dongu,126
            Plot 63-dongu,125
            Plot 63-dongu,125
            Plot 63-dongu,124
            Plot 63-dongu,123
            Plot 63-dongu,122
            Plot 63-dongu,121
        Next
        Return

End


görüşürüz.

teknikelektronikci

aykut hocam valla güzelmiş bu bar plot komutu ile sağol paylaşım için bubardeger de sürekli değiştikce değeri barda değişiyor sanırım değilmi?
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

aykut54

hocam aynen dediğin gibi süper oldu denedim sıcaklık artıp veya azalınca barda değişiklikler oluyor. SMD uygulamasıda bitti az önce şimdi düzenlemeri yapıyorum bugün için eklerim
görüşürüz.

FUNKY

arkadaşlar çok teşekkür ederim

ben aykut54 ün verdiği glcd ile ilgili çalışmalarını indirerek başlangıç yaptım şu an kendisinin proteus  sim ve proton  .bas dosyaları üzerinde oynayarak yapıyorum  özellikle teşekür ederim . yazdıklarınızı bu hemen deneyeceğim .
ben de bu arada help sayfasından ve indirdiklerimle birşeyler yapmaya çalışıyorum .

[

Line 1,0,63,127,63     ;
         Line 1,0,0,127,0       ;   yatay çizgiler
         Line 1,0,45,58,45      ;
         
         Line 1,58,0,58,63       ;
         Line 1,0,0,0,63         ;    dikey çizgiler
         Line 1,127,0,127,63     ;


bar deneme kodlarım

 BAR:    
         For dongu = 9 To 60

 UnPlot dongu ,100  
  UnPlot dongu ,101 
   UnPlot dongu ,102 
    UnPlot dongu ,103 
     UnPlot dongu ,104 
      UnPlot dongu ,105 
     
      Next
   
    For x =  9 To  BARDEGER
 
 Plot x ,100 
  Plot x ,101 
   Plot x ,102 
    Plot x ,103  
     Plot x ,104  
      Plot x ,105 
     
 
 Next


şimulasyonda saniyede tahmini 2veya3 defa ekran yeniliyor eğer uygulamada da böyle ise çok hoş değil  .

aykut54

sıcaklık uygulamasında hocam pratikte denediğimde glcd ekranında bar kısmı bazen flaş yapıyor her zaman değil hocam uygulamayı yapıp sonucu buraya yazarsanız iyi olur bizde öğrenmiş oluruz.

iyi çalışmalar

teknikelektronikci

kaç mhz ile çalışıorsunuz hızı biraz artırın derim programda delaymsn de yok ama plot ve unplot olduğu için titreme yapması normal diye düşünüorum.
program anladığım kadarı ile değere göre abrı çiziyor sonra tekrar unplot ile siliyor sonra tekrar değere göre plotn ile çizior ve tekrar unplot ile siliyor bu elbetde titreşime yol açabilir unplot kısmını sadeleştirme yapıolabilinir veya okunan değerler 4-5 defa okunup ortalama alınıp bar öyle çizilebilinir
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

FUNKY

teknikelektronikci aynem dediğin gibi çalışıyor.en kötü yanı  yukarıdan aşağıya sıralanıyor  ben aşağıdan yukarıya yükselme yapması için kodu şöyle yazdım çalışmadı ..?
for x = 50 to 5:next


ben bu yazma silme işinden hoşlanmadım  şöyle yapmayı düşünüyorum"-" simgesini şimdilik 40 adet komutla üst üste parselliyeceğim sonra  veri ye göre devreye sokup yazdıracağim /sildireceğim   biraz fazla komut yazacaağım ama bu titremeden kurtulacağım ..deneyeyim  bakalım  sonucu yazarım..

teknikelektronikci

Alıntı yapılan: "FUNKY"teknikelektronikci aynem dediğin gibi çalışıyor.en kötü yanı  yukarıdan aşağıya sıralanıyor  ben aşağıdan yukarıya yükselme yapması için kodu şöyle yazdım çalışmadı ..?
for x = 50 to 5:next


ben bu yazma silme işinden hoşlanmadım  şöyle yapmayı düşünüyorum"-" simgesini şimdilik 40 adet komutla üst üste parselliyeceğim sonra  veri ye göre devreye sokup yazdıracağim /sildireceğim   biraz fazla komut yazacaağım ama bu titremeden kurtulacağım ..deneyeyim  bakalım  sonucu yazarım..

bence öyle yapma yatay kare yap verdiğim kodu oyna hocam yukardan aşağıya yaptığını bilmiordum şu kodu bir deniyeyeim de haber verirrim
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

teknikelektronikci

funky programda yukarıdan aşağıya sıralanmıor ama flaş çok yapıor dur bakalım bende bakayım da bi şeyler yaparsam bildiririm
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

teknikelektronikci

kodu
           UnPlot dongu,127
           DelayMS 9
           UnPlot dongu,126
           DelayMS 9
           UnPlot dongu,125
           DelayMS 9
           UnPlot dongu,124
           DelayMS 9
           UnPlot dongu,123
           DelayMS 9
           UnPlot dongu,122
           DelayMS 9
           UnPlot dongu,121
           DelayMS 9
           Next
           Return

böyle yapınca o flash niçin yapıor anlayabilioruz o yüzden programda değişiklik yapıp bir an da silemsini sağlamak egrek pixel pixel değil
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

muhittin_kaplan

Dün Nöbette Yapacak İş Bulamayınca Ara banın Arkasındaki "Arızalı Diye Düşündüğüm" GLCD ve takım taklavatı çıkardım. Amacım GLCD nin arızalı olup olmadığını kesinleştirmekti.
Uzun Uğraşlarım sonucunda Nalet :)Glcd nin Cs1 ve Cs2 pinlerinin terslenmesi gerektiğini buldum. bunu Help dosyasında baktığımda Declare GLCD_CS_INVERT tanımlaması yapılması gerekiyormuş. Bukadariş Yaptıktan Sonra Birşeyler Yapmak Gerek diye Düşündüm. Bir Dikey Bar (Okuduğum Kadarıyla Bar Yaparken Sil Yaz dan Dolayı Problem Oluyormuş) Oluşturdum. Tesadüf Bu ya Taramasız Nasıl Yapılır ı Uğraştıktan Sonra Buldum. Kodları Laptaptan Alınca Eklerim. Kolay Gelsin

aykut54

ARTIK glcd çalıştırdın dimi abi helal olsun bende şimdi nasıl animasyon yaparım onu yapmaya çalışıyorum görüşürüz.

teknikelektronikci hocam bar uygulamasında 4mhz kristal ile denemeler yaptım.

FUNKY

merhaba.

dün gece ben de aklımdakini geçekleştirdim ve taramasız oldu..
şimdilik  10 çizgi olarak
şöyle yaptım LINE  komutundan sonra gelen set_clear komutu 1 olursa hat gözüküyor  0 olursa gözükmüyor ben de buralara harfle değişken atadım   başlarken bütün barları set_clear ı 0 olarak görünmez olarak yerleştirdim  sonra bardeğer verisine göre  görün  kaybol mantığı ile yaptım .. sizin çözümlerinizide bekliyorum ..



[/code]'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2010 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 10.01.2010                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2009 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 12.12.2009                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
Device = 16F877
Config XT_OSC,WDT_OFF,PWRTE_ON,BODEN_ON,LVP_OFF,DEBUG_OFF,CP_ALL  
Xtal = 4
'*****ADC TANIMLAMALARI******
TRISA=%000001       'RA0 PORTA.0 ANALOG GİRİŞ
ADCON1 = %10001110  '10 BİT ÇÖZÜNÜRLÜK ALMAK İÇİN
Adin_Res 10         'ADC ÇÖZÜNÜRLÜĞÜ 10 BİT 0...1023
Adin_Tad FRC
Adin_Stime 50       'ÖRNEKLEME ZAMANI 50 US
Dim HAM_DEGER As Word
Dim VOLT As Float
'*****LCD TANIMLAMALARI******
LCD_DTPort = PORTD                 'GLCD DATA PORTLARI PORTB'YE BAĞLI
LCD_RSPin = PORTC.5                'GLCD RS PİNİ PORTC.5 BAĞLI
LCD_ENPin = PORTC.1                'GLCD ENABLE PİNİ PORTC.1 BAĞLI
LCD_RWPin = PORTC.4                'GLCD RW PİNİ PORTC.4 BAĞLI
LCD_CS1Pin = PORTC.2               'GLCD CS1 PİNİ PORTC.2 BAĞLI
LCD_CS2Pin = PORTC.3               'GLCD CS2 PİNİ PORTC.3 BAĞLI
LCD_Type =  GRAPHIC                'GLCD TİPİ GRAFİK KS0108 128*64B WİNSTAR
Internal_Font = On                
Font_Addr = 0
GLCD_EXTERNAL_PRINT = PPRINT
GLCD_CS_Invert = 0
Dim BD As Byte
Dim dongu As Byte
Dim x As Byte
Dim yuzde As Byte
Dim a As Byte
Dim b As Byte
Dim c As Byte
Dim d As Byte
Dim e As Byte
Dim f As Byte
Dim g As Byte
Dim h As Byte
Dim i As Byte
Dim j As Byte
a=0 :b=0: c=0:d=0:e=0:f=0:g=0:h=0:i=0:j=0

Cls
DelayMS 500   
BASLA:
HAM_DEGER= ADIn 0
       
        VOLT= (HAM_DEGER  * 5) /1023
        Print Font Arial____8
        Print At 50,4,"VOLT: ", Dec2 VOLT
        Line 1,0,63,127,63     ;
        Line 1,0,0,127,0       ;   yatay çizgiler
        Line 1,0,45,58,45      ;
       
        Line 1,58,0,58,63       ;
        Line 1,0,0,0,63         ;    dikey çizgiler
        Line 1,127,0,127,63     ;
       
        Line a,118,62,125,62
         Line b,118,61,125,61                    
          Line c,118,60,125,60
           Line d,118,59,125,59
            Line e,118,58,125,58
             Line f,118,57,125,57
              Line g,118,56,125,56
               Line h,118,55,125,55
                Line i,118,54,125,54
                 Line j,118,53,125,53
    BD=VOLT*2
    GoSub BAR
    GoTo BASLA
       

 BAR:  
     If BD >= 1 Then  a=1 : Else  : a=0
     If BD >= 2 Then  b=1 : Else  : b=0
     If BD >= 3 Then  c=1 : Else  : c=0
     If BD >= 4 Then  d=1 : Else  : d=0
     If BD >= 5 Then  e=1 : Else  : e=0
     If BD >= 6 Then  f=1 : Else  : f=0
     If BD >= 7 Then  g=1 : Else  : g=0
     If BD >= 8 Then  h=1 : Else  : h=0
     If BD >= 9 Then  i=1 : Else  : i=0
     If BD >= 10 Then  j=1 : Else  : j=0
     
Return  
 
 

End                      
Include "Arialk12.txt"
Include "ARIAL8.TXT"


[code]