Autor Tema: Graficar onda senoidal en glcd 128x64 Proton Plus  (Leído 6088 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado IAO

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 702
Graficar onda senoidal en glcd 128x64 Proton Plus
« en: 07 de Septiembre de 2009, 19:43:49 »
Hola para todos...

Tengo una semana que compre proton  :mrgreen: y me he puesto a probar cosas...
Toda me hiba bien, hasta que llegué a la graficación con glcd. No sé que pasa o que esta mal.

El gráfico de la formula senoidal no me sale. La formula la tomé de un programa en QBasic.

Aqui les dejo el código a ver si alguien me puede lanzar una mano.
Código: [Seleccionar]
'''Display text and graphics on a graphic LCD

Include "PROTON_G4.INT"
        
'''Set up some Variables
        
        Dim temp   As Byte
        Dim sine   As Byte
        Dim i           As  Byte
        Dim Xmax As Byte
        Dim Ymax As Byte
        
         Dim XPOS_START As Byte
       Dim XPOS_END As Byte
       Dim YPOS_START As Byte
       Dim YPOS_END As Byte
       Dim SET_CLR As Byte      
      
        
        DelayMS 200 '''Wait for PICmicro to stabilise
        Cls
        XPOS_START = 0          '''Esquina Superior Izq va de 0 a 127 desplaza horizontalmente.
   YPOS_START = 20         '''Esquina superior Izq va de 0 a 63 deciende verticalmente.

        XPOS_END = 120
   YPOS_END = 34
   
        Xmax = 127 : Ymax = 53 '63
        
        Print At 0 , 4 , "SINE LCD Test"        


Again:          'sine = sin(10000*0.031*0.1)
        For i = 0 To Xmax   Step 1      
 temp  = Sin(i*1000)
              sine = Ymax/2 -  temp   *Ymax /2
              'SET_CLR = Ymax '1
              'LINEto SET_CLR , i, Ymax+sine ', i
          Plot Ymax+sine, i
        Next
        
'        FOR i = 0 TO Xmax  STEP 1      
'              temp  = SIN(i*1000)
'          sine = Ymax/2 -  temp   *Ymax /2
'          LINE SET_CLR , XPOS_START , YPOS_START , XPOS_END , YPOS_END
'          UNPLOT Ymax+sine, i+1
'          DELAYMS 10
'        NEXT

              
GoTo Again
        
Include "FONT.INC"

Se ve la forma de la onda senoidal, pero muy extraña. Probe con el comando LINETO pero se ve peor,
como si le hubiera puesto un diodo, media onda....

Bueno si me pueden ayudar gracias, sino gracias igual......

Saludos....
« Última modificación: 08 de Septiembre de 2009, 08:50:37 por IAO »
"No hay caminos para lograr la PAZ. La PAZ es el camino"... (Mahatma Gandhi).
Mentes Superiores discuten Ideas, Proyectos. Mentes Promedio discuten Acontecimientos y Sucesos. Mentes Pobres discuten sobre Personas.

Desconectado IAO

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 702
Re: Problema glcd y plot comando....
« Respuesta #1 en: 08 de Septiembre de 2009, 08:47:00 »
Holaaaa:

Ya resolví el problema. Les comento que el problema estaba más en la fórmula que en la representación.
Es difícil conseguir un ejemplo de gráficos con glcd. Siempre es mostrar un texto en reverso, lineas, circulos. 

Bueno les dejo como me quedó y funcionando bien.
Esto es para graficar una onda senoidal en el glcd 128x63 con Proton Plus.
Una cosa más, dentro del directorio samples de Proteus 7.x esta una carpeta con el nombre de: VSM for PIC16\Proton Plus\
allí puedes encontrar el archivo para simular esta ayuda tan infantil.
Esjemplo de la ruta al archivo:
C:\Proteus\SAMPLES\VSM for PIC16\Proton Plus\PICBASIC.DSN

Código en Proton Plus, para graficar senoidal.
Código: [Seleccionar]
'''Display text and graphics on a graphic LCD
INCLUDE "PROTON_G4.INT"
       
'''Set up some Variables
        DIM sine     AS BYTE
        DIM i           AS  BYTE
        DIM Xmax    AS BYTE
        DIM Ymax   AS BYTE
       
        DELAYMS 200 '''Wait for PICmicro to stabilise
        CLS
   
        Xmax = 254 : Ymax = 126 '63
       
        PRINT AT 0 , 4 , "SINE LCD Test"       

Again:         
        FOR i = 0 TO Xmax  STEP 1     
      'sine = ((SIN i) + 127 ) / 4
              sine = ((SIN i*8) + 254 ) / 6 '8
              PLOT sine, i /2   
              DELAYMS 10             
        NEXT  i
       
        FOR i = 0 TO Xmax  STEP 1       
        'sine = ((SIN i) + 127 ) / 4 
                 sine = ((SIN i*8) + 254 ) / 6 '8
            UNPLOT sine, i /2 
          DELAYMS 10
        NEXT i
             
GOTO Again
       
INCLUDE "FONT.INC"


Espero le sirva de ayuda a alguna persona chau.
Modifiqué el titulo para que se entienda mejor.

Saludos.....chao.....
"No hay caminos para lograr la PAZ. La PAZ es el camino"... (Mahatma Gandhi).
Mentes Superiores discuten Ideas, Proyectos. Mentes Promedio discuten Acontecimientos y Sucesos. Mentes Pobres discuten sobre Personas.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Graficar onda senoidal en glcd 128x64 Proton Plus
« Respuesta #2 en: 12 de Septiembre de 2009, 17:44:51 »
me alegro por tu prota resolucion de tu problema y muchas gracias por decir como resolvistes yo estaba preparandote algo pero en MKB.

Saludos y estamos en contacto.
Atten.
Alexander Santana.
Barcelona-Venezuela
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE


 

anything