image

Buenas

el ejemplo de hoy es un poco más complicado que un Hello World, pero te dá mas alegrias. Se trata de utilizar un botón y un LED multicolor para cambiar el color del mismo con un timer.

En este ejemplo utilizaremos

con el siguiente diagrama

image

Y de nuevo, con menos de 50 líneas de código fuente podremos implementar nuestra aplicación.

   1: using Gadgeteer.Modules.GHIElectronics;

   2: using GT = Gadgeteer;

   3:  

   4: namespace GadgeteerApp5

   5: {

   6:     public partial class Program

   7:     {

   8:         private GT.Timer _timer;

   9:  

  10:         void ProgramStarted()

  11:         {

  12:             button.ButtonPressed += ButtonButtonPressed;

  13:             _timer = new GT.Timer(1000);

  14:             _timer.Tick += TimerTick;

  15:         }

  16:  

  17:         void ButtonButtonPressed(Button sender, Button.ButtonState state)

  18:         {

  19:             if (!_timer.IsRunning)

  20:             {

  21:                 _timer.Start();

  22:             }

  23:             else

  24:             {

  25:                 _timer.Stop();

  26:                 multicolorLed.TurnOff();

  27:             }

  28:         }

  29:  

  30:         private void TimerTick(GT.Timer timer)

  31:         {

  32:             var color = multicolorLed.GetCurrentColor();

  33:  

  34:             if (color == GT.Color.Blue)

  35:             {

  36:                 color = GT.Color.Green;

  37:             }

  38:             else if (color == GT.Color.Green)

  39:             {

  40:                 color = GT.Color.Red;

  41:             }

  42:             else

  43:             {

  44:                 color = GT.Color.Blue;

  45:             }

  46:  

  47:             multicolorLed.TurnColor(color);

  48:         }

  49:     }

  50: }

Datos interesantes de la aplicación
  • Línea 13, implementación especial de timer para .Net Gadgeteer. Ni intentes utilizar el timer de .Net, morirás entre terribles sufrimientos
  • Línea 19, en la implementación del button, se inicia el Timer y se apaga el LED cuando se detiene el timer
  • Línea 29, demuestra lo simple que es utilizar el LED, un GetCurrentColor() para obtener el color actual y luego un TurnColor() para definir el color del LED

El video a continuación

 

Saludos @ La Finca

El Bruno

image image image

Leave a comment

Discover more from El Bruno

Subscribe now to keep reading and get access to the full archive.

Continue reading