so lets make a simple dual blinky app.
Extended hardware needed from the original Blinky is another diode and resistance or dual diode.
In my simple setup I used the dual diode that came with the È37 sensor kit from SunFlowerÈ.
Connection configuration as below:
Dual Diode
-GRD- -------------- Connected to Ground through one resistance (220 ohm)
-G- -------------- Connected to Pin 5
-R- -------------- Connected to Pin 6
Application as follow:
the main console class have the following private members
private GpioPin pin5;
private GpioPin pin6;
private DispatcherTimer timer;
public MainPage()
{
InitializeComponent();
timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(500);
timer.Tick += Timer_Tick;
InitGPIO();
if (pin5 != null)
{
timer.Start();
}
}
private void InitGPIO()
{
var gpio = GpioController.GetDefault();
// Show an error if there is no GPIO controller
if (gpio == null)
{
pin5 = null;
pin6 = null;
GpioStatus.Text = "There is no GPIO controller on this device.";
return;
}
pin5 = gpio.OpenPin(5);
pin6 = gpio.OpenPin(6);
pin5.SetDriveMode(GpioPinDriveMode.Output);
pin6.SetDriveMode(GpioPinDriveMode.Output);
GpioStatus.Text = "GPIO pin initialized correctly.";
}
private int index = 0;the result as below:-
private void Timer_Tick(object sender, object e)
{
index++;
if (index > 3) index = 0;
switch (index)
{
case 0:
pin5.Write(GpioPinValue.Low);
pin6.Write(GpioPinValue.Low);
break;
case 1:
pin5.Write(GpioPinValue.High);
pin6.Write(GpioPinValue.Low);
break;
case 2:
pin5.Write(GpioPinValue.High);
pin6.Write(GpioPinValue.High);
break;
case 3:
pin5.Write(GpioPinValue.Low);
pin6.Write(GpioPinValue.High);
break;
}
}
No comments:
Post a Comment