Curso básico de Netduino Plus Parte 1


Netduino es una plataforma de desarrollo de código abierto integrado similar al Arduino, excepto que utiliza .NET Micro Framework para la programación.  La placa de desarrollo Netduino tiene el mismo factor que Arduino Uno, y por lo tanto la mayoría de los escudos de Arduino son también compatibles con Netduino.  Las placas de desarrollo Arduino se basan en 8 bits microcontroladores Atmel que corren a una velocidad máxima de reloj de 16 MHz en su versión primera. Por otra parte, el hardware Netduino usa potentes procesadores de 32 bits (en el caso de la primera versión un  Atmel SAM7x en Netduino, y STMicro STM32F4 en versiones Netduino Plus) y funciona a una velocidad mucho más rápida (48 MHz a 168 MHz).

Los siguientes tutoriales  extraidos de http://embedded-lab.com/blog    tienen como objetivo proporcionar una amplia introducción a la plataforma Netduino  y asegurar que cualquier principiante, estudiante o aficionado, será rápidamente capaz de empezar a usarlo para sus propios proyectos y diseños embebidos. En todos los ejemplos se usa una placa  Netduino Plus ( es la versión mas antigua con NETMF 4,1) se utiliza para ilustrar la salida en estos experimentos.

Comenzaremos esta serie de tutoriales sobre  Netduino con un proyecto muy básico de parpadear un LED. El objetivo de este proyecto es explorar conceptos básicos de pines Netduino de E / S, así como para asegurarse de que todo está configurado correctamente, incluyendo la instalación de software y configuración del hardware.En este proyecto, vamos a utilizar un pin analógico para leer la salida analógica de un potenciómetro, y un pin digital a parpadear un LED.

La frecuencia de parpadeo de LED se varía basándose en la salida del potenciómetro. Se parpadeará en un intervalo de 10 milisegundos a 1000 milisegundos basándose en la posición del limpiador del potenciómetro. En Netduino, puede establecer el rango de salida del ADC de 10 bits de un código port.Writing analógico si se lleva a cabo en Visual Studio con C # como lenguaje de programación.
Podemos dividir el experimento en dos partes, primero alrededor de la entrada analógica, que esa  alrededor del potenciómetro y segunda vuelta de la E / S digital es decir, alrededor de transistor y LED.  En la sección analógica, simplemente conectamos dos terminales finales de potenciómetro a masa y 3v3 y el conductor central al puerto A1 del Netduino.
En el código, han definido el alcance de este dispositivo analógico de 10 milisegundos a 1000 milisegundos.Así que, cuando se hace girar el cursor del potenciometro (su resistencia se cambia), el microcontrolador nos alimenta a un valor entre rango dado en consecuencia. Hemos convertido nuestra señal analógica a señal digital! . El potenciómetro es un dispositivo analógico y varió su valor de 10 milisegundos a 1 segundo. En la segunda mitad de la conexión, el D1 (Digital I / O) de Netduino está conectado a la base de un transistor junto con un resistor . Cuando abrimos el puerto D1 a alta, el transistor alcanzará su estado de saturación y por lo tanto la corriente comienza a fluir a lo largo de la base y del colector . En el momento esto sucede, nuestro LED se encenderá, porque un circuito completo se forma a partir 5v al suelo. En consecuencia, cuando el puerto D1 es baja, no circulará corriente a través de la base y el colector causando un circuito incompleto de 5V a la tierra. De ahí LED se apagará.

// use any analog pin
AnalogInput aInPin = new AnalogInput(Pins.GPIO_PIN_A1);
 
// give a range.
aInPin.SetRange(10, 1000); 
 
// at D1, we will send signal for LED
OutputPort led = new OutputPort(Pins.GPIO_PIN_D1, false);
 
while (true)
{
    // Read Pot value
    int potValue = (int)aInPin.Read();
    Debug.Print("Pot Value: " + potValue.ToString());
 
    // turn LED ON
    led.Write(true);
    // let it be ON for potValue
    Thread.Sleep(potValue);
 
    // turn LED OFF and let it stay OFF for potValue
    led.Write(false);
    Thread.Sleep(potValue);
}

Como podemos ver en el programa es muy simple.Las primeras líneas crean una instancia AnalogInput y establecer su rango de 10 a 1000. Luego, otra instancia de puerto de salida se ha creado para enviar la señal a un LED. Entonces tenemos un bucle infinito muy simple que se convertirá el LED de encendido y apagado. El valor de retardo viene de la entrada analógica que es un potenciómetro en nuestro caso.  Si el valor analógico es de 50, el LED se encenderá durante 50 milisegundos y luego se quedan fuera de la misma cantidad de tiempo.

Como salida de este ejemplo usted verá el LED parpadeará y su tasa de parpadeo depende de potenciómetro (pot) valor. Si gira el potenciometro hasta el final a uno de los extremos, el led permanecerá encendido durante un segundo y OFF por un segundo.Del mismo modo, si a su vez  lo gira  todo el camino hasta el otro lado, el LED aparecerá parpadeando, ya que sólo se queda ON por décima de segundo como podemos ver en el siguiente video.

1) C#.NET código (Fichero de solución)

2) Esquema en Fritzing File

 

 

Fuente  aqui

Contador de la luz ‘inteligente’


El creador de este proyecto tiene el alias: «Willie Wortel» y ha escrito todo el código por lo que un gran aplauso para él por crear este gran proyecto (ademas el alias Willie Wortel es un muy buen alias si se puede crear un proyecto como este Registro de datos con un Netduino Plus 2).

Este proyecto  holandés está equipado con un puerto P1 que, si se activa, envía un mensaje cada 10 segundos con información sobre la electricidad consumida (kWh), energía entregada  (kWh), el uso actual (kW), entrega actual (kW) ,  tarifa que se está utilizando y, si el medidor de gas  «inteligente» está conectado, la medida de un medidor de gas (m3).

Cuenta con un medidor de kWh llamado PV que se puede conectar a través de una conexión S0 que  registra los datos en PVOutput.org y otros sitios. Obviamente cualquier otro dispositivo con un puerto S0 se puede conectar.

Tambien puede cambiar de dispositivo y desactivarlo a través de un relé.

Hay muchas más cosas en este proyecto, sólo tiene que descargar y empezar a leer en el manual y en las páginas wiki que se entregan con la parte de las páginas Web.

Para un  teléfono con windows phone  en  Windows Store encontrará una aplicación que se conecta a la Netduino Plus 2 y que es capaz de leer los datos de PVOutput.org

A continuación un vídeo que muestra  las grandes posibilidades de este proyecto:

¿No es usted tan práctico?, … Es muy simple para empezar con la placa prefabricada de sateetje, que sólo cuesta unos pocos dólares:

Y en esta imagen vemos  a Netduino 2+ y el  nuevo escudo  , todos juntos:

Usted puede ver todo el resultado , en una aplicación  para windows phone:

La mayoría de los ajustes se pueden configurar por defecto o   usted puede programar la aplicación para el Teléfono y Netduino dinámicamente con las páginas web agregadas especiales diseñadas para Netduino.

Sin ningún conocimiento de programación  simplemente desplegar desplegar el archivo HEX (o el programa con VS)  a su Netduino y funcionará.

En efecto este proyecto  puede ser interesante para entusiasta de  todos los niveles, gracias  a las grandes posibilidades de personalización de este:.

Puede enviar comandos pre-definidos a través de Internet a su Netduino para escuchar o hacer (interruptores, etc.);

!Incluso se puede programar el contenido de los botones del teléfono con su lengua propia / uso!

Para conectar el hardware, hay toneladas de imágenes incluidas para ayudarle.

O ir al foro y pedir, en cualquier idioma (tenemos Google Translate  )

Recursos

  • Usted puede encontrar toda  la   información sobre el   código del proyecto en  http://dalue.codeplex.com .
  • Usted puede encontrar el Foro (holandés) sobre este proyetco aquí: http: //gathering.twe…es/1547307/last
  • La aplicación de Windows Phone para Netduino y http://www.pvoutput.com aquí: http: //www.windowsph…c2-e258fdd62fd0
  • El código del programa y la documentación para las páginas web y Netduino aquí: https: //dalue.codepl…ses/view/183478

Más información aqui