Control del led mediante el pulsador del NetDuino
Pues sí, es una cosa muy curiosa de NetDuino que permite usar el pulsador de la placa, que normalmente funciona como pulsador de reset, para darle el uso que queramos.
Pues sí, es una cosa muy curiosa de NetDuino que permite usar el pulsador de la placa, que normalmente funciona como pulsador de reset, para darle el uso que queramos.
Este seria el típico Blink de Arduino que lo único que hace es hacer parpadear el led de la placa cada 1 segundo:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
using System.Threading; using Microsoft.SPOT.Hardware; using SecretLabs.NETMF.Hardware.Netduino; namespace com.giltesa.netduino.ejemplos { public class Blink { public static void Main() { // Instancia un pin de salida, concretamente el del Led de la placa con estado por defecto de false/apagado. OutputPort led = new OutputPort(Pins.ONBOARD_LED, false); // Bucle infinito (igual que la función loop en Arduino): while (true) { led.Write(!led.Read()); // Cambia el estado del pin al estado contrario. Thread.Sleep(1000); // Hace una pausa de un segundo. } } } } |
Últimamente se están poniendo de moda las baterías portátiles, sobre todo por la culpa de los móviles y sus fabricantes que se empeñan en hacerlos muy potentes y delgados y por consiguiente con baterías de muy poca capacidad.
Para solventar este problema, como digo, aparecieron las baterías portátiles que no son mas que una batería que se carga por USB y que después puede cargar otras cosas con la energía almacenada.
Junto a la estación de información iba a ser necesario alguna caja que le aportara datos, porque si bien el ordenador lo puede hacer mediante noticias rss y otro tipo de datos proporcionados desde internet, también es cierto que puede resultar interesante saber la climatología de primera mano.
Para ello he ideado una caja, o estación meteorológica, que aportara todos los datos de sus diferentes sensores, en este caso la temperatura, humedad, luz y hora en tiempo real.
La instalacion de los nuevos componentes la realice hace meses pero hasta ahora no había adaptado el código para poderle sacar provecho. Desde hoy esta publicada la versión 2 del código en Google Codes. Esta actualización no añade mejoras respecto a la anterior, si no que ofrece otro tipo de funcionalidades.
He eliminado el temporizador de apagado, tanto en el control manual como desde el mando a distancia. A cambio ahora se puede controlar además de la lampara principal, mediante un relé, un segundo tipo de iluminación compuesto por varios aros de Led que ofrecen una luz de cortesía, estos se controlan con un transistor BD135.
En un principio el código tenia pensado hacerlo en C++, pero después de varios días programando he llegado a la conclusión de que no merecía la pena ya que estaba dando más trabajo que otra cosa :/
El siguiente código de ejemplo nos permitirá ajustar el brillo de un led conectado a una salida PWM. De este modo al escribir el valor deseado desde el monitor serial y pulsar la tecla intro, el led se iluminara con el brillo deseado.
Para ir cogiendo practica con la pantalla lo mejor es trastear con ella. En esta ocasión con un menú que permite desde una botonera de 4 direcciones controlar las diferentes partes del menú, pudiendo encender y apagar los leds como cambiarles la intensidad de brillo.
Como comente en una MiniEntrada, monte un panel de leds Piranha y encargue otro que me ha llegado estos días. Ambos los he montado en un flexo de estudio que originalmente montaba una lampara fluorescente de 11W.
Además, para poder elegir si encender un panel solo o ambos, ha habido que hacer un pequeño circuito que permita, con un solo interruptor de tres posiciones: apagado, encendido I y encendido II, controlar todo. Para conseguir esto el circuito solo necesita un diodo led rectificador, de modo que la corriente solo pueda circular en el sentido que nos convenga.