[ELBRUNO] .Net Gadgeteer, HowTo: Mostrar un chart en un display

image

Buenas

Después de 2 días en Paris donde pude escribir poco y aprender mucho; hoy vamos con un ejemplo de código puro y duro

Cómo pintar pixel a pixel un chart en un display con .Net Gadgeteer.

En este ejemplo utilizaremos los siguientes elementos

Organizados con el siguiente esquema:

image

Del código de la aplicación debo resaltar

  • linea 19, en el press del Button además de detener e iniciar el timer, enciendo y apago el LED del boton
  • línea 32, la rutina que dibuja el chart es de lo más simple, incrementa un contador entre 20  40 y luego lo decrementa. También hay un segundo flag para controlar el avance vertical

 

   1: using GT = Gadgeteer;

   2:  

   3: namespace GadgeteerApp6

   4: {

   5:     public partial class Program

   6:     {

   7:         private uint _axisX = 20;

   8:         private uint _axisY = 20;

   9:         private GT.Timer _timer;

  10:         private bool _modeUp = true;

  11:  

  12:         void ProgramStarted()

  13:         {

  14:             button.ButtonPressed += ButtonButtonPressed;

  15:             _timer = new GT.Timer(200);

  16:             _timer.Tick += TimerTick;

  17:         }

  18:  

  19:         void ButtonButtonPressed(GT.Modules.GHIElectronics.Button sender, GT.Modules.GHIElectronics.Button.ButtonState state)

  20:         {

  21:             button.ToggleLED();

  22:             if (_timer.IsRunning)

  23:             {

  24:                 _timer.Stop();

  25:             }

  26:             else

  27:             {

  28:                 _timer.Start();

  29:             }

  30:         }

  31:  

  32:         void TimerTick(GT.Timer timer)

  33:         {

  34:             _axisY++;

  35:             if (_axisY + 10 > display_T35.SimpleGraphics.Height)

  36:             {

  37:                 display_T35.SimpleGraphics.Clear();

  38:                 _axisY = 20;

  39:             }

  40:             if (_modeUp && _axisX > 40)

  41:             {

  42:                 _modeUp = false;

  43:             }

  44:             if (!_modeUp && _axisX < 20)

  45:             {

  46:                 _modeUp = true;

  47:             }

  48:             if (_modeUp)

  49:             {

  50:                 _axisX++;

  51:             }

  52:             else

  53:             {

  54:                 _axisX--;

  55:             }

  56:             display_T35.SimpleGraphics.SetPixel(GT.Color.Green, _axisX, _axisY);

  57:             for (uint i = 1; i < 15; i++)

  58:             {

  59:                 display_T35.SimpleGraphics.SetPixel(GT.Color.Red, _axisX + i, _axisY);

  60:             }

  61:         }

  62:     }

  63: }

Para muestra nada mejor que un video

Y ya mañana para Santa Pola a mostrar estas cositas en vivo con los amigos de GuseNet.

 

Saludos @ Home

El Bruno

image image image

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: