joi, 16 ianuarie 2014

NETDUINO - Aplicatii cu led-uri folosind Netduino2

Vom avea la baza proiectul de la articolul " Aplicatii cu Led-uri folosind PIC16F877 partea.I " diferenta fiind doar de numarul de led-uri folosite 5 in cazul nostru.

Plecand de la schema:



SPER CA DATA VIITOARE O SA-MI ACHIZITIONEZ O TABLETA GRAFICA PENTRU A FACE DESENELE MAI BINE !!!!!

Va trebui sa aprindem cele 5 led-uri pe rand ( unul dupa altul ) D1 - D5 si apoi sa le stingem tot pe rand ( unul dupa altul ) D5 - D1.

Modul de creare a unui program este:

Visual C# 2010 Express ------- New Project ------ MicroFramwork ------ Netduino2 application ----- etc.

Folosind cunostintele acumulate din articolulPulsare Led ( onboard) Netduino 2 " codul sursa va arata astfel: 

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;

namespace NetduinoApplication1
{
    public class Program
    {
        static OutputPort[] led = new OutputPort[8]; //declaram un vector in care tinem 
                                                                         // minte unde sunt conectate cele 5                                                                                // led-uri
        public static void Main()
        {
            int i;
            led[0] = new OutputPort(Pins.GPIO_PIN_D0, false);  // declararea fiecarui led in 
            led[1] = new OutputPort(Pins.GPIO_PIN_D1, false);  //parte, pinul unde este 
            led[2] = new OutputPort(Pins.GPIO_PIN_D2, false);  //conectat si starea lui initiala
            led[3] = new OutputPort(Pins.GPIO_PIN_D3, false);
            led[4] = new OutputPort(Pins.GPIO_PIN_D4, false);

            while (true)
            {
                for (i = 0; i <= 4; i++) // aprinde fiecare led in parte 
                {
                    led[i].Write(true);
                    Thread.Sleep(300); // asteapta 300 milisecunde
                }                               // acest for se executa de 5 ori ( i=0;i=1,i=2,i=3,i=4 )

                for (i = 4; i >= 0; i--) // stinge fiecare led pe rand in ordine inversa fata de                                                     // aprindere
                {
                    led[i].Write(false);
                    Thread.Sleep(300); // asteapta 300 milisecunde
                }                               // acest for se executa de 5 ori ( i=4;i=3,i=2,i=1,i=0 )
            }


        }

    }

}

Mai jos va prezint un filmulet cu realizarea practica: