Integración con Arduino IoT Cloud Amazon Alexa


En la página principal de IoT Cloud,crearemos una nueva cosa y le asignaremos un nombre significativo. A continuación, seleccionaremos el tablero que vamos a usar. Si no puede ver su tablero, es posible que se haya saltado el procedimiento de introducción (consulte la sección anterior).

Una vez hecho esto, agregaremos tres propiedades a nuestra cosa. Los dos primeros representarán las lámparas,la última de la temperatura.

Aquí es lo que la vista de panel de su cosa debe verse como en este punto:

Al agregar propiedades, asegúrese de que solo utiliza los tipos enumerados en la sección Inicio inteligente, de lo contrario no funcionarán con Alexa.

The Smart Home section

La sección Smart Home

Ahora ve al Editor Web haciendo clic en el botón Editar boceto en la vista de edición de tu cosa.

 

En el Editor Web necesitamos añadir algo de código al Sketch generado automáticamente para nosotros.

Debido a que queremos leer algunos datos ambientales (a saber, la temperatura, pero no dude en agregar luz, humedad y presión si lo desea), vamos a importar la biblioteca de Arduino_MKRENV en la parte superior de nuestro boceto

#include <Arduino_MKRENV.h>

A continuación, definimos algunas constantes para los pines de placa que se utilizarán para R,G,Bandwhitelight, deesta manera el código es más legible:

#define PIN_MEETING_ROOM 5
#define PIN_LOUNGE_AREA_R 2
#define PIN_LOUNGE_AREA_B 3
#define PIN_LOUNGE_AREA_G 4

Ahora en la función de configuración podemos inicializar el Arduino MKR ENV Shield con:

if (!ENV.begin()) {  
 Serial.println("Failed to initialize MKR ENV shield!");  
 while (1);
}

De esta manera, si el escudo no está instalado, se bloqueará la ejecución de Sketch.

No es necesario especificar que tiene que ser porque vamos a utilizar para establecer la intensidad de nuestro LED blanco o los colores individuales del RGB.pinModeOUTPUTanalogWrite()

En la función loopfunction vamos a leer la temperatura cada segundo:

temperature = ENV.readTemperature();delay(1000);

Por último, es el momento de implementar nuestras funciones de devolución de llamada: las que se ejecutarán cada vez que se extraiga un cambio en el valor de una propiedadde IoT Cloud.

Tenemos que implementar y :onMeetingRoomChangeonLoungeAreaChange

void onMeetingRoomChange()
 { uint8_t brightness = map(meetingRoom.getBrightness(), 0, 100, 0, 255); 
if (meetingRoom.getSwitch())
 {   Serial.println(brightness); 
  analogWrite(PIN_MEETING_ROOM, brightness);   
  } else{ 
  analogWrite(PIN_MEETING_ROOM, LOW); 
}}

con el código anterior primero leemos el valor de brillo de la nube y lo mapeamos a un valor utilizable, luego verificamos si el interruptor de luz está encendido, si es que podemos encender la luz, usando el rojo antes. De lo contrario, apagamos la luzbrightness

El principio de trabajo es el mismo para la otra devolución de llamada:

void onLoungeAreaChange() 
{ uint8_t r, g, b;
 loungeArea.getValue().getRGB(r, g, b);
 if (loungeArea.getSwitch()) { 
  Serial.println("R:"+String(r)+" G:"+String(g)+ " B:"+String(b));   analogWrite(PIN_LOUNGE_AREA_R, r);  
 analogWrite(PIN_LOUNGE_AREA_B, b);  
 analogWrite(PIN_LOUNGE_AREA_G, g); }
 else{    
Serial.println("Lamp Off");   
 analogWrite(PIN_LOUNGE_AREA_R, 0);   
 analogWrite(PIN_LOUNGE_AREA_B, 0);    
analogWrite(PIN_LOUNGE_AREA_G, 0);
 }}

La única diferencia notable es el hecho de que en lugar del brillo justo, tenemos tres componentes diferentes: son la representación del color RGB de la luz. Por supuesto, podemos definir colores personalizados por nombre en la aplicación Alexa para que no tengamos que decir manualmente qué cantidades de rojo, verde o azul queremos establecer.

Amazon Alexa

Ahora necesitaremos la aplicación Amazon Alexa que se puede descargar desde apple App Store o Google Play Store. Una vez instalado, inicie sesión con su cuenta existente o cree una nueva.

Importante:Cuando se le pida que inicie sesión, asegúrese de utilizar las mismas credenciales utilizadas para crear su Arduino IoT Cloud Thing, de lo contrario no funcionará.

Además, tenemos que instalar la habilidad de hogar inteligente necesaria para interactuar con nuestro MKR1010. Para ello, vaya a Dispositivos (icono inferior derecho) y haga clic en YourSmartHomeSkillsy, a continuación, en EnableYourSmartHomeSkill.

Devices view

Vista de dispositivos

Ahora busca la habilidad llamada Arduino y agréguela. En el mismo momento de esta escritura, esa habilidad no está disponible en todo el mundo, pero estamos trabajando en ello y la aprobación para otros países está en curso.

Arduino Smart Home skill

Habilidad Arduino Smart Home

La pantalla debería tener este aspecto:

Devices with Arduino skill installed

Dispositivos con habilidad Arduino instalada

Ahora que la habilidad está configurada, finalmente podemos añadir nuestros dispositivos. Para hacerlo, vuelva a la pantalla Dispositivos y toque el signo + en la parte superior.

Add a new device

Añadir un nuevo dispositivo

Pulse en AddDevice, luego En otros y DiscoverDevices. El proceso de búsqueda puede tomar un poco, pero al final se le debe presentar esta pantalla:

Después de pulsar en Elegir dispositivo se le presentará la página de configuración que enumera todos los dispositivos disponibles (Se nombrarán de acuerdo con cómo nombramos nuestras propiedades en Arduino IoT Cloud).

Vamos a elegir un dispositivo y puntee SetUpDevice. Si te gusta también puedes añadirlo a un grupo (De esta manera puedes controlar y organizar tus dispositivos más fácilmente), de lo contrario omite esta parte.

Repita el proceso de configuración para cada dispositivo que desee controlar.

Por último, la vista del dispositivo debe tener este aspecto:

Finalmente podemos empezar a preguntar cosas como «Alexa, ¿cuál es la temperatura en la oficina?» o «Alexa enciende la luz en la sala de reuniones».

!Diviértase jugando con Alexa y IoT Cloud.!

 

 

Anuncio publicitario

Concurso Casa inteligente con Arduino y Alexa


Alexa es el servicio de voz de Amazon y el «cerebro» que hay detrás de millones de dispositivos como el Amazon Echo. La gente usa Alexa para controlar dispositivos domésticos inteligentes millones de veces al día.

De Arduino , hemos hablado muchas veces  es este blog , es una plataforma de electrónica de código abierto basada en hardware y software fácil de usar destinada a cualquier persona que realice proyectos interactivos.

La comunidad de fabricantes de Arduino (estudiantes, aficionados, artistas, programadores y profesionales) se ha reunido en torno a esta plataforma de código abierto, sus contribuciones se han añadido a una cantidad increíble de conocimiento accesible que puede ser de gran ayuda para principiantes y expertos por igual.

En este concurso  invitan a cualquier aficionado o profesional  a trabajar  con estos líderes de la industria para visualizar y construir el futuro de los hogares inteligentes.

 

En el vídeo nos explican en que consiste el reto

En este concurso, Hackster ha reunido a Alexa y Arduino, un líder en hardware de código abierto.

Invitan  a crear un proyecto que visualice el futuro de los hogares inteligentes. Aquí hay algunas ideas potenciales para comenzar:

  • Automatización de la temperatura ambiente
  • Control de iluminación personalizado
  • Sistemas de seguridad y timbre
  • Entretenimiento y comida para mascotas
  • Control y gestión de jardines
  • Transmisión multimedia en dispositivos
  • Monitoreando casi todo

Si no tiene un dispositivo Amazon Alexa, puede usar Echosim.io para probar virtualmente sus habilidades de Alexa. Use la API Alexa Smart Home para crear fácilmente capacidades, toque las API de autoservicio, la documentación, las plantillas y las muestras de códigos que lo guiarán rápidamente hacia la publicación de Habilidades. Use el Servicio de voz de Alexa para integrar Alexa en su producto usando el SDK y las API.

Aquí tiene los premios que puede ganar:

  • Mejor ganador general de habilidades de Smart Home en Alexa: $ 14,000 en efectivo, paquete de Kickstarter: Fondo promocional de videos y marketing, certificación Dragon Innovation, una sesión de entrenamiento en Kickstarter de 60 minutos (lleve su proyecto al producto)
  • La mejor habilidad y artefacto para interiores Smart Home de Alexa: $ 8,000 en efectivo + 60 minutos de entrenamiento en Kickstarter
  • Mejor habilidad al aire libre de Alexa Smart Home Skad & Gadget: $ 8,000 en efectivo + 60 minutos de entrenamiento en Kickstarter
  • Comodines y aditamentos caseros de Smartcard de Alexa: $ 6,000 en efectivo + 60 minutos de entrenamiento en Kickstarter
  • Mejor integración y gadget de servicio de voz de Alexa: $ 8,000 + 60 minutos de entrenamiento de Kickstarter
  • NOTA: Hackster solo realiza premios en efectivo a través de PayPal.

Calendario del concurso :

  • La presentación del proyecto se abrió  el 21 de noviembre de 2017 a las 8:01 a.m. PT
  • Fecha límite para envío de proyectos 24 de febrero de 2018 a las 11:59 p.m. PT
  • Los ganadores se anunciaran el 12 de marzo de 2018 a las 11:59 p.m. PT

 

Incripcion en  el concurso 

  1.  Registro para el concurso en https://www.hackster.io/contests/alexasmarthome 
  2. Comience por crear una cuenta gratuita en Hackster.io (o inicie sesión si ya es miembro)
  3. Regístrese para el concurso haciendo clic en «Registrarse como participante»
  4. Ingrese para ganar los premios mayores al crear y enviar su proyecto
  5. Cree su proyecto usando la API de Amazon Smart Home, y / o Amazon Voice Service y cualquier producto Arduino
  6. Envíe su proyecto antes del 24 de febrero de 2018 a las 11:59 p.m. PT

 

 

Algunos recursos:

  • Foros de Desarrolladores de Alexa Alexa Developer Forums

 

 

 

 

 

 

Los ganadores serán anunciados en esta página antes del 12 de marzo de 2018 a las 11:59 p.m. PT. ¡Buena suerte!

Ambilight para nuestro PC


Ambilight es una tecnología diseñada para mejorar la experiencia visual  analizando las señales entrantes y produciendo una  luz lateral ambiental adecuada al contenido que se está visualizando en la pantalla un resultado bastante atractivo , el cual  además de la sensación de estar viendo una pantalla aun mayor.

Hasta hace muy poco este efecto solo se podía conseguir si comprábamos un TV que contara con ese sistema y no había otra opción, pero recientemente  con la aparición de placas con suficiente capacidad computacional, se puede emular gracias al uso por ejemplo de una Raspberry Pi .  Aun mas sencillo  y facil es hacerlo a través una placa Arduino UNO (o incluso Arduino nano), un ordenador,y una tira de 50 leds para iluminar una televisión de 47 pulgadas..!Y todo sin tener que soldar nada!.

 

 

Antes de empezar  con el montaje ,  la tira de  leds   RGB   direccionable es muy importante que este basada en el chip  ws2801 (LEDs WS2801) pues el menos no nos  dará  ningún tipo de problemas usando una Placa Arduino,  siendo ademas la mas utilizada para este tipo de montajes.

Existen tiras basadas en el chips WS2801   en formato «luces de navidad»,pero lo mas habitual es adquirirla en forma de cinta autoadhesiva.

Un ejemplo de tira es  esta  que puede comprarse en Amazon por menos de 27€

tira de leds.png

Una peculiaridad  de esta tiras ,es que se pueden cortar según la longitud que se requieran , así como además que también es posible ampliarlas gracias a  los conectores que llevan en cada extremo, pudiendo  unirse  entre ellas hasta donde se necesite.

conector.png

Asimismo, para alimentar dicha tira  también  necesitaremos aparte  una fuente de alimentación  dimensionada para el números de leds que vayamos a adquirir , como puede ser una fuente de  5v y 2A  (para 50 leds)

La tira de leds por simplicidad la conectaremos a una placa  Arduino UNO , el cual puede adquirirse en Amazon por menos de 10€

Arduino UNO comparado a la versión anterior, usa el  Chip alternativo Atmega 16U2 8U2, lo que quiere decir una tasa más alta de transferencia y memoria.Ademas esta versión cuenta con la interfaz SDA y SCL .

Los datos de LED y las líneas de reloj los conectaremos  a la salida SPI de Arduino,es decir  los datos SPI salen del pin digital 11 y  el reloj es el pin digital 13.

Los LED deben ser alimentados externamente fuera de la linea de +5V de  Arduino 5V, pues podrían estropear el regulador de este . La masa o  tierra, por el contrario, si debe ser conectada a  la masa de Arduino.

Normalmente las tiras de leds WS01  ,suelen tiene 6 cables : tres de ellos lo  conectaremos los pines (11,13 Y GND) del Arduino, y los otros dos  conectaremos  a la fuente de 5V.

La forma de conectarlos todo esto es según el siguiente esquema :

  • El cable VERDE proveniente del pin SD de la tira de leds al pin 11 del Arduino Uno.
  • El cable ROJO proveniente del pin CK  de al tira de leds al  pin 13 del Arduino Uno.
  • El cable NEGRO proveniente del pin  GND de la tira de leds al pin GND del Arduino Uno.
  • El cable AZUL proveniente del pin +5V de al tira de leds lo dejaremos sin conectar
  • El cable Rojo grueso en paralelo con el azul  proveniente de la tira de leds a la conexión +5v de la fuente auxiliar
  • El cable NEGRO en paralelo con el  negro  proveniente del pin  GND de la tira de leds al GND de la fuente auxiliar

arduino.png

Conectamos pues  la tira de leds  por un lado a una fuente de 5V /2amp .  y por el otro a Arduino , por uno de los extremos y las otras 2 o 3 tiras con los adaptadores macho hembra adecuados   a continuación siguiendo la flecha  de las tiras  haciendo un rectángulo que rodeara nuestro monitor o TV .  Evidentemente en uno de los extremos de inicio es donde haremos las conexiones  y todas la demás se harán por medio de los  conectares .

Hemos de tener cuidado ya que uno de los extremos de la tira de luces es pues para conectar la primea tira al arduino y a la fuente :de esta forma, en cada extremo quedan sueltos los cables opuestos (normalmente el cable rojo es el positivo y el azul el negativo.) que conectaremos también entre si para dar alimentación a  los leds ( aunque los conectores también den energía  ya que llevan las 4 conexiones incluida los 5v y GND)

 

 

 SOFTWARE EN EL ARDUINO

Para gobernar , la tira de leds la conectaremos a  un   Arduino   que  ademas  hará de «puente» entre el ordenador host y la tira basado en WS2801 . Los datos de LED se transmiten, y  no se almacenan en búfer, lo que significa que si  hay mas código en Arduino  podrían generar demoras debido a la RAM limitada del Arduino,pero no obstante el algoritmo ejerce cierto esfuerzo para evitar las pérdidas de buffer

 El protocolo de cierre WS2801, basado en retardo, podría desencadenarse inadvertidamente si el bus USB o la CPU  está desbordada con otras tareas. Este código almacena datos entrantes en serie e introduce pausas intencionadas si hay una amenaza del buffer  lleno prematuro.

El costo de esta complejidad es algo que  reduce el rendimiento, pero la ganancia es muy buena  evitando  la mayoría de los fallos visuales  incluso aunque finalmente una función de carga en el bus USB y  host CPU, quede  fuera de  control.

 

Si no lo tenemos, descargaremos el software de arduino (Página oficial de arduino) y lo instalamos.

Conectamos el arduino uno a nuestro pc con el cable usb. Si pide los drivers, se pueden encontrarlo en la carpeta arduino-1.0.4\drivers.

Descargaremos  esta biblioteca:fastled biblioteca descarga, la cual  importaremos  al Arduino IDE.

Ahora toca cargar el sketch para lo cual  descaremos el código Adalight para las luces  aqui 

Descomprimireos el archivo y  añadimos los archivos que acabamos de descargar en la carptea Mis documentos/ Arduino  y ng

Arrancaremos el software de arduino y  configuramos en el ide la placa Arduino en Herramientas –>Placa Arduino Uno ( o la placa que tengamos)   sin  olvidar el puerto de comunicaciones

Iremos a  File> Sketchbook> Arduino> Adalight  y uan vez cargado el sketch debemos ajustar el numero de leds  (88 en nuestro casoo) que  tengamos en la instalación  así como la velocidad máxima (500000 )

 #define NUM_LEDS 88 // Max LED count
#define LED_PIN 11 // arduino output pin – probably not required for WS2801
#define GROUND_PIN 10 // probably not required for WS2801
#define BRIGHTNESS 255 // maximum brightness
#define SPEED 500000 // virtual serial port speed, must be the same in boblight_config

Ahora ya podemos   compilar el software( botón primero que  pone un v de verificar).

 

adalight.PNG

 

Si no ha habido errores ahora podemos subir  el sw pulsando el botón de Upload( flechita a la derecha  en el software de Arduino.

Al contrario de lo que sucede  con el sketch LedlIght donde se iluminan las luces  de 3 colores rojo, verde y azul si todo ha ido bien, si tenemos conectadas los leds al arduino y a la fuente externa, cuando carguemos este  código dentro del Arduino solo lucirá el primer led de la cadena lo cual significará que estamos en buen camino.

IMG_20170221_170329.jpg

 

El código dentro de Arduino es no volátil, así que no se borrará aunque desconecte la tarjeta.

 

Sw en el PC

Una vez tenemos el sw de Adalight en un Arduino, toca instalar  el programa de captura que  envíe las señales correspondiente a nuestro Arduino

Entre los programas de captura  ambibox es el mejor especialmente con  windows 10, ya que no solo  tiene la capacidad para capturar su escritorio  sino de poner un fondo personalizable, convertir la tira en luces psicodelicas en función del audio,fondo variable automático ,plugins, etc

Se  puede encontrar aqui, tanto el software como el add-on para XBMC.

 

Una vez   descargado , durante la instalación se puede seleccionar  la opción de instalación completa ,marcando ademas la opción de descarga e instalación de playclaw.

Empezamos la configuración, pulsamos sobre el botón de mas ajustes :

more

En la parte inferior ,como vemos seleccionaremos como Device  Adalight , elegiremos  el puerto de comunicaciones ( el mismo al que este conectado el Arduino) y en el numero de zonas, coloremos  el numero de leds total que tengamos instalados ( en el ejemplo 88).

Asimismo no olvidar orden de colores,lo cual podemos obtener   fijando un color mediante el selector de Mode:Static Background   ,pinchando en el color ( aparecerá la paleta),pinchando en el check de Use baclight   y seleccionando en el combo order of colors la opción adecuada   hasta que el color de los leds sea similar al de paleta ( en mi caso es BGR)

 

fondo.PNG

IMG_20170221_204134.jpg

En este programa no olvidar  en salvar cada cambio en «Save Setting»  pues si no lo hacemos perderemos cualquier cambio que hagamos

Con las nuevas opciones ya podemos avanzar en la  configuración de nuestra instalación para lo cual seleccionaremos en Mode  :Screen capture

 

capturawindiow.PNG
Acto seguido configuramos la ubicación de los leds, pulsando  sobre SHOW AREAS OF CAPTURE y sobre el asistente de configuración,elegimos si queremos una instalación de 3 lados o 4. También  es importante la cantidad de leds que tenemos en cada lado de la TV especialmente horizontal o verticalmente.
Marcamos asimismo el orden de los leds, de izq->der o de der->izq.
Con esto ultimo ya tenemos nuestro software listo para funcionar

2017-02-21_20h59_23.png.
Este programa además tiene unas opciones muy interesantes, en esta pantalla:

adicional.png

Podemos configurar muchos parámetros de cada led, aplicar correcciones de color y gamma ,brillo ,etc

También podemos activar un servidor web para controlar el software desde el teléfono

servidor

 

El siguiente paso es instalar el add-on para el XBMC.Para ello Lo descompriremo y lo ponemos  en la ruta:»Users/Username/AppData/Roaming/XBMC/addons»

Ahora en el  apartado de add-on ( en el  menú de la izquierda ) se puede configurar un poco el comportamiento, aquí cada cual que lo puede personalizar a su gusto.

Una solución para que funcione a pantalla completa es usando el software playclaw.
Para ello, se pueden  es crear 2 perfiles dentro de ambibox, uno para el escritorio y otro para XBMC.
En este ultimo el sistema de captura que elijo es playclaw de modo que cuando se inicie un video en XBMC  dará la opción de elegir que perfil cargar, de modo que se  puede  elegir el perfil XBMC y asi  cuando se  salga de XBMC se  puede vplber   al perfil de escritorio.
Por supuesto se debe tener corriendo el software playclaw para que esto funcione.

 

Por ultimo  hay  un  modo  que haya las delicias de los que les guste la música  : el modo Color music , el cual permite modular las luces en función  de lo que se este escuchando por el canal de sonido principal.

 

musica.PNG

 

Obviamente si queremos que las luces acompañen a la imagen de video de la pantalla principal el modo de captura de pantalla elegido sera  [Software] Screen capture  y el Método  Windows 8  ( aunque tengamos Windows 10 instalado en nuestro equipo)

windows8.png

Para terminar dejamos dos test de vídeo , que a pantalla completa,  nos pueden servir para testear si nuestro sistema responde correctamente.

 

 

Cómo probar una tira de leds WS2801


Es muy frustrante adquirir  una costosa tira de leds  WS2801 ( ni importa que sea SMD o en formato «luces de navidad») ,  adherirla y fijarla  con mucho esmero a nuestro TV o monitor ,siguiendo  cuidadosamente los muchísimos tutoriales que hay en Internet (por ejemplo para simular  con esta  el famoso  sistema ambilight ),   y al final no conseguimos obtener nada  quizás porque nuestro hardware esta mal conectado (o tenemos algo estropeado)  o bien no hemos  configurado el sw ,o una mezcla de ambas cosas.

Antes de abandonar veamos  con la ayuda de una placa Arduino Uno conectada a nuestro PC  , vamos  a ver algunas pautas que seguro  nos resuelven el misterio:

 

En primer lugar usaremos una  placa Arduino UNO , para lo cual usaremos sólo  tres cables para  conectar a uno de los  extremos de la tira de leds a Arduino . Las conexiones estandarizadas que haremos sea cual sea la modalidad de la tira de leds son las siguientes:

  • CK de la tira WS2801  al pin GPIO 13(reloj del SPI)
  • SD de la tira WS2801  al pin GPIO11 (SPI MOSI).
  • GND de la tira WS2801 al GND de Arduino
  • +5v   de la tira WS2801  a  una fuente de alimentación aparte de mínimo 2Amp ,5VDC

En algunas tiras formato «luces de navidad» el hilo azul es  GND , el . Verde  es CK  y amarillo es SD ,y el cable rojo es +5V ,  pero esto no es norma porque las tiras SMD   suelen tener un cable rojo para CK, otro verde para SD , el negro para GND  y un violeta para +5V  , lo cual como vemos no sigue para nada la pauta anterior

Aunque no es necesario  también se puede utilizar un Arduino Mega, conectando  reloj del SPI al pin 52   ,  conectando SD al   pin 51 SPI MOSI  y por supuesto las masas.

Es importante destacar que los cables extra rojo y azul son para conectar  5V DC   de al menos 2 Amp ( en función del numero de leds que vayamos a conectar)  lo cual no deberíamos extraer de la placa Arduino sino de una fuente auxiliar DC de 5V    no  olvidando de unir ambas masas ( la de Arduino y de la fuente externa).

En el siguiente esquema podemos ver claramente este montaje.
led_pixels_wiring-diagram.png

Para probar   la tira  de leds    necesitamos si aun no lo tenemos dos herramientas :

  • El IDE de Arduino :Si no lo tiene ya instalado , descargar el Arduino IDE (entorno de desarrollo integrado) de la Web de Arduino. Seleccione la versión del software para su tipo de computadora: Windows, Mac o Linux   Es un poco diferente para cada uno de los tres sistemas operativos.
  • El IDE de Processing:A continuación, descargue el IDE de processing del sitio de procesamiento.Descomprima el fichero y cópielo al  directorio  c:\archivos de programa\ . Es importante que descargue la versión processing 2.2 pues la  versión 3.0  con el codigo Adalight  tendra  errores con él.
El IDE de Arduino y Processing  son  muy similares pero son dos programa muy distintos para diferentes funciones como vamos a  ver

Descargar Adalight ZIP

Por último, visite la página Adalight en Github y descargue el archivo ZIP. El botón de descarga está cerca de la parte superior izquierda de la página:

Después de descomprimir el archivo ZIP, necesitará mover algunos archivos en su lugar.

Si ha ejecutado el Arduino o el IDE de processing  debería haber  dos  correspondientes carpetas llamadas «Arduino» y de «Procesing» dentro de su carpeta personal de «Documents» (o «Mis documentos» en Windows). En ese caso, mover el contenido de la Arduino y procesando carpetas desde el archivo ZIP de Adalight en las carpetas correspondientes de documentos.

Si las carpetas de Arduino y Processing todavía no existen en el sistema,  puede copiar estas desde el archivo ZIP de Adalight a la carpeta de documentos.

Los otros archivos y carpetas en el archivo ZIP pueden ser ignoradas ya  que son para usuarios avanzados y no son esenciales para su uso.

Salga del Arduino y Processing  si se están ejecutando  pues las carpetas recién instaladas no serán visibles hasta la siguiente vez que inicien  estos programas.

Programar Arduino

Para  probar la tira de leds  en caso de que no lo tenga instalado deberá instalar  el IDE de Arduino.Si no lo tiene instalado el IDE de Arduino conecte la placa Arduino al ordenador con un cable USB A-B. Cuando conecta por primera vez, Windows los usuarios le pedirá que para instalar a un controlador.

Iniciar el IDE de Arduino. Después de un momento, debería ver una ventana azul y blanca simple con algunos botones.

En el menú archivo , seleccione Sketchbook,   y elegir  LEDstream. .

En el menú herramientas , seleccione la  placa  luego Arduino Uno (o tipo de cualquier placa Arduino que está usando).

En el menú herramientas , seleccione el Puerto Serial y luego el puerto correspondiente a su placa de Arduino.

Haga clic en el botón de subir cerca de la parte superior izquierda de la ventana:

ledsstreamarduino

Después de que el código sea cargado, si los LEDs están conectados correctamente conectados y la fuente de alimentación está conectada, todos  los LEDs deben encenderse en una secuencia  primero todo todos en flash rojo, luego  verde y después en azul aproximadamente un segundo cada uno, y luego se apagan todos. Se trata de un diagnóstico que indica el LED Arduino están trabajando correctamente y ahora están en espera de datos de que se  envíen desde nuestro ordenador con otro sw.

Gracias    a que el Arduino almacena el programa en memoria no volátil, sólo necesita hacer este proceso de carga una vez, no cada vez que desee utilizar Adalight.

Si los LED no parpadean, asegúrese de que el cableado coincide con la página anterior, y que la fuente de alimentación está conectada.
Si persiste el error  deberíamos probar la salida digital de los  pines 11 y 13 por si estuviesen defectuosas, para lo cual conecte dos leds normales  entre GND  y los pines 11 y 13  y cargue en Arduino el siguiente código de ejemplo:
void setup(){
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);//10 ok 11 ok
}void loop(){digitalWrite(13,HIGH);
digitalWrite(11,LOW);delay(1000);

digitalWrite(13,LOW);
digitalWrite(11,HIGH);

delay(1000);

Al subir el código anterior en nuestro Arduino ,  ya deberían parpadear ambos leds , lo cual sera un claro indicio que la placa Arduino esta bien:

led13

 

Una vez hayamos probado que la placa Arduino esta correcta  con el simple test anterior,  lo que nos queda es volver a cargar el sketch de  probar LedStream cargado inicialmente pues  hay evidencias  de que algún (o algunos) modulo(s)  mal que esta bloqueando el resto de módulos

En el caso de que sólo los primeros pocos LEDs respondan  y ,el resto permanece apagado o parpadea aleatoriamente o incluso no se encienda ninguno, tendrá que estudiar cual de  los módulos esta mal  .

Dentro de cada píxel  hay  una pequeña placa de circuito con el CI WS2801   el led RGB   y algunos componentes adicionales . Si no funciona  el primer píxel apretar las conexiones  donde el cable de cinta se une a la placa  e intente comprobar la conexión ,Si no  funcionase , puede recortar  ese modulo , conectando las conexiones al siguiente  píxel   y seguir la  dirección de conexión ( en el montaje SMD  llevan una flecha  que indica claramente el orden de conexiones)

ws2801

Si consigue que algunos  leds  funcionen pero aún así  algún  led posterior  parpadea ,y fallan después todos los siguientes en la cadena ,también  es muy  posible que ademas  haya algún  otro chip defectuoso  más ,  así que el proceso  anterior lo  deberá repetir  cortando el  led asignado a ese  IC defectuoso y restituyendo las conexiones soldando cablecillos entre el modulo anterior y el siguiente .

img_20170219_222107

Obviamente este proceso tendrá  que repetirlo  hasta que  el test de leds ejecutado desde el  sketch de ledstream haga que se enciendan completamente todos los ledss de un color en las tres secuencias.

Ejecutar el Software de Processing

Este paso debe realizarlo solo cuando el  test de ledStram muestre la secuencia de arranque de rojo, verde y azul apagándose todos después.

Inicie  el programa Processing ejecutando el archivo «C:\Program Files\processing-2.2.1-windows64\processing-2.2.1\processing.exe». Después de un momento, debería ver una ventana simple de blanca y gris  muy similar al IDE de Arduino.

En el menú archivo , seleccione carpeta de bocetos,  y seleccionar el último primero: Colorswirl.

 

color
Es muy importante anotar el numero de leds( en el ejemplo 88)   tras el primer import:

import processing.serial.*;int N_LEDS = 88; // Max of 65536

Haga clic en el botón Ejecutar cerca de la parte superior izquierda de la ventana: si el Arduino esta arrancado con el sketch (LedStram ) y por supuesto conectada la tira de leds a este  y alimentada con la tensión de 5V  se  debería ver un arco iris colorido de animación sobre los LED.

Si  no pasa nada , entonces usted tendrá que editar el código alrededor de la línea 26, buscando esta declaración:

myPort = serie new (this, Serial.list() [0], 115200);

Necesitaremos cambiar el código  que abre la conexión serie con el Arduino. Una ruta es a través de ensayo y error: tratar  Serial.list() [1], entonces Serial.list() [2]y así sucesivamente, volver a arrancar el programa cada vez para ver si funciona.

Para un enfoque más científico, añadir una nueva línea de código antes de ejecutar el sketch:

println(Serial.list());

Cuando se ejecuta, muestra una lista de todos los puertos serie o dispositivos. Si sabe que dispositivo o puerto COM corresponde al Arduino, puede cambiar la línea original para incluir estos datos.

Por ejemplo, ahora se puede leer:

myPort = serie new (this, «COM6», 115200);

Obviamente esto será diferente en cada sistema, por lo que dependerá de cada situación..

Si aun tiene dudas ,otra manera de localizar el nombre del puerto, es en el IDE de Arduino, pues  el puerto seleccionado se ve  en el menú Tools→Serial Port antes de programar el chip.

Una vez conseguido este efecto sobre los leds , este resultado es sinónimo que absolutamente todos los leds son direccionables por lo que ya puede usar su conjunto de tiras de leds  para cualquier aplicación con la certeza de que ya  le debería funcionar.
Si planea organizar los LEDs de manera similar a los ejemplos  entonces tendrá nada más que cambiar  el software. Si utiliza un diseño diferente, necesitará realizar algunos ajustes en el código  para identificar su distribución concreta

Como nota ultima :Antes de montar los LEDs detrás del monitor o TV , nunca se olvide de ejecutar el software con los LEDs sueltos en su escritorio para confirmar que todo funciona. !Esto ahorrará tiempo y angustia en el raro evento que un led vuelva a estar mal  tenga que sustituirlo!.

img_20170219_225945

 

Regalos para apasionados de la tecnologia


En  la actualidad  se pueden encontrar todo tipo de artilugios tecnológicos a cualquier precio y para todos los gustos, pero a veces queremos llegar más lejos  construyendo nosotros mismos muestras propias creaciones . En esta linea, tanto para  potenciar nuestra creatividad ,como ayudarnos en nuestros proyectos hemos pensado en una lista de regalos tecnológicos que  quizás puedan servir de inspiración  .

Raspberri Pi 3

Actualmente es una de las placas mas potentes que existe (incluso mucho mas que Arduino y todos sus clones) gracias a su potente chipset Broadcom a 1.2 GHz con procesador ARM Cortex-A53 de 64 bits y cuatro núcleos,coprocesador multimedia de doble núcleo Videocore IV, memoria de 1 GB LPDDR2 y Bluetooth v4.1 así como sus conexiones :

  • Ethernet,
  • HDMI
  • VGA
  •  CSI,
  •  USB ( 4 puertos)
Esta nueva versión  integra un chip que la dota con conectividad Wifi y Bluetooth 4.1 de bajo consumo y cuenta con administración de energía mejorada que permite trabajar con más dispositivos USB,Permite usar más energía a los puertos USB. Podrás conectar más dispositivos a los puertos USB sin necesidad de usar hubs USB alimentados. También al no necesitar usar adaptadores WiFi por USB, tendrá más energía disponible en los puertos.
Raspberry pi 3
Para empezar a usar esta estupenda placa  tendremos que crear la imagen del SO en una SD  como describimos en este post. En cuanto a periféricos ,podemos conectar un ratón o teclado convencional con conexión usb ,  o la mejor opción ,optar por  un mini teclado y ratón  inalambricos a 2.4GHz que se pueden comprar por 15€ .Esta opción alimentada por baterías de litio , simplificará las conexiones al usar un sólo puerto usb para el dongle  y nos permitirá interactuar con la RPIII con mayor libertad.
raton y teclado en dongle
En cuanto a  la alimentación  podemos usar  un  cargador de móvil  convencional siempre que suministre al menos 1Amp (5VDC)  y si se pregunta por la caja , aunque se puede comprar lo mejor es construirnosla nosotros mismos ,al puro estilo maker.
La RPI como podemos ver en este blog , permite desde crear un ordenador económico  con Pixel (Debian) hasta un emulador de juegos clásicos ,un NAS, un hub domótico ,aplicaciones de IoT o el centro multimedia definitivo. Sale por 40 euros.

 

Kuman K11 Arduino

Para aquellas personas que opte por Arduino , exite un Kit de iniciación para Arduino con 31 componentes donde se incluye como no podia ser otra manera el corazón :na placa compatible con Arduino UNO R3.

Ademas por supuesto ,si le e gusta puede ir ampliando con más componentes. El precio del kit  básico incluido el Ardunino Uno R3 cuesta 46 euros.

 

 

Kit de inicacion para Arduino

Los componentes que incluye este kit son los siguientes;

  •  UNO R3 + cable USB x1
  •  Desarrollo Junta de Expansión x1
  • Mini tabla de pan x1
  •  Placa de pan 830 Point Solderless x1
  •  Caja de componentes SMD x1
  • LED (rojo) x5
  •  LED (amarillo) x5
  •  LED (verde) x5
  •  Buzzer activo x1
  •  Buzzer pasivo x1
  •  Mini botón x4
  •  Displays LED de siete segmentos (1 dígito) x2
  • Interruptores de bola x2
  • LDR (Resistencia dependientes de la luz) x3
  •  Potenciómetro x1
  •  Sensor de temperatura LM35 x1
  •  Sensor de llama x1
  • Sensor infrarrojo x1
  •  Resistencias de 220 ohmios x8
  • Resistencias de 1k ohmio x5
  • Resistencia de 10k ohmios x5
  • Cabezal de 40 pines x1
  • Hembra de 4pcs los 20cm al cable femenino x1 de Dupont
  •  Cables de puente x20
  • Batería 9V x1
  •  Clip de batería de 9V x1
  •  Control Remoto IR x1
  •  1602 Módulos LCD x1
  •  Servomotores SG90 9G x1
  •  Tarjeta de conductor ULN2003 x1
  •  Motor paso a paso 5V x1
  •  Caja de almacenaje x1

Este es un Super Starter Kit actualizado, desarrollado especialmente para aquellos principiantes que estén interesados en Arduino  con componentes de alta calidad,  pues como vemos, incluye un conjunto completo de componentes electrónicos útiles para Arduino conteniendo todos los componentes que necesita para comenzar su aprendizaje de programación para Arduino .

Es perfecto para las personas que desean iniciarse en el mundo del arduino o tengan alguna asignatura en sus estudios, ya que tiene una gran variedad de accesorios que le permiten «trastear» en el increíble mundo de Arduino ( la verdad no he visto que fuera necesario comprar nada mas). Todos los componentes ademas están organizados en una caja de plástico con separadores ,lo cual   se agradece para tenerlo todo recogido.

Los tutoriales detallados incluyendo la introducción del proyecto y el código fuente, contactando con el vendedor,   aunque en este humilde blog, o en Internet, encontrará miles de ejemplos para sacarle el máximo partido a este kit.

 

 

Memoria diminuta

Si su televisor o centro multimedia tiene capacidad para reproducir contenido desde una memoria USB, este modelo de Sandisk es USB 3.0 para una transferencia rápida de archivos desde su ordenador, y a la vez muy pequeño para que pase desapercibido en el puerto de su televisor.

El modelo de  64GB  sale por unos  17€  ,pero las hay de  128 GB  por  30€. ( o de capacidades inferiores de 16GB o 32GB rondando los precios entre 6€ y 10€)

 

memoria diminuta

SSD de 120 GB

Gracias a un disco sólido se  puede ampliar la vida útil de un ordenador y maximizar la inversión actual al sustituir la unidad de disco duro convencional ( que podrá seguir usando gracias a una económica  caja )   por una unidad de estado sólido (SSD) Kingston.

Esta es  la forma más rentable de mejorar de manera espectacular la capacidad de respuesta del sistema mejorando machismo el tiempo de arranque y en general el rendimiento  ya que el tiempo de acceso a disco  es espectacularmente mejor que en los discos convencionales.

Este modelo  incluyen una controladora LSI SandForce optimizada para memoria Flash de nueva generación con la que ofrecen el súmmum de la calidad y la fiabilidad de dos marcas líder de SSD. Al estar constituidas por componentes de estado sólido y no tener piezas móviles, son resistentes a los golpes y las caídas. Las unidades de estado sólido Kingston están respaldadas por soporte técnico gratuito y la legendaria fiabilidad Kingston

Este modelo de  SSD  con una capacidad de 120GB ( mas que suficiente para contener Windows 10) o de 2.5 pulgadas para potenciar su PC o para incluirlo en un NAS, sale por por poco dinero: 48 euros.

ssd de 12GB

Kit de herramientas

Ya sea para montar la última gráfica que le ha llegado ,así como para cambiar la pantalla rota de su smarthone ,la verdad es que  uno nunca sabe cuándo necesitará un set de herramientas tan completo pues incluye diferentes puntas para diferentes propósitos: puntiaguda para alta precisión, curvada para exactitud ergonómica y redondeada para levantar componentes más pesados

Son perfectas para tareas que requieran coger, sujetar, extraer y/o apretar con componentes .Incluye capa protectora contra la ESD para evitar dañar los componentes electrónicos sensibles

 

De iFixit y cuesta 55 euros. quizás un poco alto pero es sabido que esta marca destaca por su alta calidad ,asi que deberíamos  sopesar esta importante característica pues a veces nuestras herramientas no están a la altura de lo que esperamos de  ellas.

Clon de hromecast

La manera más sencilla y con más compatibilidad para ver contenido en un televisor controlando la fuente desde un smartphone. El original de Google cuesta sobre los 40€  pero hay  muchas versiones clónicas que hacen prácticamente la misma función  , por muchísimo  menos coste como por ejemplo el MiraScreen que cuesta sólo  14 euros. 

Este dispositivo soporta compartir Pantalla pudiendo usar Airplay, miracast o  DLNA (DLNA: Estándar) y la conectividad apoyada es  Wi-Fi: 802.11b / g / n inalámbrica de 2.4GHz WiFi 150Mbps  y  lleva  antena externa  WiFi para proporcionar 10M cobertura

La salida de vídeo es hasta 1080p HDMI de salida soportando  los formatos :

  • Video :AVI / DIVX / MKV / TS / DAT / MPG / MPRG / MOV / MP4 / RM / RMVB / WMV. Soporte de formatos de audio: MP1 / MP2 / MP3 / WMA / OGG / ADPCM-WAV / PCM-WAV / AAC.
  • Audio : .MP3, WAV.
  • Fotos : JPEG / BMP.

 

 

Mirascreen

El consumo de energía ultra bajo, consumiendo  pocas mA y es portátil compacto  para facilitar su transporte.

Hay  personas que lo usan en el coche  pues muchos reproductores de coche cuentan con soporte HDMI, de esta forma desde un teléfono inalámbrico podemos conectarlo  a la pantalla del coche convirtiendo su coche al instante en vehículo inteligente. Otras utilidad  de  est dispositivo es el  E-learning, reunión de negocios pues  nos liberamos de las ataduras de cable, siendo  las reuniones en inteligentes y eficientes. Tambien son perfectas para disfrutar de la gran pantalla como  Ver películas, jugar, crear su propio cine exclusivo,ver fotos juegos ,etc  .

Por cierto el mando a distancia se hace desde el propio  Teléfono ,Labtop o Tablet PC.

 

Sable electrónico Kylo Ren

Para terminar para los mas pequeños   ( o no ) , para practicar de cara a nuevos juegos de Star Wars o simplemente porque quiere ser  como un niño con zapatos nuevos. Este sable se ilumina y lo componen diferentes piezas teniendo el  mismo aspecto que la película.Incluye daga de luz  simulando clásicos sonidos y luces. Es ademas combinable con otros sables Master Jedi (se venden por separado)

Cuesta 30 euros.

sable laser

 

 

Construcción de un droide casero


Para los amantes de Star Wars, si se tienen las ganas  y el tiempo suficiente  también es posible  crear su propia versión de un BB8 en tamaño real usando materiales reciclados.De hecho debido a la limitación de materiales, el autor recurrió a su ingenio usando muchos materiales que encontró a su alrededor como por ejemplo desodorantes roll-on como rodamientos de bolas, de lona como fibra de vidrio, bolas de Navidad como el ojo & etc ..).

Puede parecer poco ortodoxo pero haciendo uso de estos materiales el enfoque en la construcción del proyecto no requiere  impresoras 3D,  CNC o fresadoras.

El androide puede ser controlado por cualquier smartphone y ademas también habla . El diseño del conjunto además el autor decidió limitarlo a $ 120, para que sea más barato que el juguete esfero .

Mas concretamente el autor uso para el cuerpo  del  droide los siguientes materiales:

  • Pelota de playa inflable ( diámetro: 50 cm)
  •  Antiguo Periódico
  •  Llanura de tela de lona
  •  2 botellas de cola blanca ( a.k.a pegamento Elmer )
  • 1 Botella de Woodglue
  •  Negro, gris y naranja ( mandarina ) pintura de aerosol
  •  Roll-on Desodorantes

Y para la cabeza de BB8  los siguientes:

  • Espuma de poliestireno de la bola ( diámetro: 300 mm / 12 pulgadas )
  • Bola de Navidad ( tamaño de un ojo BB8 )
  • Una  antena de WiFi ( Prop solamente)
  • Paños Percha
  • Roll-on Desodorantes
  • Negro, gris y naranja ( mandarina ) pintura de aerosol
  •  Super pegamento
  • Imanes de neodimio

Por supuesto también  hará falta de una mínima  electrónica para gobernar el droide :

  • Arduino Uno
  • Pololu Dual VNH5019 Motor Shield
  • 2x Pololu (19:1) 37D Metal Gearbox
  • Módulo Bluetooth HC05
  • Pack de 4 Cell batería de litio ( 2x )
  • Interruptor,jack  DC  , cable s , estaño para soldar,tec

Aparte de ser muy espectacular  BB8 también tiene un diseño muy interesante de construcción  de modo que uno  no puede dejar de preguntarse cómo funciona este droide

Realmente tomó un poco de ingeniería avanzada y una mente creativa para inventar una cosa así. La idea de cómo funciona el mecanismo, implica en gran medida los conceptos de la física y la electrónica. Todo es cuestión de mantener simpre estable el  centro de gravedad. El diseño BB8 original que se utilizó forma la película, utiliza un diseño de rueda de hámster. Básicamente, hay un robot de dos ruedas rodando dentro de una esfera. La cabeza se mantiene pegada  gracias  a la presencia de imanes.

 

Además, este sitio web explica muy bien, cómo funciona BB8! (http://www.howbb8works.com/ )

Para el cuerpo el autor coloco tiras de papel de periódico en la superficie de la pelota de playa  con su mezcla de pegamento. Básicamente es como una enorme piñata utilizando  la pelota de playa como  molde para el papel maché.

Para acelerar el proceso  adema se puede  utilizar un secador de pelo para acelerar el proceso de secado. O tal vez encender  un ventilador eléctrico para el papel maché y  dejar secar durante la noche.

Sobre el papel ya seco se pude poner  fibra de vidrio o lienzo normal en lugar de la fibra de vidrio. El lienzo se endurece muy bien y funciona como un buen papel maché. (Cartón tela)

Para el proceso de alisado se hace con una multiherramienta con el accesorio de lijar y  una lata de masilla de madera cuidadosamente aplicándolo sobre la superficie exterior del cuerpo de BB8 usando un aplicador de metal para hacer el trabajo. La masilla llena los vacíos.Cualquier exceso de masilla será eliminada después del proceso de lijado.

Una vez seca la masilla el autor lijo  la superficie del cuerpo del BB8 utilizando  un grano grueso (100-400 grit) de papel de lija.

Lijado el cuerpo utilizando videos e imágenes de la red como nuestra referencia dibujo formas circulares mediante el uso de una brújula. Mientras que las líneas rectas que cae sobre la superficie curva del cuerpo pueden ser rastreados con cinta métrica de sastre. Una vez perfilado el autor pintó el cuerpo de BB8 con 3 colores diferentes de pintura en aerosol: blanco, gris y naranja.

Respecto a la cabeza, mide  30 cm de diámetro. Básicamente se trata de una cabeza semicircular con un borde biselado, un poco fuera de la mediana. Se pude utilizar un contenedor de basura como una plantilla, a continuación, utilizar un marcador para marcar su recorte y una sierra para cortar la pelota de espuma de poliestireno en la mitad (casi la mitad).Puede reducir el peso de ahuecamiento la parte interna de la pelota o mediante la fusión / quema de la espuma de poliestireno usando un soplete o un encendedor.Una vez aplicada masilla el autor también pintó la cabeza de BB8 con 3 colores diferentes de pintura en aerosol: blanco, gris y naranja.

BB8  tiene dos antenas: Una es una antena inopertiva de WiFi caliente pegada a la cabeza. Por la otra antena, se utilizó un alambre sólido blanco.

BB8 tiene un mecanismo magnético que mantiene la cabeza erguida. Él tiene una interna y externa. En este  diseño, el autor ha pegado en caliente de cuatro desodorantes roll-on (como  improvisadas rodillos) en una placa de madera redonda. A continuación se adjunta un servo con dos grandes imanes que se le atribuye. La placa está montada a la base con cuatro árboles de madera alargados.

Mecanismo 

Se utiliza una madera MDF de 1/4 del grosor de la base del mecanismo robótico dentro del cuerpo de BB8.

En cuanto a la  batería es una de 4 celdas construida en base de  cuatro baterías 18650 (3.7v 2000 mAh) de iones de litio en serie. 18650 baterías recargables son muy baratos y comunes hoy en día. Hizo dos conjuntos de éstos y los conectó en paralelo que dan un total de 14,4 V (4,000mAh)

Ya solo queda montar la caja de engranajes de metal junto con los soportes en la plataforma de MDF / madera utilizando tuercas y tornillos .

Gracias a una aplicación de teléfono a través de Bluetooth se envían caracteres cada vez que se pulsa un botón. El módulo Bluetooth recibe los datos mientras que el Arduino interpreta y procesa estos datos. El Arduino envía señales al blindaje del conductor del motor para dar una señal de ir por la conmutación de los motores.

Solo nos queda montar el Arduino a la plataforma, enchufar el controlador del motor Escudo encima del Arduino,conectar los cables del motor izquierda a M1A y M1b,conectar los cables del motor derecho de M2A y M2B y finalmente las   baterías Ion-Litio

Para terminar tenemos que conectar el modulo de bluetooth al escudo de Arduino:

 

bluettooth

Y  solo queda programar Arduino . Antes de cargar el código / programa para la placa Arduino Uno, asegúrese de instalar el controlador de biblioteca de Pololu motor. También, por favor no se olvide de desconectar las líneas TX-RX del módulo Bluetooth desde el Arduino. Esto se hace para evitar que el módulo Bluetooth de interferir con el Arduino durante el proceso de programación.

No sabe cómo instalar una biblioteca de Arduino? Encontrar las instrucciones aquí! ( Haga clic en mí ).

 

El autor ha usado  una  aplicación de teléfono  llamada  ‘Arduino Bluetooth RC Car’. Es una aplicación muy fácil de usar.

Cómo usarlo:

  • Descargar la aplicación de la forma de Play Store / itunes.
  •  Poner en marcha la aplicación
  • Abra la ventana de configuración (icono de llave inglesa)
  • Toque; conectar.
  • Seleccione HC-05 (El nombre del módulo Bluetooth)
  •  La luz roja cambiará a verde una vez que se establece la comunicación BT.

 

!Y con esto ya estaría listo el droide!

Si quiere ver el proceso completo puede ver el siguiente vídeo de construcción de droide:

 

 

Es un proyecto grande pero todo está explicado gracias a Instructables y el vídeo anterior  de YouTube . Si cree que no es posible, en el siguiente vídeo puede verlo en acción:

 

Fuente   aqui 

LLega al mercado un MiniArduino


En muchos proyectos ocurre que no es necesario utilizar muchos pines o se necesita una placa lo más reducida en tamaño posible, de modo que Adafruit ha diseñado el Trinket, que es la primera placa programable con el IDE de Arduino que utiliza un ATtiny85.

Este pequeño microcontrolador está lleno de sorpresas con sólo 9gr de peso   y medidas  12 x 7,5 x 1 cm

2016-04-06_23h51_27

No se deje engañar por su pequeño tamaño pues Trinket, tiene 8K de memoria flash, 512 bytes de SRAM y 5 pines I/O incluyendo pines PWM. Puede funcionar a 8 y 16 MHz modificando su oscilador por software.

Se puede programar directamente desde el entorno IDE de Arduino haciendo una simple modificación (ver documentación), aunque tenga en cuenta que debido a que tiene un microcontrolador diferente no es 100% compatible, sino que hay algunas variaciones, como por ejemplo la cantidad de pines disponibles. Por todo lo demás es una placa a un precio muy reducido llena de posibilidades para su proximo proyecto.

Otra peculariedad es que como incluye los pines  sin soldar,puede soldar cables directamente sobre los pads o montar los pines.

Características:

  • Microcontrolador: ATtiny85 (8K flash, 512 byte SRAM, 512 bytes EEPROM)
  • Oscilador interno de 8MHz, puede ajustarse por software a 16MHz
  • USB bootloader con LED indicador. Puede programarse con un USBtinyISP para que pueda programar con AVRdude (con una simple modificación de configuración) y / o el IDE de Arduino (con algunas modificaciones sencillas de configuración)avrdude o desde el IDE de Arduino (con una simple modificación)
  • Conexión Micro-USB para alimentación y programación (no tiene puerto serial)
  • 5.25K bytes disponibles para el programa (2.75K los utiliza el bootloader)
  • Alimentación: 5V ( disponible también en 3V)
  • Regulador interno 3.3V a bordo o regulador de potencia 5.0V con capacidad de salida de 150 mA y ultra-bajo de deserción. Se puede alimentar hasta con 16V
  • Incluye protección de polaridad, protección térmica y limitador de corriente
  • LED a bordo de energía LED verde y rojo pin # 1 LED
  • Botón de reposición para entrar en el gestor de arranque o reinicio del programa. No hay necesidad de desconectar / reconectar el tablero cada vez que desea restablecer o actualizar!
  • 5 GPIO – 2 compartidos con la interfaz USB. Los 3 pines IO independientes tienen 1 entrada analógica y 2 de salida PWM también. Los 2 pines IO compartidos tienen más de 2 entradas analógicas y una salida PWM más.Hardware I2C / SPI capacidad de ruptura y sensor de interconexión.
  • Pulsador de RESET
  • Soporte I2C / SPI
  • Funciona con la mayoría de librerías básicas de Arduino
  • Dimensiones: 31 x 15.5 x 5 mm
  • Peso: 1.85 gramos

 

trinket5.png

trinket_adafruit_products_tour.gif

Hay dos versiones del Trinket: 3V y 5V. Ellos son casi idénticos, pero hay ligeras diferencias en la asignación de señales: uno tiene un pin de salida 3V en la parte inferior derecha, el otro tiene un pin de salida de 5V vez.

Vamos a empezar con los mejores pasadores BAT + y USB + y GND

  • BAT + es el pin de entrada de la batería +. Si desea encender la Trinket de un adaptador de alimentación o batería o panel solar o cualquier otro tipo de fuente de alimentación, conecte el pin + (positivo) aquí! Se pueden conectar hasta 16 V DC. Si usted tiene una Trinket de 3V, querrá al menos de entrada 3.5V para conseguir una buena salida de 3.3V. Si usted tiene una Trinket 5V, se sugiere 5,5 V o superior. Esta entrada está protegida contra polaridad invertida.
  • USB + es el pin de salida USB +. Si desea utilizar la energía de 5V USB para algo, como la carga de una batería, o si necesita más de 150mA de corriente (este pin puede suministrar 500 mA + de puertos USB) o para detectar cuando la Trinket está conectado a USB, esta patilla tener 5V en él si y sólo si su enchufado en algo a través del conector mini-B
  • GND es el terminal de tierra común, que se utiliza para la lógica y el poder. Está conectado con el suelo USB y el regulador de potencia, etc. Este es el pin que querrá utilizar para cualquier y todas las conexiones a tierra

 

A continuación vamos a cubrir los 5   pines GPIO (General Purpose Entrada Salida)Todos los pines GPIO pueden utilizarse como entradas digitales, salidas digitales, para los LED, botones e interruptores, etc. Ellos pueden proporcionar hasta 20 mA de corriente. No conecte un motor u otro componente de alta energía directamente a los pines! En su lugar, utilizar un transistor para alimentar el motor de corriente continua de encendido / apagado

En un Trinket de 3V, el GPIO son 3.3V nivel de salida, y no debe ser utilizado con entradas 5V. En un Trinket de 5V, el GPIO están 5V nivel de salida, y se puede utilizar con entradas de 3V, pero puede dañar los dispositivos electrónicos que se 3V de entrada solo

Los 3 primeros pines  están completamente «libres», no son utilizados por la conexión USB para que nunca tenga que preocuparse por la interfaz USB interferir con ellos en la programación:

  • GPIO # 0 – este está conectado a PB0 en la ATtiny85. Este perno se puede utilizar como una salida de PWM, y también se utiliza para los datos I2C, y la entrada de datos SPI.
  • GPIO # 1 – esto está conectado a PB1 en la ATtiny85. Este perno se puede utilizar como una salida de PWM, y también se utiliza para la salida de datos SPI. Este perno también está conectado al LED a bordo (como pasador 13 en un Arduino regular).
  • GPIO # 2 – esto está conectado a PB2 en la ATtiny85. Este perno se puede utilizar como una entrada analógica (conocido como analógica A1), y también se utiliza para el reloj I2C y el reloj SPI.

Los próximos 2 pines también se utilizan para la programación USB. Esto significa que cuando la placa está conectada a un ordenador y en modo de arranque o en el medio de la carga de un nuevo programa, que se utilizan para el envío de datos a / desde el ordenador! Es posible compartir estos pines si se tiene cuidado. El mejor uso de estos contactos es como salidas a cosas como LEDs, o ideas para cosas como botones y sólo asegúrese de no presionar los botones mientras está conectado a USB. No queríamos mantener estos pines del tablero pero le recomendamos no utilizarlos a menos que esté seguro de que los necesite, ya que podría tener que desconectar las conexiones de reprogramar la Trinket!

  • GPIO # 3 – esto está conectado a PB3 en el ATtiny85. Este pin se utiliza para la programación USB, pero también es una entrada analógica conoce como analógica A3
    Este perno tiene un pull-up 1.5K a 3.3V incorporado en el Trinket, para comm USB lo que puede ser difícil de utilizar para entrada analógica o digital.
  • GPIO # 4 – esto está conectado a PB4 en el ATtiny85. Este pin se utiliza para la programación de USB, pero también se puede utilizar como una salida analógica PWM y una entrada analógica conocida como Analog A2

Tenga en cuenta la numeración de los pines analógicos: Pin 2 es analógica 1, Pin 3 es analógica 3, Pin 4 es analógica 2. Para el Uno, los términos A1, A2 y A3 se asignan para usted. Para la ATtiny85, no lo son. Así que para el pinMode llama, utilice el número de pines (estarcido sobre la Trinket), para analogRead, utilice el número analógico.

Las últimas dos pines están en la parte inferior del tablero. En primer lugar es el pin de reset Rst. Esto está directamente conectado con pin de reset del ATtiny85 y también el botón de reinicio que se encuentra justo al lado de él. El pin de reset se utiliza para entrar en el gestor de arranque y poner a cero el tablero en caso de que desee reiniciarlo. También es posible utilizar este pin  para reprogramar el gestor de arranque o eliminar por completo el cargador de arranque si tiene un programador AVR como un AVR dragón, MKII o USBtinyISP. Si desea volver a programar el tablero cuando su en un recinto o caja, o de otro modo difíciles de alcanzar, alambre de un simple botón desde el pin RST al suelo y presione para entrar en el gestor de arranque durante 10 segundos. El LED # 1 pulsará para hacerle saber. El botón de reinicio no se puede utilizar como un GPIO, pero creemos que su mucho más útil como un botón de reinicio adecuado!

Por último tenemos el pin de salida del regulador. Hay un mini-regulador de potencia a bordo que se llevará hasta 16V DC de la conexión BAT + o USB y regular hacia abajo a una constante de 3,3 V o 5,0 V DC por lo que es seguro para usar con sus sensores y LEDs. En una Trinket de 3V, esta salida será de aproximadamente 3.3V. En una Trinket de 5V, la salida será 5V por lo tenga en cuenta en caso de que desee cambiar uno con el otro. Puede consumir hasta 150mA de salida de este pin. Si necesita más corriente, es posible que desee obtener directamente desde el USB + pasador, que suministra 5V 500 mA desde un ordenador o adaptador de pared

Ya   que conocemos   los pines del Trinket  , nos toca antes de empezar  instalar los drivers.  Si está utilizando Windows, antes de enchufar su tablero, tendrá que instalar un controlador posiblemente. Haga clic a continuación para descargar el instalador de controladores desde la pagina de Github( controlador de Windows para instalar los controladores adecuados para su placa . )

Descargue  y ejecute el instalador

flora_1download.png

Ejecutar el instalador! Como nos agrupamos los conductores SiLabs y FTDI así, tendrá que hacer clic a través de la licencia

flora_2lic.png

Seleccione los controladores que desea instalar:

flora_3select.png

De forma predeterminada, instalamos el 32u4 Pluma, Pluma M0, Flora y conductores Gemma / USBtinyISP Trinket / Pro / Trinket.

También puede, opcionalmente, instalar el Arduino Gemma (diferente de la Adafruit Gemma!), Conductores HUZZAH y Metro

Haga clic en Instalar para continuar la instalación

flora_4complete.png

 

Para Mac OS X o Linux no es necesario instalar ningún controlador.

¿Cómo iniciar el gestor de arranque?  

Antes de intentar cargar el código de la placa que debe estar en el modo de arranque. Eso significa que su escucha para un sketch o un programa que se enviará a ella

Cuando la placa  está en modo de arranque, el LED rojo se enciende . Una vez que el LED rojo se detiene pulsante, se debe presionar el botón de reinicio para volver a entrar en modo de arranque

La placa a debe estar conectada a un ordenador mediante un cable USB para entrar en modo de arranque. Puede entrar en el modo de arranque pulsando el pequeño botón en el tablero con la uña. El gestor de arranque ‘tiempo fuera’ después de 10 segundos, por lo que volver a entrar en el modo de arranque simplemente vuelva a presionar el botón!

!No presionar y mantener pulsado el botón de reinicio, y asegúrese de presionar y soltar!

 

 

Configuración con Arduino IDE

Lo más probable es, es si adquiere un placa  Trinket,  que quiera programarla  con el IDE de Arduino. Tenga en cuenta que la Trinket no es un completo compatible con Arduino, que utiliza un chip diferente (menor) que el Uno, Mega, Leonardo o de vencimiento. Sin embargo, hay muchos pequeños bocetos y bibliotecas que funcionan muy bien. Algunos ni siquiera puede necesitar otros que los números de pin nada.

A pesar de que la placa Trinket tiene un conector USB, no tiene una capacidad de «consola serie», por lo que no se puede utilizar de serie para enviar y recibir datos a /desde un ordenador!

Cuando esté listo para cargar, asegúrese de que el «programador» en el menú Herramientas se establece en USBtinyISP!Configuración Arduino IDE
Sólo tiene que seguir los pasos de los pasos de la guía de configuración Adafruit Arduino IDE para agregar fácilmente el apoyo a la Trinket, Gemma, Pro Trinket y más al IDE de Arduino.Cuando haya terminado de instalar el gestor de IDE y tabla de poner en volver a esta página para continuar con la guía de la Trinket.Ejemplo  de Hello World  ( Parpadeo de un led)Después de instalar el IDE Arduino con soporte para tablas de Adafruit puede cargar un parpadeo ejemplo simple para probar la carga de la Trinket funciona como se espera LED. Abra el IDE de Arduino y reemplaze el código de sketch  con el código del led intermitente:

Si está utilizando Linux puede que tenga que ser «root» de ejecutar el programa de Arduino para tener acceso al puerto USB (o añadir excepciones udev)

En el siguiente ejemplo de  parpadeo  se enciende un LED durante un segundo y  luego se apaga durante un segundo , ejecutándose en un bucle indefinido.

 

  1. /*
  2. Blink
  3. */
  4. int led = 1; // blink ‘digital’ pin 1 – AKA the built in red LED
  5.  
  6. // the setup routine runs once when you press reset:
  7. void setup() {
  8. // initialize the digital pin as an output.
  9. pinMode(led, OUTPUT);
  10.  
  11. }
  12.  
  13. // the loop routine runs over and over again forever:
  14. void loop() {
  15. digitalWrite(led, HIGH);
  16. delay(1000);
  17. digitalWrite(led, LOW);
  18. delay(1000);
  19. }

 

Para subir el código a la placa trinket siga los siguientes sencillos pasos:

  •   Seleccionar la placa adecuada desde el menú Herramientas-> Placa  ->Adafruit Trinket 8Mhzadafruit_products_selecttrinket.gif
  •  Seleccionar USBtinyISP desde el Herramientas- > Programador   –>UsbtinyISP

trinket_adafruit_products_selectusbtiny.gif

 

 

A continuación, seleccione USBtinyISP desde  Tools-> Programmer submenú

Enchufe la  placa , asegúranadose   de ver pulsante el LED verde encendido (potencia bueno) y el LED rojo.

Pulse el botón si el LED rojo no está latiendo, para entrar en modo de arranque.

Haga clic en el botón Upload (o seleccione Archivo-> Cargar)

trinket_adafruit_products_upload.gif
Si todo va bien debería ver lo siguiente (no hay mensajes de error de color rojo) y, por supuesto, el LED rojo de la Trinket parpadeará de encendido / apagado una vez por segundo
trinket_adafruit_products_blinkOK.gif

¿Algo salió mal?  Si obtiene el mensaje de error avrdude: Error: No se pudo encontrar el dispositivo USBtiny (0x1781 / 0xc9f)
Eso significa que el gestor de arranque no estaba activo. Asegúrese de presionar el botón de la Trinket para activar el gestor de arranque antes de hacer clic en el botón Cargar.

trinket_adafruit_products_idecouldntfind.gif

Si se obtiene una gran cantidad de texto en rojo, errores y también una advertencia sobre Verificación frustrada, compruebe que ha actualizado el archivo anterior avrdude.conf – si no actualiza la descripción de la ATtiny85 en el archivo de configuración mediante su sustitución, el IDE no sabrá que ser paciente con el gestor de arranque de la Trinket y tendrá muchos errores de carga

trinket_adafruit_products_verifcationfail.gif

En Linux si obtiene el mensaje de error «usbtiny_receive: error al enviar mensaje de control: Error de protocolo (esperado 4, conseguido -71)»
Estos por lo general pueden ser ignorados y no deben interferir con la carga del programa. Desafortunadamente núcleo de Linux USB es un poco raro que comunica con el procesador ATtiny85 en la Trinket / Gemma y puede causar estos errores. Si una carga falla, inténtelo de nuevo ya que probablemente es un problema intermitente.

Programación con Arduino IDE

Una vez que haya recibido el ejemplo básico de parpadeo para trabajar, puede probar algunas de las otras funciones de Arduino y bibliotecas. Vamos a ver  más ejemplos de código  con  pinMode () , digitalWrite () y digitalRead ()

pinMode()
Puede utilizar pinMode () para realizar entradas y salidas en cualquiera de los pines digitales 0 # a través de # 4
digitalWrite también funciona bien, y también se puede utilizar con pinMode (INPUT) para activar la resistencia pull-up en un perno

Por ejemplo, para establecer digital # 0 como entrada, con un pull-up interna, y luego comprobar si se está tirando a tierra a través de un botón o interruptor y encender el LED rojo cuando se pulsa:

  1. /*
  2. Button
  3. Turns on an LED when a switch connected from #0 to ground is pressed
  4.  
  5. #define SWITCH 0
  6. #define LED 1
  7.  
  8. // the setup routine runs once when you press reset:
  9. void setup() {
  10. // initialize the LED pin as an output.
  11. pinMode(LED, OUTPUT);
  12. // initialize the SWITCH pin as an input.
  13. pinMode(SWITCH, INPUT);
  14. // …with a pullup
  15. digitalWrite(SWITCH, HIGH);
  16. }
  17.  
  18. // the loop routine runs over and over again forever:
  19. void loop() {
  20. if (! digitalRead(SWITCH)) { // if the button is pressed
  21. digitalWrite(LED, HIGH); // light up the LED
  22. } else {
  23. digitalWrite(LED, LOW); // otherwise, turn it off
  24. }
  25. }

analogRead ()

 Usted puede leer un voltaje analógico de digital # 2 (llamada analógica 1), digital # 3 (llamada analógica 3) y digital # 4 (llamadaanalógica 2)

Por ejemplo, para leer un voltaje analógico en el pin # 2, que llamarían analogRead (1) para leer un voltaje analógico enanalogRead pin # 4 de llamadas (2)

Esto es un poco confuso porque los pines analógicos están numerados de manera diferente que los pines digitales!

analogWrite ()

Hay algunas salidas PWM en la Trinket, puede llamar analogWrite () en digital # 0, # 1 y # 4.

Por ejemplo, para pulsar el built-in LED lentamente, subir este código:

Asegúrese de que está utilizando la última IDE Trinket para que pueda acceder a las capacidades de PWM pin de 4. Si no está utilizando la última IDE es necesario añadir manualmente las funciones como la siguiente en init y escribir valores analógicos al pin # 4. Sin embargo, si usted tiene la última IDE que incluye correcciones para hacer el pin # 4 se puede utilizar con la función de analogWrite Arduino!

  1. /*
  2. Pulse
  3. Pulses the internal LED to demonstrate the analogWrite function
  4. */
  5. int led = 1; // pulse ‘digital’ pin 1 – AKA the built in red LED
  6.  
  7. // the setup routine runs once when you press reset:
  8. void setup() {
  9. // initialize the digital pin as an output.
  10. pinMode(led, OUTPUT);
  11. }
  12.  
  13. // the loop routine runs over and over again forever:
  14. void loop() {
  15. for (int i=0; i<256; i++) {
  16. analogWrite(led, i); // PWM the LED from 0 to 255 (max)
  17. delay(5);
  18. }
  19. for (int i=255; i>=0; i–) {
  20. analogWrite(led, i); // PWM the LED from 255 (max) to 0
  21. delay(5);
  22. }
  23. }

 

I2C

Puede utilizar I2C con la Trinket! Si usted tiene nuestra v1.6.4 bordo gestor de paquetes o posterior (esa es la versión del paquete de soporte de Trinket, no IDE) y luego alambre trabajará en ATtiny85

En los tablones de la Trinket, el pin # 0 es la SDA (datos del bus I2C), el pin # 2 es SCK (reloj I2C).

Sabemos también las siguientes bibliotecas funcionan:

  • Adafruit NeoPixel – Control de hasta ~ 150 Neopixels a través de una Trinket!
  • SoftwareSerial – construido en la biblioteca SoftSerial puede (al menos) transmitir datos en cualquier pin digital.
  • Más como lo hacemos más pruebas y verificación!

La velocidad de reloj de 16 MHz por sólo Trinket de 5V!

El ATtiny85 se especifica solamente para funcionar a 16 MHz cuando se alimenta a 5V – que significa que oficialmente sólo se puede ejecutar la Trinket de 5V a 16 MHz.
Sin embargo, la serie AVR es bastante indulgente para el overclocking,
por lo que puede ser capaz de ejecutar la Trinket de 3V a 16 MHz. Tenga en cuenta que esto todavía está overclocking, el código puede funcionar escamosa o nada en absoluto! Overclocking no debe dañar el AVR, pero aun así, recomendaría quedarse con 8 MHz sólo para la versión de 3V, y 8 o 16 MHz sólo en la versión 5V.
soluciones de compromiso en potencia
La duplicación de la velocidad aumentará el consumo de energía sólo un poco. A las 8 MHz, la corriente extraída es alrededor de 9 miliamperios. Esa cifra incluye el LED de alimentación verde, que consume alrededor de 3 mA de modo que sea 6mA para el propio microcontrolador.

A los 16 MHz del sorteo es 12mA total. Restando el LED verde de corriente, que significa 9mA para el propio microcontrolador.

Cómo activar el reloj de 16 MHz

 En AVR-GCC :Podemos activar el reloj 16MHz ‘en el software’ simplemente pidiendo el chip para ajustar el reloj preescalar. Si está utilizando prima avr-gcc, ejecutar esta como la primera línea en main ()

clock_prescale_set (clock_div_1);

Es posible que tenga que añadir # include al archivo de modo que se reconocen los comandos. A continuación, asegúrese de compilar el código con F_CPU = 16000000
 IDE Arduino:Usando el modo de 16 MHz es muy similar cuando se utiliza el IDE de Arduino. Agregue la línea siguiente a la parte superior de su boceto Arduino (como la primera línea)

#include <avr / power.h>

Luego, en la configuración () – añadir lo siguiente como primera línea de la función:

si (== F_CPU 16000000) clock_prescale_set (clock_div_1);

A continuación, seleccione la Trinket de 16MHz en el menú Herramientas> Junta. Su código se compila y ejecuta a 16 MHz!

trinket_adafruit_products_select16.gif

Gestor de arranque de la reparación

 

El ATtiny85 no tiene una sección-cargador de arranque protegido. Esto significa que es posible sobrescribir accidentalmente el cargador de arranque (o incluso si desconecta la Trinket durante la carga que podría tener dificultades a partir de entonces)

Se puede utilizar un Arduino UNO para reprogramar el gestor de arranque en su Trinket (o Gemma). Este cargador no se ha probado para funcionar con cualquier otro tipo de Arduino.

Conectar:

  • Trinket VBAT + pin de Arduino 5V (o simplemente el poder que a través de un cable de la batería o USB)
  • Trinket GND pines a GND Arduino
  • RST Trinket para Arduino # 10
  • Trinket # 0 pinr para Arduino # 11
  • Trinket # 1 pin de Arduino # 12
  • Trinket # 2 pines de Arduino # 13

En un Gemma, pinzas de cocodrilo funcionan bien. la clavija de Reset se encuentra debajo del MiniUSB Jack. Puede que tenga que soldar un cable de forma temporal. Por otra parte, a veces sólo puede mantener pulsado el botón de reset mientras se ejecuta el boceto (tipo «G» para comenzar) y que podría funcionar. Soldar un alambre funciona mejor.

A continuación, descargar, descomprimir y ejecutar el boceto Trinketloader, escoger el que se adapte a su versión Arduino!

trinketloader_2015-06-09.zip

Descomprimir y abierto en el IDE de Arduino, seleccione la ONU y el puerto serie a la placa Arduino UNO que está subiendo demasiado y subirlo a la ONU.

Abre la consola serie a 9600 baudios y cuando se le dice que haga, pulse el botón de miniatura de la Trinket (o Gemma) o escribe en G en la consola de serie y haga clic en Enviar

Debería ver lo siguiente, la fusibles, firmware quemado y verificados! Se requiere de 2 segundos

trinketload.png
Mas información:

 

 

Por cierto puede comprar el Trinket lo en Amazon desde el siguinte enlace Adafruit Trinket – Mini Microcontroller – 3.3V Logic

Un coche RC que aparca sólo basado en Arduino


 

La mayor parte de las piezas utilizadas deben ser familiar para los fans de Arduino

El vehículo es una creación de la Universidad de Gotemburgo  de un estudiante llamado Dimitris Platis asi como de su equipo de Makers – Yilmaz Caglar, Aurélien Hontabat, David Jensen, Simeón Ivanov, Ibtissam Karouach, Jiaxin Li y Petroula Theodoridou – que en conjunto utilizan el nombre del equipo de Pegaso. El trabajo del equipo es impresionante, utilizando licencia GPLv3 , y una completa  documentación . De hecho el proyecto está maduro para que otros fabricantes interesados usen esta tecnología en sus propios del proyecto.

Originalmente, las direcciones de asignación de clase Platis ‘sugeria utilizar una placa computadora, una webcam, y un elaborado paquete de software de simulación llamado OpenDaVinci, y un chasis estéticamente poco atractivo, todo lo cual no era del entusiasmado  de estos makers. Así, él y su equipo decidió volcar los componentes propuestos y resolver el conjunto de problemas usando su propio enfoque.

He aquí un resumen del proyecto.

Disposición del sistema electrónico del coche

El diseño de la electrónica dentro del coche debe ser muy familiar para cualquiera que haya usado Arduino al prototipo de un proyecto. El Arduino MEGA conecta con tres sensores ultrasónicos, dos de los cuales están montados en la parte delantera del coche y uno en el parachoques trasero.Tres IR sensores también se conectan e a la MEGA y se despliegan de una manera similar. Un giroscopio y 9 tableros de medición inercial grado de libertad completan el paquete de sensores, pero se colocan dentro del chasis del vehículo.

Teléfono Android montado en el coche se encarga de cálculo de datos de los sensores que se le pasan a través de Bluetooth

Direcciones de dirección se transmiten de un procesamiento Android bordo visión teléfono en funcionamiento y se transmiten a través de Bluetooth, y el control electrónico de velocidad (ESC) maneja  la aceleración del coche (no se muestra).

Este vehículo * no * utiliza un protector de motor (sólo un ESC) o la biblioteca Smartcar Core. La biblioteca Smartcar Core, fue utilizado en un vehículo diferente (que a su vez de hecho utiliza un escudo de motor), de otro grupo de estudiantes, «.

Por último, y que tampoco se muestra en el diseño, se usa  un microcontrolador ATtiny85 que está programado con su propio boceto para manejar el control de LEDs para tales cosas son como romper, torneado, y la iluminación de la calzada.

 

 

El código aprovecha AndroidCar.h, una biblioteca hecha a la medida por el equipo de Pegaso, y los datos del sensor encuestas en el coche, que se envía a través de Bluetooth para el teléfono móvil a bordo.

La API se encarga de la transmisión de comandos de dirección de cómputos del teléfono y altera la posición del servo. Para conocer más sobre el API, eche un vistazo a los Smartcar Core ejemplos bocetos. Para obtener documentación sobre el código que encola el código de Arduino con el teléfono Android, que desea comprobar el Android-Car-duino repositorio. Y para un enfoque global de la adaptación de este conjunto de bibliotecas para su propio vehículo este wiki es para usted.

La información de dichos sensores es enviada a un smartphone con Andorid, que con ayuda de un software que analiza esos datos, envía en tiempo real las instrucciones adecuadas vía bluetooth al control de velocidad y la dirección del vehículo. Dependiendo de dicho software, el coche RC puede también moverse sin cambiar de carril o detectar y esquivar de forma muy precisa obstáculosque se encuentre en su camino, como podemos ver en el vídeo siguiente.

 

Los responsables del mismo son unos estudiantes de la Universidad de Gotemburgo que forman el grupo Team Pegasus, y que ofrecen su proyecto con licencia GPLv3 para que pueda hacerlo suyo y personalizarlo o mejorarlo si así lo desea.

Fuente aqui

Importación de librerias en Arduino parte 2de 2


 Importación de una biblioteca .zip

Las bibliotecas a menudo se distribuyen como un archivo ZIP o carpeta. El nombre de la carpeta es el nombre de la biblioteca.  Dentro de la carpeta será un archivo .cpp, un archivo .h ya menudo un archivo keywords.txt, carpeta de ejemplos, y otros archivos requeridos por la biblioteca.

Desde la versión 1.0.5, puede instalar las bibliotecas 3 ª parte en el IDE.

No descomprima la biblioteca descargada, dejarla como está.

En el Arduino IDE, vaya a Sketch> Incluir Biblioteca.  En la parte superior de la lista desplegable, seleccione la opción «Añadir .ZIP Biblioteca »(«Add .ZIP Library»).

Se le pedirá que seleccione la biblioteca que desea agregar. Navegue hasta la ubicación del archivo .zip y abrirlo.

Regrese al menú Sketch> Import Library. Ahora debería ver la biblioteca en la parte inferior del menú desplegable. Está listo para ser utilizado en su sketch.

El archivo zip se habrá ampliado en la carpeta de bibliotecas en su Arduino esboza directorio.

Nota: la biblioteca estará disponible para su uso en bocetos, pero los ejemplos de la biblioteca no será expuesta en el Archivo> Ejemplos hasta después de la IDE se ha reiniciado.

Instalación manual

Para instalar la biblioteca, primero salir de la aplicación Arduino.

Luego descomprimir el archivo ZIP que contiene la biblioteca.  Por ejemplo, si va a instalar una biblioteca llamada «ArduinoParty», descomprimir el fichero .zip ArduinoParty .  Debe contener una carpeta llamada ArduinoParty, con archivos como ArduinoParty .cpp y en el interior ArduinoParty .h. (Si los archivos .cpp y .h no se encuentran en una carpeta, tendrá que crear uno:en este caso, sería una carpeta llamada «ArduinoParty» y hay que  mueven a ella todos los archivos que estaban en el  archivo, como ArduinoParty .cpp y .h ArduinoParty.)

Arrastre la carpeta ArduinoParty en esta carpeta (carpeta de bibliotecas).  En Windows, es probable que se llama «Mis documentos \ Arduino \ bibliotecas».  Para usuarios de Mac, es probable que se llama «Documentos / Arduino / bibliotecas».  En Linux, será la carpeta «bibliotecas» en su cuaderno de dibujo.

Su carpeta de la biblioteca de Arduino ahora debería tener este aspecto (en Windows):

 My Documents\Arduino\libraries\ ArduinoParty \ ArduinoParty .cpp Mis documentos \ Arduino \ bibliotecas \ ArduinoParty \ ArduinoParty .cpp
  >My Documents\Arduino\libraries\ ArduinoParty \ ArduinoParty .h Mis documentos \ Arduino \ bibliotecas \ ArduinoParty \ ArduinoParty .h
  >My Documents\Arduino\libraries\ ArduinoParty \examples Mis documentos \ Arduino \ bibliotecas \ ArduinoParty \ ejemplos
  >.... ....

o así (en Mac):

 Documents/Arduino/ libraries/ArduinoParty / ArduinoParty .cpp Documentos / Arduino / bibliotecas / ArduinoParty / ArduinoParty .cpp
  >Documents/Arduino/ libraries/ArduinoParty / ArduinoParty .h Documentos / Arduino / bibliotecas / ArduinoParty / ArduinoParty .h
  >Documents/Arduino/ libraries/ArduinoParty /examples Documentos / Arduino / bibliotecas / ArduinoParty / Ejemplos
  >... ...

o de manera similar para Linux.

Es posible que haya más archivos que sólo el .cpp y .h, sólo asegúrese de que están todos allí. De ser asi la biblioteca no funcionará si pone el .cpp y .h directamente en las bibliotecas de carpeta o si están anidados en una carpeta adicional. Por ejemplo: No funcionará   esta combinación:

 Documents\Arduino\libraries\ ArduinoParty .cpp and Documentos \ Arduino \ bibliotecas \ ArduinoParty .cpp y
  >Documents\Arduino\libraries\ ArduinoParty \ ArduinoParty \ ArduinoParty .cpp Documentos \ Arduino \ bibliotecas \ ArduinoParty \ ArduinoParty \ ArduinoParty .cpp

 

Reinicie la aplicación Arduino.  Asegúrese de que la nueva biblioteca aparece en el elemento de menú para bosquejos> Importar biblioteca del software.

Usted ha instalado una biblioteca!

Brain hacking


El cerebro humano tiene la misma estructura general que los cerebros de otros mamíferos, pero tiene una corteza cerebral más desarrollada que cualquier otra.Los animales grandes como las ballenas y los elefantes tienen cerebros más grandes en términos absolutos, pero cuando se mide mediante el cociente de encefalización, que compensa el tamaño del cuerpo, el cerebro humano es casi dos veces mayor que el cerebro del delfín nariz de botella, y tres veces más grande que el cerebro de un chimpancé.

Gran parte de la expansión proviene de la corteza cerebral, especialmente los lóbulos frontales, que están asociados con funciones ejecutivas tales como el autocontrol, la planificación, el razonamiento y el pensamiento abstracto.La porción de la corteza cerebral dedicada a la visión, la corteza visual, también se amplía en gran medida en los seres humanos.

Electroencefalografía (EEG) es el registro de la actividad eléctrica a lo largo del cuero cabelludo.EEG mide la tensión fluctuaciones resultantes de los flujos de corriente iónica dentro de las neuronas del cerebro.
En contextos clínicos, EEG se refiere a la grabación de la actividad eléctrica espontánea del cerebro durante un corto período de tiempo, generalmente de 20-40 minutos , como se registra a partir de múltiples electrodos colocados en el cuero cabelludo Aplicaciones de diagnóstico generalmente se centran en el contenido espectral de EEG, es decir, el tipo de oscilaciones neurales que se pueden observar en las señales de EEG.

Imagen del sensor de EEG
Para entender el MindWave y MindWave móvil, primero debemos entender lo que es un sensor de EEG.La primera grabación de campo eléctrico del cerebro humano fue hecho por Hans Berger, un psiquiatra alemán, en 1924. Berger dio al grabar el nombre de electroencefalograma (EEG).En pocas palabras, el EEG se realiza mediante la colocación de electrodos en todo el cuero cabelludo del sujeto, luego de leer en las señales eléctricas para su análisis.Un avance rápido hasta hoy, y que tienen toda esta tecnología, todo en un factor de forma compacto que es el MindWave que envía todo el eeg por bluetooth.
La amplitud de la EEG es ~ 100 mV cuando se mide en el cuero cabelludo, y >alrededor de 1-2 mV cuando se mide en la superficie del cerebro.El ancho de banda de esta señal es de debajo de 1 Hz a aproximadamente 50 Hz.
Ahora,como usted sabe que el Mindwave tiene el sensor de EEG y  se conecta por medio de un bluetooth,necesitamos un módulo bluetooth para conectar eso a nuestro Arduino y decodificar los datos para que sea útil ,así   que  necesitaremos usar  tambien  un recepor bluetooth conetado a este .

 

Imagen de ¿Qué es Arduino?

El Mega Arduino es una placa electrónica basada en el ATmega1280 (ficha técnica).Cuenta con 54 pines digitales de entrada / salida (de los cuales 14 se pueden utilizar como salidas PWM), 16 entradas analógicas, 4 UARTs (hardware puertos serie), un oscilador de cristal 16 MHz >, una conexión USB, un conector de alimentación, una cabecera ICSP, y un botón de reinicio.Contiene todo lo necesario para apoyar el microcontrolador simplemente conectarlo a un ordenador con un cable USB o el poder con un adaptador de CA o la batería a CC para empezar.La Mega es compatible con la mayoría de los escudos diseñados para el Arduino Duemilanove o Diecimila.

 

En el ejemplo  se ha usado un  RN42 bluetooth , el cual es compatible con la lógica ttl y puede ser configurado como maestro conectando directamente al arduino tx rx módulo ya que al tener lógica TTL(es decir niveles  de o o 5v) no necesita del convertidor de nivel

..Cuadro de interfaz Bluetooth

El autor     para decodificar el EGG    ha  usado un  Arduino Mega y  también un ordenador para  enviar datos a la nube de modo que usa   código python para obtener datos en serie de Arduino , que  después  son enviados  a un servidor  thingspeak .

El código usado en ambas partes el siguiente:

Tinkspeak  es una herramienta libre en nube de IOT. Sobre esta se puede empujar a los datos y enviar los datos a la nube gracias a que creará un json en su backend y permitiendo trazar la gráfica basada en ella.Quizás la  única desventaja es que puede obtener datos sólo después de 15s(. eso es un poco lento)

 

Fuente aqui

Control domestico mediante un smartphone usando ingeniería inversa


En el post de hoy vamos a ver como usando ingeniería inversa  (los anglosajones lo llaman hacking ) es posible añadir nuevas funcionalidades a hardware existente comercial en principio no concebido para esa  tarea. El hardware elegido  ha sido en sencillo y barato  sistema inalambrcio de control de 4 cargas  de ca por medio de RF usando un único mando común de 4canales RF.
La idea es hackear dicho sistema inalámbrico de automatización del hogar para ser controlado mediante dos microcontroladores AVR por medio de USB
En el siguiente video vamos a ver una demostración  del producto final  al que vamos a intentar descifrar en las siguientes lineas

 

Como vemos el vídeo es impresionante , veamos como se ha llegado hasta ahí en este impresionante  trabajo

Hay dos maneras de hackear un remoto RF a ser controlado por una computadora o un microcontrolador.

  • El mas artesanal : Soldar los cables en las almohadillas del botón del mando a distancia y engancharla a un un microcontolador (por ejemplo  Arduino).
  • La manera fresca:Mandos a distancia RF la mayoría tienen un módulo separado para transmisión de datos. Este dispositivo tiene generalmente un VCC y una línea GND y una línea de datos. Usted puede fácilmente transmitir sus propios datos inalámbricos conectando un microcontrolador para la línea de datos.Sin embargo, con el fin de transmitir algo que puedan entender los radiorreceptores, primero tienes que averiguar cómo es formateados y transmite los datos inalámbricos.Para hacer este hack necesitará un analizador lógico y, opcionalmente, un osciloscopio.

En adelante vamos a ver  la segunda opción : es decir  usando  herramientas , en este caso de manos de  un analizador logico para estudiar como se ha fabricado para luegointentar  emular su funcionamiento

En este caso se usa un sonda logica Saleae. Esta es una herramienta increíble y con ella se pueden hacer muchos trabajos de  ingeniería inversas usando este dispositivo

Compruébelo en http://www.saleae.com/logic/

Lo malo  es que  cuesta 149 USD, pero !es una buena inversión para cualquier hacker!

También tiene que estar  familiarizado  y cómodo con los microcontroladores y programación en C.

Picture of Skills ans tools
saleae_screenshot.png
Usted necesitará para realizar este proyecto:

  • 1 x kit inalámbrico de automatización del hogar
  • 1 x caja de proyecto
  • 1 conector tipo B x USB
  • Diodo zener 2 x 3.6v
  • Diodo zener 8.2v x 1
  • transistor BC548 x 1
  • condensador de cerámica de 2 x 22pF
  • condensador de cerámica de 2 x 100nF
  • 1 x 4.7uF condensador
  • condensador 100uF x 1
  • 1 x 470uF capacitor
  • 1 x 330uF condensador
  • cristal 1 x 12MHz
  • 2 x LED con resistencia (yo usé 1 k ohmios)
  • 2 x 68R resistor
  • 1 x resistencia de 1 k 5
  • 1 x resistencia de 2 k 2
  • resistor de 1 x 1m
  • 1 x 270uH inductor
  • Diodo 1N4004 x 1
  • microcontrolador ATmega8 x 1
  • 1 x protoboard. La soldadura tipo ojo, no perforada.

Picture of Parts required

 

 

Manos a la obra

Picture of Don't turn it on, take it apart!
remote_inside.jpg
 Como es de suponer el control remoto tiene un módulo independiente de RF. ¡ Crack se abre y pueede comprobar si este es el caso. El pequeño tablero verde dentro del mando a distancia es el módulo de RF.

La placa   debe tener o claramente etiquetadas al menos  3 entradas:

  • VCC
  • DATOS
  • GND
remote_rf_module.jpg
Las conexiones fueron ser maso difíciles llegar con  sondas de osciloscopio o el analizador logico , tan sólo puede extender  las conexiones utilizando un alambre de cobre sólido núcleo.

Ahora yo puede presionar los botones mientras husmea como son los datos en  la línea de datos.

remote_inside.jpg

Picture of Figure out what's going on inside
IMG_6509.JPG
IMG_6510.JPG
El control remoto está alimentado por una batería de 9V. Como los analizadores lógicos suelen  ser de 5 voltios, se debe ver que está pasando con la línea de datos antes engancharla  hasta el analizador lógico.Si la señal en la línea de datos es de 9 voltios, tendemos  que hacer algunos trucos para bajarlo a 5V para el analizador de lógica.

Conectar una sonda de osciloscopio a la línea de datos y GND a la línea de GND del mando a distancia.  Coloque sondas   las dos  y apretar   un botón.si se convierte  la línea de datos en sólo 3 voltios entonces puede conectar la sona logica  (l La distancia entre las líneas de puntos horizontales en la pantalla del osciloscopio es 2 voltios.)

El módulo RF parece un dispositivo muy simple, así que simplemente supondremos que puede manejar 5 voltios, así como 3. El microcontrolador se ejecutará a 5 voltios.

Picture of Reverse engineering: first glance
rf_4_identical_frames.png
rf_example_frame.png
El osciloscopio es una gran herramienta, pero para ver lo que está pasando con la señal de datos,  es mucho más fácil de usar un analizador lógico.El analizador lógico sólo lee 0 y 1, así que , así que es mucho más fácil de leer que la pantalla del osciloscopio pequeño,así que se puede hacer la  línea de datos hasta el canal 1 del analizador lógico.Seleccionar 1 MHz captura de tarifa, que debería ser más que suficiente para esto.Comenzar el analizador de lógica y pulsar el botón para en el control remoto de la lámpara 1.

El analizador lógico muestra 4 distintos marcos de datos. En un principio puede pensar que quizás esto pueda  ser más complicada de realizar ingeniería inversa de  previsto,pero en muchos casos puede ser idéntico. Lo mismo sucede con todos los botones del mando a distancia. Los datos se transmisión probablemente 4 veces porque el enlace inalámbrico es inherentemente confiable

Entonces acérquse  a uno de los marcos  para ver en  que consiste los  pulsos de diversa longitud.:en este momento tenemos un montón de pulsos cortos y largos

 

El control remoto tiene un pequeño botón que está debajo de la tapa de la batería. Si se presiona este botón, tengo que volver a asociar todos los receptores con el mando a distancia. Si el control remoto del vecino está interfiriendo con sus luces pulse este botón para obtener una nueva identificación al azar .(pulsar este botón crea una especie de código aleatorio específico para esa distancia)

Si eso es cierto, puedo usarlo para identificar al menos algunas partes de los datos.

Comenzar  el analizador lógico otra vez y pulsar  ON para lámpara uno 5 veces mientras presiona el botón reset entre cada vez que he pulsado lámpara 1.

Para que sea más fácil ver lo que estaba pasando, copiar pega los fotogramas datos en gimp y  colocarlios unos a otros. En el analizador de lógica que están representados al lado, lo que hace comparación bastante duro.

Afortunadamente, los chicos de Saleae habían pensado en esto. Ctrl + Mayús + m le permite copiar una selección de la pantalla al portapapeles.

Presionar el botón reset cambiado un número al azar dentro del mando a distancia que se transmite con cada fotograma de datos.

La primera parte es siempre la misma. Esto tiene sentido. Probablemente «despierta» a los receptores o le dice que «¡ aquí viene datos, prepárate!»

Los próximo 12 bits consecutivos cambian cada vez que presiono el botón de reinicio. Puede  marcar los pedacitos que cambian en rojo y los bits constantes en verde.

Permite llamar a los 12 bits al azar la dirección de red de ahora en adelante.

Parece que los datos de capacidad de carga para cada fotograma están de 8 bits.

Otra gran cosa acerca de hacer este hack por la manera fresca en lugar de simplemente soldar los cables hacia los botones, es que usted puede utilizar el campo aleatorio de 12 bits también. Puede tener 4 luces en ID de uno red y otros 4 en otro ID de red y controlarlos desde el mismo control remoto! En realidad, usted puede controlar (2 ^ 12) * 4 = 16384 lámparas con este hack!

 Ingeniería inversa: ¿Qué es 0 y 1
Picture of Reverse engineering: what is 0 and what is 1
Así que sabmos  que pedacitos  ignorar, el bit de arranque y pedacitos de ID de red. Pero todavía no sabemos cómo el control remoto representa 0 y 1.El control remoto tiene botones para 4 lámparas. La manera más lógica para representar a éstos en la estructura de datos es con un número binario de 2 bits.

Comenzar  el analizador lógico otra vez y presionar el botón de encendido para la lámpara 1, 2, 3 y 4. Luego copiar-pegar  en Gimp para tener una visión general.

Entonces cuatro bitse cambian al pulsar un botón. Dos de las partes parecen estar contando en binario de 0 a 3. Es más probable que ellos son los bits de la dirección de la lámpara.

Para lámpara 1 son ambos pulsos largos. Para lámpara 2 hay uno corto y uno largo del pulso. Esto significa que el bit menos significativo es enviado primero.El contrario de manera normalmente escribirías un número binario.

Parece que los bits marcados en verde  estar contando de 0 a 3, lo cual pueden ser  los bits de la dirección de la lámpara. No sé cuáles son los bits marcados en azul. Probablemente una especie de suma de comprobación para asegurar una comunicación libre de errores.

Además, hemos aprendido de esto que con toda probabilidad, los bits se transmiten como éste.

  • Largo pulso: 0
  • Corto pulso: 1

Ingeniería inversa: averiguar el resto de los datos

Picture of Reverse engineering: figure out the rest of the data
openoffice_splitted.png
frame_format.png
En este punto yo sabemos cómo es representado 0 y 1, e intuimos   cuales brocas representan la dirección de la lámpara. También los dos últimos bits son alguna forma de suma de comprobación.Para calcular el resto de la estructura de datos, tenemos  que capturar datos para todas las pulsacioness de botón posible.

Comenzar el analizador lógico y presionado ON para todos 4 lámparas, entonces apagando, entonces todo encendiedo y todo apagando y finalmente DIM + y -.

Para que sea un poco más fácil de depurar, escribír todos los fotogramas capturados en OpenOffice. Omitír los primeros 13 bits, puesto que  sabemos  lo que son 

Parece que los datos de carga tienen dos bits para la dirección de la lámpara, entonces 4 bits para datos de comando.

Los bits de orden eran fáciles de entender. En la segunda foto, se e divide los datos en 3 columnas, dirección de lámpara, pedacitos de comando y suma de comprobación.

Como puede ver comando 2 es sólo cuando pulso los botones de todos o de todos. Eso significa que este bit es una difusión brocas que hace que todos los receptores de escuchen.

  • Bit 3 es solamente cuando presiono el botón o DIM – botón. Permite llamar a este pedazo de mando ON/OFF.
  • Bit 4 es sólo cuando presiono el DIM botones +/-. Llamémoslo DIM.
  • Bit 5 siempre es NCe. ¿Tal vez está ahí porque el algoritmo de comprobación necesita un número par de bits?

En la última foto, se puede ver que tengo marcha atrás diseñado el marco todos los datos.

Pensaba que el sistema tenía 4 direcciones de la lámpara, puesto que hay 4 botones del mando a distancia. Pero otra posibilidad es que los tres primeros bits son Dirección lámpara, y esa dirección 111 se emite. Si este es el caso, entonces puedes tener 7 lámparas + transmisión en una red ID.

ingeniería inversa: checksum

Picture of Reverse engineering: checksum head-scratching
openoffice_splitted.png
En este momento sabemos  lo que está todo dentro del marco de datos. Sin embargo, no sabemos   cómo se calcula la suma de comprobación.Podemos ver que  la suma de comprobación para oprimir cualquier botón dado es idéntico sin importar el identificador de red al azar. La suma de comprobación sólo se calcula basándose en los datos de carga útil.(suponemso que está codificado en el control remoto para simplificar el diseño de chip.)

Así que con esto en mente, intentemos  algo más simple. Como hemos notado que las secuencias de 01 y 01 se anulan mutuamente y producen un checksum de 00, y que las secuencias de 01 y 10 produciría un checksum de 11, esto deja  entrever hacia un simple algoritmo XOR.

Después de un ensayo y error, hemos encontrado un algoritmo simple que siempre produce la suma de comprobación correcto.

Los primeros dos bits son XOR’ed con los dos bits 2do. El resultado de esto es XOR’ed con los dos últimos bits.

Verificación de la imagen para ver cómo se hace el cálculo de hcecksum:

Ingeniería inversa: sincronización

Picture of Reverse engineering: timing
timing_1.png
Así que ahora que sabemos lo que es todo, lo único que queda por hacer es averiguar la sincronización de las señales.Cada bit está compuesta por un periodo de baja y un periodo de alta. El ciclo es siempre 1.92-ish milisegundos. Un pulso largo es 1,3 ms y ms 0,62 un pulso corto.

Cada fotograma, bit de arranque excluido, es la Sra. 38.4 38,4/20 = 1.92 Sra. así 1,92 ms me parece un buen punto de partida para la creación de los tiempos bien.

Picture of Reverse engineering: Re-create the result
Sé cómo funciona, ahora vamos a tratar de recrear el resultado.Configurar un temporizador en una ATmega8.

El ATmega está funcionando a 12MHz.

Un contador de tiempo está configurado con un prescaler 128 en el modo de CTC. En el modo CTC, se restablece el temporizador y se llama una interrupción cuando el contador llegue a un contador de tiempo determinado comparar valor.

El contador se actualiza cada ciclo de 128 reloj. Esto significa que tengo que usar 120 y 58 como los valores del contador para los pulsos cortos y largos.
(1000/12000000) * 128 * 121 = 1,29 mS
(1000/12000000) * 128 * 59 = 0,62 mS

Esto está muy cerca de los tiempos originales.

Armar una simple función para llenar un búfer con los tiempos de retardo para un determinado marco de RF. Una rutina de interrupción luego enciende un pin de IO y apaga y establece el temporizador comparar valor para crear el pulso de la longitud deseada.

Podemos  enganchar  hasta el analizador lógico y copiar-pegar el resultado en Gimp.¡ Bingo! La señal resultante es idéntica a del control remoto RF 😀

Hardware: RF-fail y carga de la bomba

Picture of Hardware: RF-fail and charge pump
Pero el control remoto utiliza una batería de 9v.y el Tamega  5  así que no podemos conectar directamente .. ¿Tal vez el módulo RF necesitaba 9v? Conectar   VCC en el módulo de RF + 9V e intentar de nuevo. ¡ Un éxito!

Pero no es elegante o tener una batería de 9v dentro del  gadget,así   que podemos usar una  bomba de carga consiste en un inductor, un transistor, un diodo y un condensador.

Cuando se activa el transistor, el inductor es cortocircuito a tierra. Cuando se desactiva el transistor, hay un efecto de flyback en el inductor que libera una corta ráfaga de alta tensión. Este voltaje atraviesa el diodo y queda atrapado en el condensador.

Picture of Hardware: circuit
El circuito es bastante simple. Lo complicado es dentro del módulo de RF.

La parte principal es un microcontrolador AVR ATmega8. Un conector USB está conectado vía algunas resistencias y diodos zener. Las señales USB son 3.3v, así que necesitamos para reducir el voltaje Zéner.

La línea de datos del módulo de RF está conectada a un pin de IO. El transistor de la bomba de carga y el LED de estado también están conectadas a los pines de IO.

La señal de retorno del circuito de la bomba de carga está conectada con el comparador analógico. Compara la tensión a una tensión de referencia interna.Creo que la tensión de referencia es 1,1 voltios ish. No es tan importante.

El circuito tiene los circuitos regulares como condensadores de filtrado también y un cristal de 12MHz.

(faltan solo las  resistencias en los LEDs en el esquema. Usted puede agregar resistencias adecuadas.)

Se suministra una señal PWM para el transistor para hacer este 23.000 ish veces por segundo. Cada vez que lanza el transistor, aumenta un poco la tensión en el condensador.

Para evitar que crezca la tensión alta, el voltaje en el condensador es alimentado hacia el microcontrolador mediante un Diodo zener. El comparador analógico comprueba si el voltaje es superior a 1,2 voltios + el voltaje zener.

El bucle principal del microcontrolador continuamente comprueba si el voltaje está por debajo del umbral. Si lo es, se inicia la señal pwm. Si se alcanza el nivel umbral, pwm está deshabilitado.

Picture of Hardware: prototype
Antes de quitar el chip de la placa, es necesario algún software.El software está escrito en C y basado en un proyecto de ejemplo de lib objetivo desarrollos V-USB. Esta es una gran pieza de software, y es gratuito y de código abierto para su uso personal y no comercial.

http://www.obdev.at/Products/vusb/index.html

No voy a entrar en detalle sobre cómo funciona el software. La ingeniería inversa es el énfasis de . Aquí está la versión corta:Tiene dos programas para hacer que esto funcione. Un programa en su ordenador y el firmware para el microcontrolador.

Microcontrolador:

Las transmisiones RF actuales se realizan mediante una rutina de interrupción.Se usa una interrupción del temporizador porque esta es la manera más fácil de obtener sincronización exacta. La interrupción del temporizador Lee de un búfer global donde se almacenan los tiempos de retardo. No almacenar el estado de encendido/apagado del transmisor RF desde el encendido y apagado siempre suplentes. Comience con un pulso apagado, y luego alternar dentro y fuera de pulsos.

El tampón contiene valores de 42. Hay 21 bits para ser transmitido, y cada uno tiene un período de bajo y un periodo de alto. Esta configuración no es muy eficiente de RAM, pero el ATmega8 tiene un montón. Podrás cambiar RAM para la legibilidad del código en lugar de tener memoria ram sin usar!

El buffer está poblado por la función send_rf_frame (red, capacidad de carga).En los tiempos en la matriz de tampón rf, empezando con el bit de arranque, seguido por el identificador de red de 12 bits y los 8 bits de carga + comprobación bien llena. Cuando el buffer se llena, la variable posición tampón se restablece a 0, para que la rutina de interrupción comenzará el trabajo de bit 0 en el búfer.

Cuando se enviaron datos al microcontrolador por el puerto USB, se llama la función usbFunctionSetup(). Esta es una función que crea y donde pones tu código USB entrante.

Dependiendo del tipo de solicitud enviado desde la PC, puedes hacer cosas diferentes dentro de esta función. Tengo pedido dos tipos configurados, set_network_id y send_command.

La solicitud de set_network_id sólo toma el identificador de red de 12 bits enviado desde el ordenador y almacena en un valor entero global.

La solicitud de send_command llama send_rf_frame() y pasa el byte recibido comando a él. Después de eso, la rutina de interrupción asume el control.

Dentro del bucle main():
usbPoll(); tiene que ser llamado cada pocos milisegundos (10 o 50, no estoy seguro) para el USB para que funcione correctamente.
Después de eso, se comprueba el comparador analógico. Si el voltaje de carga de la bomba es demasiado bajo, se inicia la bomba de carga. Si es en la tensión deseada, se apaga la bomba de carga.

Por último, un LED de estado se establece en ON si la bandera rf_busy está activa.

Ordenador :

En el lado del ordenador  también es necesario modificar   el ejemplo proporcionado por el objetivo de desarrollo. Se puede añadir  un código para analizar los argumentos de la línea de comandos. También puede escribír una función para crear los bytes de carga útil. Toma argumentos como el número de la lámpara, encendido/apagado, difusión.

El programa informático puede utiliza libusb para comunicarse con el microcontrolador.

También es util un pequeño script para llamar el programa informático de línea de comandos cuando se presionan los botones de una página web. Abra la página web en tu Android/iPhone y controlan las luces!

Fuente   aqui

Arduino Remoto para Windows Parte 3 de 3


Arduino remoto para  Windows es una biblioteca de componentes de tiempo de ejecución de Windows de código abierto que permite a los fabricantes controlar un Arduino mediante una conexión Bluetooth o USB. Se pretende para los desarrolladores de Windows Runtime que quieran aprovechar el poder de hardware Arduino usando las lenguajes  de tiempo de ejecución de Windows. Los desarrolladores que incluyan este componente en sus proyectos automáticamente tendrán acceso a sus funciones en cualquiera de las lenguajes soportados de  WinRT (C + + CX, C# y JavaScript).

 En un post anterior vimos cómo configurar su Arduino , vimos  como   configurar su ordenador  para añadir la biblioteca Arduino Remoto para windows a su  solución IoT y  ya por  fin en esta  ultima ocasión vamos  a  ver como desarrollar  en el nuevo entorno

En este post, usaremos WArduino remoto para  Windows para encender y apagar un LED. Aunque es un simple ejemplo, revelará el poder que la biblioteca puede dar para crear muchos proyectos más avanzados. Vamos a empezar!

Hardware

Siempre puede utilizar una conexión USB para empezar, pero vamos a cubrir gancho de un dispositivo Bluetooth y un LED que nos desviamos y apagar por Bluetooth utilizando la biblioteca de Arduino remoto Windows!

Piezas

  • Usted necesitará los siguientes componentes:
    • Un Arduino (Uno en la foto)
    • Un dispositivo Bluetooth (Plata a Mate Sparkfun en la foto)
    • Un protoboard
    • Una resistencia de 330Ω
    • Un LED
    • Algunos cables

    Project Start

Configurar

  • La fuente de alimentación y tierra los carriles en la Protoboard a 5V los pines GND, respectivamente, en el Arduino. Con los cables de colores (rojo y negro) hará fácil hacer un seguimiento de las conexiones de alimentación.

Project Start

  • Conecte el dispositivo bluetooth en el protoboard y conectar los pines VCC y GND a los carriles de alimentación , respectivamente, en la protoboard.

VCC and ground

  • Conectar la clavija TX-0 del dispositivo bluetooth en el pin RX en el Arduino. Del mismo modo, conectar la clavija de RX-1 del dispositivo bluetooth en el pin TX en el Arduino.

Send and Receive

  • Aviso el cable amarillo en la imagen va desde el pin de transmisión del dispositivo bluetooth con el conector de recepción de la Arduino y viceversa para el cable naranja. Este paso es fundamental para establecer una comunicación serial entre el dispositivo bluetooth y el Arduino, permitiendo que los mensajes transmitidos desde un dispositivo ser recibidos por el otro.

Send and Receive

Send and Receive

  • Asegúrese de que el código ya está subido en el Arduino antes de realizar esta conexión. El Arduino Uno utiliza los mismos pines (TX y RX) serial para flashear el dispositivo, que impide que cualquier código de ser subido a él cuando otro dispositivo está conectado a estos pines serial.
  • Añadir un LED a la protoboard. Tenga en cuenta que la pata más larga (o doblada) el ánodo (positivo) y la pata más corta es el cátodo (negativo).

LED

  • Conectar el cátodo del LED en el riel de tierra de la placa usando una resistencia de 330Ω. Una resistencia de 330Ω es a rayas naranja, naranja, marrón, oro, como se muestra en la imagen.

LED Ground

  • Conectar el ánodo del LED a cualquier pin I/O digital sobre el Arduino. Estamos utilizando el pin 5 en el ejemplo.

LED Power

  • Configuración usted está ahora listo! Debe asemejarse a la configuración que se muestra en la imagen de abajo.

Finished

Código

Ahora que estamos todos listos, nos metamos en algún código!

  • Cree su proyecto

He configurado un proyecto llamado RemoteBlinky siguiendo los pasos de la guía de instalación. En la imagen abajo, verá el archivo de código subyacente MainPage.xaml.cs que simplemente crea un objeto de conexión Bluetooth y pasa a la clase ServiceRecord en el constructor. Usted verá que yo he especificado mi nombre del dispositivo en este ejemplo. También se pueden enumerar los dispositivos disponibles mediante la invocación de la función estática.listAvailableDevicesAsync() en la clase BluetoothSerial (y USBSerial) antes de construir el objeto.

Project Start

  • A continuación, voy a agregar una función de devolución de llamada para el evento ConnectionEstablished del objeto BluetoothSerial. Esta función se llamará automáticamente cuando el dispositivo Bluetooth está conectado. Usted notará que yo no he implementado nada en esa función esta vez. Finalmente, llamada.begin() en el objeto de conexión para contarla para conectar.

Project Start

  • Saltar al archivo MainPage.xaml y crear unos botones que se encenderá un LED y apagado. Usted notará he añadido las devoluciones de llamada botón para el evento Click & establece la propiedad IsEnabled en false, y usted verá por qué en el siguiente paso!

Project Start

  • Se han  implementado tres funciones en este paso. En primer lugar, la función OnConnectionEstablished permite ahora los botones en el subproceso de la interfaz de usuario. Esto garantiza que los botones se activará sólo cuando la conexión Bluetooth está lista, como típicamente tarda unos segundos para esto pasara.

También se ha configurado las llamadas .digitalWrite() en las devoluciones de llamada botón OnButton_Click y OffButton_Click

Project Start

  • Generar e implementar. Los botones se activarán cuando la conexión se establece, y se puede cambiar libremente su LED encendido y apagado en la voluntad.Aquí hay una captura de pantalla de este ejemplo básico en Windows Phone 10.

Project Start

Realmente esperamos que  disfruten de replicar este proyecto y usarla como base para un increíble nuevo conjunto de proyectos !

Fuente aqui

Nueva colaboracion de Microsoft con Arduino


Microsoft parece ser cada vez más amigable con la comunidad de aficionados  a la electrónica   y esta semana su cortejo avanza aún más con el anuncio sorpresa de dos nuevas colaboraciones con los fabricantes de microcontroladores Arduino.

Ambos proyectos, anunciadas en la Conferencia de desarrolladores de Microsoft Build, implican Windows 10, y tanto el comienzo de un nuevo nivel de compromiso de Microsoft con el movimiento de la máquina.

ESCUDOS VIRTUALES WINDOWS
La primera novedad  son los escudos  Windows Virtual  para Arduino, que permiten a placas Arduino  acceder los sensores incorporados en los teléfonos Nokia Lumia. Todo lo que se requiere es un Arduino UNO, un módulo bluetooth, un teléfono compatible y uso de la biblioteca VirtualShield y funciones.

Como explica Steve Teixeira de Microsoft, Windows Virtual Shield para Arduino permite a los desarrolladores aprovechar el increíble poder de dispositivos de Windows 10 a través de protocolos inalámbricos. Un 530 Lumia contiene más de 200 dólares por valor de Arduino escudo sensores y capacidades, y lo han hecho fácil para acceder a todos esos sensores y capacidades desde un Arduino como si fueran escudos de hardware estándar. Imaginemos ser capazes de crear un proyecto Arduino que incluye GPS, conectividad/Análisis Web, tocando la pantalla, las tecnologías del habla y mucho más. Estan  particularmente encariñados con la imagen del proyecto tiempo creando  algo  que le permite traer dibujos de sus hijos a la vida.

ARDUINO REMOTO WINDOWS
El segundo objetivo  es Arduino remoto Windows, que permite un  dongle Arduino bluetooth para acceso remoto de Windows 10 dispositivos.

Teixeira revela, que con Arduino remoto Windows estan permitiendo a los desarrolladores ampliar su aplicación de Windows Universal con comandos de Arduino  que se ejecutan en un dispositivo Arduino conectados inalámbricamente. Se combina la potencia de Windows 10 características del dispositivo tales como procesamiento de imágenes, reconocimiento de voz, cámaras, análisis web y advanced audio con tuberías con el poder de la interactividad del mundo físico a través de Arduino. Eche un vistazo al proyecto básico Windows remotos Arduino para aprender a aprovechar esta tecnología en sus propios proyectos.

En general este es un gran paso para ambas compañías. Arduino recibe apoyo de podría decirse que la empresa de software más grande del planeta — una validación fantástica de su misión ahora-10-year-old. Microsoft, por el contrario, obtiene otra conexión con una ferviente y siguen creciendo la comunidad de prototypers. Esto, junto con el apoyo del nuevo Raspberry Pi 2 modelo B y el MinnowBoard Max, indicar su deseo de apoyar haciendo desarrollo en hardware lo más escalable y fácil como han hecho en desarrollo de software.

Fuente  aqui

Sensores de humo de bajo coste para Arduino o Netduino


Es muy habitual en  nuestros circuitos basados en  Arduino o Netduino usar sensores magnéticos o mecánicos, sensores de luz (fotoeléctricos), sensores de ruido, sensores térmicos  y de humedad ,e incluso sensores de movimiento.

A todo este conjunto  de sensores  sin duda no podíamos olvida un tipo de  sensor   que no esta muy extendido,    pero  que nos puede salvar la vida: en efecto  hablamos  de  los detectores de gases y de humo

Afortunadamente  con la miniaturización  y la espectacular bajada de precios de los componentes , podemos conseguir módulos muy completos   por muy bajo precio    con muchísimas posibilidades   que hasta hace poco  tenúan un coste muy elevado  si   necesitamos detección   compleja de gases  mas allá  de los típicos sensores de  humo basados en interrumpir una barrera de luz infrarroja con el humo

Como ejemplo de un sensor de gases  y humo   avanzado   con alimentación única de 5V DC y  de bajo precio  podemos   destacar   el módulo  SODIAL(R)  basado en el módulo MQ-4,  el cual es un detector de  Humo pero también un detectar de gas  Metano, Propano e   Hidrógeno

sensordehumohumo2

Este detector de medidas mas reducidas de 32X22X27mm   esta basado en el circuito  MQ-4  y   se puede alimentar con 5v  DC   directamente desde la salida  de +5V  de Arduino o Netduino .

Como gran novedad  cuenta  con un modo dual de salida , es decir,por un lado cuenta con una salida de señal analógica  que sera proporcional   a  la señal detectada  (  sensibilidad de nivel TTL)  que de usarla la conectaremos a una entrada analógica de nuestro Arduino  y Netduino  ,y   luego por otro lado una señal  binaria  para indicar presencia de  GLP, el gas, el alcohol, el hidrógeno y mas, que obviamente también conectaremos a una entrada  digital de nuestro Arduino o Nerduino

Gracias a la  miniaturización se consigue una rápida respuesta y recuperación con buena estabilidad y larga vida util. Este tipo de sensores  por tanto es ideal para detección de fugas de gas en casa o fabrica usándose e para la detección de Gas combustible como el GLP, butano, metano, alcohol, propano, hidrógeno, humo, etc.

El circuito cuenta con un led interno que indica presencia de humo y  una resistencia de calibración   que viene ya seleccionada

Veamos  algunos detalle del módulo de sensor MQ-4  que utiliza el módulo de Sodial  descrito

mq4

 

CARACTERÍSTICAS
* Alta sensibilidad a CH4, gas natural.
* Pequeño sensibilidad al alcohol, el humo.
* Respuesta rápida. * Vida estable y de largo * circuito de accionamiento simple
APLICACIÓN
Como hemos visto se utilizan en la detección de fugas de gas equipos en la familia y la industria, son adecuados para la detección de CH4, Natural gas.LNG, evitar el ruido de los vapores de alcohol y de cocina y el humo del cigarrillo.

features mq4

Estructura  y configuración de MQ-4 sensor de gas se muestra como la figura. 1 (configuración A o B), sensor compuesto por tubo de cerámica micro AL2O3, Estaño Dióxido (SnO2) capa sensible, electrodo de medición y el calentador se fijan en un corteza hecha por red de acero de plástico y acero. El calentador ofrece condiciones de trabajo necesarias para el trabajo de componentes sensibles.

El MQ-4 envuelto tienen 6 pines, 4 de ellos se utilizan  para  buscar señales y otros 2 se utilizan para proporcionar corriente de calentamiento.
Circuito de medición de parámetros eléctricos se muestra como la figura 2
E. Sensibilidad curva característica

graf1

Fig.3 se muestra el típico características de sensibilidad de el MQ-4 para varios gases en su: Temp: 20 ℃,Humedad: 65%,Concentración de O2 del 21%,RL = 20kΩ,Ro: resistencia del sensor a 1000 ppm de CH4 en el aire limpio.R: resistencia del sensor en varios  concentraciones de gases.

Fig.4 se muestra la dependencia típica de el MQ-4 de la temperatura y la humedad.Ro: resistencia del sensor a 1000 ppm de CH4 en el aire al 33% de humedad relativa y 20 grados.R: resistencia del sensor a 1000 ppm de CH4 en el aire a diferentes temperaturas y humedades.

AJUSTE SENSIVIDAD
Valor de resistencia de MQ-4 es la diferencia a varios tipos y diversos gases de concentración. Así que, cuando se utiliza  este ajuste componentes, la sensibilidad es muy necesario. le recomendamos que calibre el detector para 5000 ppm de concentración de CH4 en valor el aire y el uso de la resistencia de carga (RL) sobre 20KΩ (10k a 47KΩ).
Al medir con precisión, el punto de alarma adecuado para el detector de gas debe ser determinada después  teniendo en cuenta la temperatura y la humedad influencia.

Por cierto este módulo completo  se puede  comprar en Amazon  SODIAL(R) MQ-4 Humo DC5V Metano Propano Gas Hidrogeno modulo del detector del sensor de Arduino

Un modulo wifi para Arduino


Con  el mini  módulo  ESP8266-EVB ESP8266 Xtensa LX106 Internet de los objetos del sistema completo incluye MOD-WIFI-ESP8266-DEV  que se puede comprar en Amazon  por unos 14 € , con unas medidas de 17 x 13 x 2 cm,  en efecto es posible dotar conectividad wifi a una placa  Arduino pues  se ofrece soporte oficial  éste en el IDE de Arduino 1.0.6.

 

ESP8266.jpg

 

 

Cuando el dispositivo está montado, y como la única aplicación del procesador de la aplicación, la memoria flash se puede iniciar directamente a partir de un movimiento externo. Además la memoria caché incorporada ayudará a mejorar el rendimiento del sistema y reducir los requisitos de memoria.

La aplicación típica de este módulo es cuando puede asumir la tarea de adaptador Wi-FI para el acceso a Internet inalámbrico  agregándolo  a cualquier diseño basado en micro-controlador (como por ejemplo Arduino o  Netduino )  por medio de una  conexión simple, sólo por SPI interfaz / SDIO o procesador central interfaz puente AHB.

El procesamiento y la capacidad de almacenamiento del  ESP8266 es interesante   pues, se pueden integrar a través de sensores de puertos GPIO y otras aplicaciones de equipos específicos para lograr el más bajo temprano en el desarrollo y operación de al menos ocupar recursos del sistema.

Esta placa  tiene todo los elementos integrados  incluyendo la antena balun interruptor, convertidor de la administración de energía, por lo que con la charcutería externa mínima, e incluye módulo de front-end, incluyendo la totalidad de la solución diseñada para minimizar el espacio ocupado por PCB.

Algunas características de este modulo son  el ahorro de energía, capacidad  VoIP ,poder cambiar rápidamente entre los patrones de sueño / vigilia, sistemas de operación de baja potencia de polarización radio adaptable, funciones de procesamiento de señales de front-end, solución de problemas y radio ,protección interferencias  con LCD LVDS DDR.

En el siguiente video podemos ver este módulo conectado a una placa Arduino

 

En  el  vídeo por cierto  se muestra cómo podemos realizar llamadas y enviar mensajes SMS utilizando su conexión Wifi. Por supuesto el módulo de por sí no tiene capacidad para hacerlo, pero puede conectarse a servicios como Twilio que ofrecen una completa API para eso y a precios muy competitivos.

Algunas características del módulo:

  • 802.11 b / g / n
  • Wi-Fi Direct (P2P), soft-AP
  • Construido en la pila de protocolos TCP / IP
  • Incorporado en el interruptor TR, balun, LNA, amplificador de potencia y red de adaptación
  • Incorporado PLL, componentes de administración de energía del regulador de tensión
  • Modo 802.11b + potencia de salida 19.5dBm
  • Sensor de temperatura
  • Soporte de antena de diversidad
  • fuera de la corriente de fuga es menor que 10uA
  • Built-in de baja potencia 32-bit CPU: se puede doblar como un procesador de aplicaciones
  • SDIO 2.0, SPI, UART
  • STBC, MIMO 1×1, 2×1 MIMO
  • A-MPDU, A-MSDU agregación y el 0.4
  • Dentro de estela 2ms, conectar y transferencia de paquetes de datos el consumo de energía de reserva de menos de 1.0mW (DTIM3)

Enlace al foro  de ESP8266  aqui

 

Arduino como multiinstrumento de laboratorio


 Una sencilla  placa Arduino de un coste bastante  inferior a una placa Netduino  , si la disponemos  en nuestro pequeño  taller siempre  disponible  nos permitirá, de una  manera rápida y sencilla, generar o leer cualquier tipo de señal analógica o digital, y manipularla a nuestro gusto para adaptarla a cualquier necesidad.

Entre las múltiples aplicaciones destaca  la función de  voltímetro, amperímetro, watímetro y Contador de Energía gracias  a sus entradas  analógicas  que obviamente deberemos adaptar  a   los rangos máximos de la placa.  Igualmente interesante  supone  usarlo como   voltímetro de varias entradas gracias a sus 6 entradas analógicas.

En el campo del procesamiento de señales digitales  no podemos olvidar la  utilidad de  generar tonos y frecuencias  o de analizar estas

Por ultimo esta la utilidad  de utilizarlo como datalogger , es decir para almacenar las medidas  para su posterior procesamiento

A continuación se detallan algunas de las aplicaciones de medida  que puede tomar el versátil Arduino:

 

Voltímetro, Amperímetro, Watímetro y Contador de Energía:

 

Voltímetro con varias entradas:

Información en: http://startingelectronics.org/software/processing/software-voltmeter/

 

Frecuenciómetro:

 

Información en: http://interface.khm.de/index.php/lab/interfaces-advanced/arduino-frequency-counter-library/

Generador de frecuencias :

 

Y como registrador de datos (Datalogger)

 

Como vemos se almacenan las medidas gracias  a una tarjeta SD

Información en: http://drmaker.es/arduino-101-datalogger-con-tarjeta-sd/

 

Fuente   aqui

El creador de Arduino se defiende


Cuando se inició el proyecto Arduino, los cinco co-fundadores ( David Cuartielles, David Mellis, Tom Igoe, y Gianluca Martino) decidieron crear una empresa que sería  la propietaria de las marcas comerciales y gestionaría  la parte comercial de Arduino , de modo que los fabricantes construirían  y vendería placas  y  Arduino obtendrían una regalía de ellos como en muchos otros negocios, como en el mundo de la moda.

Esto ocurrió en abril de 2008 cuando Arduino LLC fue fundada y en los estatutos de la empresa se especificó que cada uno de los cinco fundadores transferiría a esta empresa cualquier propiedad de la marca Arduino. A finales de 2008, cuando Arduino estaba a punto de registrar la marca en los EE.UU. y en todo el mundo sin ningún aviso previo, la compañía de Gianluca Smart Projects – el  pricipal fabricante de placas de Arduino – se adelantó y registró el nombre Arduino en Italia y mantuvo esta noticias  oculta por casi dos años.

Después de que el proceso de registro en los EE.UU. había terminado,  el  abogado de los fundadores  trató de extender la marca para el resto del mundo, cuando se dio cuenta de que alguien había registrado ya en Italia.  Gianluca les aseguró que esto se hizo para proteger la  inversión colectiva de los fundadores ..

A medida que el proyecto tubo más éxito y las ventas aumentaron, los intentos de recuperar el control del registro de la marca italiana se hizo más y más difícil con las demandas cada vez mayores que se le  hacían a los fundadores  mientras Gianluca les  vetó efectivamente para otros fabricantes o conseguir cualquier inversión externa. Los fundadores hicieron  progresos con Arduino creando  mucha innovación, empujando los límites de hardware de código abierto, la contratación de un montón de gente con talento de todo el mundo y en última instancia la construcción de una comunidad increíble en todo el sitio web arduino.cc.

Ni que decir tiene, se hizo cada vez más difícil trabajar con un socio que era tan reacio a permitir que cualquier mejora significativa así como la  expansión de la empresa. Trataron  durante mucho tiempo  de reducir el costo de los productos a los clientes, pero las  manos de los fundadores  estaban atadas.

En julio pasado después de otra ronda de conversaciones, y otra solicitud creciente de dinero, los fundadores se vieron obligados a pedir a sus abogados  que empezaran  a enviar cartas a empresas ,  delinear las diferencias y solicitar que la marca fuese devuelta  a sus fundadores.

Hace un año y sin explicación, empresa de fabricación de Gianluca dejó de cooperar con los fundadores y se detuvo de manera unilateral las regalías que pagaban. Así que si la gente compró una placa Arduino fabricado en Italia en el último año pensando que estaban apoyando el proyecto, deben saber que los fundadores  no recibieron ningún dinero por ello a pesar de que han diseñado, documentado, mantenido y apoyado esos productos. (Los otros fabricantes todavía están a nuestro lado.)

En noviembre pasado, SmartProjects nombrado un nuevo director general, el Sr. Musto, quien cambió el nombre a la empresa a Arduino Srl y creó un sitio web llamado «Arduino» copiando los gráficos y el diseño  de los  fundadores , pues  afirma haber inventado Arduino sin mención de los 4 fundadores. Incluso comenzó la impresión de esta nueva URL en todas las nuevas placas.

El colmo llegó hace unas semanas, cuando esta persona  concedió  entrevistas a varios periódicos italianos afirmando ser el nuevo director general de «Arduino» , lo que implica que uno de los fundadores   renunciaba a dedicarme a actividades «no lucrativas»:los fundadares se  quedaron  impactados y respondieron a sus reclamos tratando de mantener el ruido al mínimo y evitar daños en la comunidad y el proyecto, de modo que ahora los asuntos están en manos de los abogados de ambos lados del Atlántico.

Por suerte, Massimo Banzi   hace tres años, empezó a ampliar las formas en que Arduino apoya en sí:  trabajando con grandes empresas para asesorarles sobre cómo construir para la comunidad c participando en proyectos de investigación internacionales, corriendo una tienda en línea muy exitosa, lo cual les  permitió crecer independientemente de venta de las placas.

Massimo Banzi   pensó  que el  hardware se vuelve más y más de un producto, de modo que los modelos de negocios deben evolucionar hacia servicios, plataformas en la nube, la educación, y todo el proceso de ayudar a los responsables políticos son profesionales.

Ahora los fundadores  estan trabajando con los fabricantes de todo el mundo, y estan  lanzando nuevos productos emocionantes en los campos de la educación y la IO. Estan muy tristes de que estas cuestiones se hayan hecho públicas para confundir a la comunidad, pero no han tirado la toalla aún y   siguen  innovando pretendiendo  eguir ampliando las fronteras de hardware abierto como lo han ido  haciendo desde hace 10 años.

Como es habitual  el único santuario de la comunidad Arduino es arduino.cc y se puede ver en day.arduino.cc que la próxima Jornada Arduino el 28 de marzo va a ser un evento mundial increíble en el que van   a desvelar mucho cosas de lo mas interesantes….

Massimo Banzi

MASSIMO BANZI

Massimo Banzi es el co-fundador del proyecto Arduino.Él es un diseñador de interacción, Educador y Open Source Hardware defensor.

 

 

 

 

Fuente  aqui

Un monitor con Netduino


Las ratas se comen cualquier cosa

Hace unos años stewlg  cometío el error de almacenar alimentos en el sótano de una manera que era inferior a salvo de roedores. Un auge de la población pequeña en ratas se produjo antes de que entendíamos lo que estaba sucediendo. Cuando quitamos todo el acceso a la comida en el final del invierno, introdujimos un hambre cuya pánico después nos leemos en los plásticos roídos sobre todo encerrando alimento.

Rat-vs

Todo esto era malo. Caca de rata y orinar son desagradables. Pero lo peor fue que las ratas desesperadas comiendo el tubo de goma y las juntas dentro de nuestra lavadora. Una helada mañana me vino a encontrar jabonosa hemorragia agua fría de la lavadora y que cubre el suelo de nuestro sótano. De repente comprendí por qué alguien querría un monitor de inundación.

Empezó con un acuerdo con pilas de nueve voltios con una alarma audible.

IMG_5217

Esto es mejor que nada, pero no iba a ser capaz de decirle acerca de los problemas cuando estaba fuera de la ciudad, o, para el caso, cuando  stewlg  estaba en el trabajo. Quería más. En concreto,  quería que se conectara a Nagios(un proveedor de Iot) , que comenzó el seguimiento de unas cuantas unidades de disco duro para mí, pero ha crecido a lo largo de los años en algo que una empresa de tamaño medio que podría estar usando para monitorear su red. Nagios se había convertido en la forma en que llevaba la cuenta de los problemas en la casa. Ya paginado y me envió por correo electrónico, y que mantendrá las métricas y datos históricos.

Lo primero que hizo   stewlg   fue buscar un producto comercial que hizo esto – seguramente alguien más necesitado la misma cosa. Y, de hecho, se ha hecho :

SensorMetrix_225Pound

Mientras escribía este post   costaba  alrededor de 425 dólares de Estados Unidos, que todavía parece ridículo, no importa lo industrial y prueba de balas el dispositivo de seguridad es. Eencontró otra empresa que realizaba este también, pero te cobran un precio similar si no mayor para la misma funcionalidad.

¿No podría hacer todo esto con un Arduino ? Y los Internets de cosas?

¿Por qué Netduino

Miró a Arduino, pero una alternativa menos popular  a  stewlg  le  atrajo: Netduino .

* Ya utilizba .NET para el trabajo.  C # es un ambiente verdaderamente excelente.
* Hilos, eventos, temporizadores
Y, probablemente, lo mejor de todo:
* En el circuito de depuración

 stewlg  hizo lo suficiente programación de objetos incrustados para es apreciado tambien  la posibilidad de desplazarse por el código en un depurador o pausando el  programa de modo que  stewlg  estaba dispuesto a pagar un poco más por esto, y de tolerar algunos compromisos en el medio ambiente para evitar ReSharper withdrawl.

También significó mucho para  stewlg   que, si bien la placa de  netduino  cuesta  $ 60 en lugar de ~ $ 30 para un Arduino, pero Netduino +  venía con Ethernet incorporado y no tendría que futz por ahí con un escudo en el primer día. Esto parecía una introducción más suave más amable con el trabajo Arduino-esque.

Portar NRPE a C # y .NET Micro

Como agradable como C # generalmente es que se necesita trabajar en una versión más pequeña de él para recordarle cuánto hay en las bibliotecas, y no en el idioma adecuado. Trabajando en el marco Micro es como trabajar en una cocina cocina en un pequeño velero cuando estás acostumbrado a una cocina de casa decente .Plantillas? Nop. El formato de cadenas? Nop. LINQ? Hah – que es rico.

Afortunadamente, NRPE es un formato muy simple:

  [2 Byte int16_t] - Número de versión
 [2 Byte int16_t] - Tipo (Consulta / Respuesta)
 [4 Byte u_int32_t] - CRC32 Checksum
 [2 int16_t Byte] - código de resultado (OK, WARNING, ERROR DESCONOCIDO)
 [1024 Char Byte] Buffer

Aun así, tubo problemas con el orden de bytes y el relleno por un poco de tiempoantes de averiguarlo. El mayor problema era conseguir un CRC compatible de trabajo, y al final me terminó portar el código a C # . Hubo otro código por ahí que podría haber funcionado, pero casi todo otro código C # hace buen uso viril, sano, de plantillas y LINQ y todo lo que no se puede tener en 192kb de memoria.

¿Cómo funciona

Usted puede tener una mirada en el código mismo, pero los que no tienen una instalación de Nagios puede gustarte una vista previa de cómo funcionan las cosas, una vez que haya instalado las cosas.

He aquí cómo llamar a los diferentes controles manualmente. Aquí nos estamos quedando check_nrpe (el cliente en nuestro servidor Netduino) de Ubuntu:

  # ./check_nrpe -n -H Noah.doodle.local -c check_temp

 OK - Temperatura = 78.1F 25.6C Humedad relativa = 33,6% | temp_celsius = 25.6000004; 35; 38; 0; 100, relative_humidity = 33,6000023%; 70; 80; 0; 100, temp_fahrenheit = 78,080000686645519; 95; 100,40000000000001; 32; 212
  # ./check_nrpe -n -H Noah.doodle.local -c check_flood

 OK - No detectado agua | water_detected = 0
  # ./check_nrpe -n -H Noah.doodle.local -c check_uptime

 OK - Uptime: 03: 42: 51.2740000 memoria libre: 101364 | uptime_in_seconds = 13371, uptime_in_hours = 3, uptime_in_minutes = 222, free_memory = 101364

Estos son los tres servicios que he escrito hasta ahora. Hay tres partes principales visible aquí:

  • OKAY

El código de resultado. En este caso, el servicio se considera estar en un buen estado.

  • Temperatura = 78.1F 25.6C Humedad relativa = 33,6%

Este es el texto de estado legible que aparecerá en Nagios.

  • temp_celsius = 25.6000004; 35; 38; 0; 100, relative_humidity = 33,6000023%; 70; 80; 0; 100, temp_fahrenheit = 78,080000686645519; 95; 100.40000000000001; 32; 212:

Los valores después de la tubería es de datos de rendimiento que es todo lo registra, y puede ser graficada retrospectiva con diversos plug-ins.

Así que aquí está cómo aparece el servicio de Nagios. Aquí al parecer las ratas están de vuelta y han encontrado su camino más allá de las placas de metal que atornilladas a la parte inferior de la lavadora, o tal vez nuestro primer inodoro piso se ha desbordado y se echan por el conducto de calefacción en el sótano de nuevo (no hay ratas la culpa de eso , a menos que mi trasero puede ser considerada como un barco que se hunde) Y algo ha ido mal con el sensor de temperatura -. tal vez los cables han sido comido por las ratas.

NagiosStatusSlice2

Esto es lo que la salida de línea de comandos sería buscar estos dos casos problemáticos:

  ADVERTENCIA - No se puede leer la temperatura.  |
  CRÍTICA - Agua detecta!  | Water_detected = 1

Aquí hay una captura de pantalla de lo que se puede hacer con los datos de rendimiento recogidos a través del tiempo, desde un tiempo sin emergencias o fallas. Podemos ver un tiempo de actividad en constante aumento, y un uso de la memoria constante (no hay fugas aparentemente):

NagiosUptimeInMinutesAndFreeMemoyDemo

Alguna variación en la temperatura y una humedad casi constante:

NagiosTempAndHumidityGraphDemo

Limitaciones

Es importante señalar que la -n aquí es esencial * *:

  ./check_nrpe -n -H noah.doodle.local -c check_uptime

Esto inhabilita SSL para NRPE. Hay al parecer hay espacio en el Netduino para una gran biblioteca tales . Si esto es esencial para que supongo que se podría envolver dentro de un túnel VPN, etc.

Esto es lo que verás si intenta llamar NRPE sin SSL:

  # ./check_nrpe -H Noah.doodle.local -c check_flood
 Check_nrpe: tiempo de espera de socket después de 10 segundos.

También hay algo de cordura comprobar en el código; Si el tipo de consulta no se reconoce TinyNrpeServer no será capaz de responder a la consulta y no intentará.Un mensaje de depuración dará una pista sobre SSL si está conectado a la consola.

Estabilidad

Si se mira a través del código, puede que le resulte bastante paranoico acerca de los errores y accidentes, con dos reinicios duros independientes en el código. Esto se debe a que he probado el código bastante duro y yo estaba esforzándome por evitar que el dispositivo nunca deje de responder y que necesitan un reinicio.

El dispositivo ahora hace un reinicio duro en dos casos:

1) Cuando se hace una excepción

Hay algunas excepciones que descubrí que se producen normalmente, tales como errores de desconexión de socket, que a menudo pueden ser reclamadas a sin recurrir a reiniciar el dispositivo. Por desgracia, no todos ellos parecían ser recuperable, o al menos no de manera consistente, y en lugar de distinguir, me eligieron para reiniciar el dispositivo. En condiciones normales de funcionamiento son bastante raros.

2) Cuando no se haya recibido una consulta para un intervalo de tiempo configurable

En las pruebas, he probado usando condiciones muy abusivos, pero estas condiciones podría conseguir fácilmente el Netduino en un estado donde no sólo mi código no escuchar las conexiones de red entrantes (que podría decirse que tal vez podría ser mi culpa), pila de red del dispositivo se estrellaría, y sería dejar de responder a un ping, que me pareció mucho menos responsables.

En mi código tengo este tiempo de espera configurado así:

  /// <Summary>
 /// Número de milisegundos antes de que la junta se reiniciará.
 /// </ Summary>
 int const público InactivityTimeout = 60 * UpTimeCheck.SecondsPerMinute * UpTimeCheck.MillisecondsPerSecond;

En otras palabras, si no ha tenido un mensaje entrante en una hora, que va a reinicie por sí mismo. Si usted necesita para poner a punto este intervalo, me ponga esto en al menos dos veces el intervalo de control mínimo. Así que si usted comprueba el dispositivo cada 5 minutos, ajusta esto a por lo menos 10 minutos.

Elegí establecer este mucho más alto que yo pueda ver a través de la gráfica el tiempo de actividad, si esto ocurre en realidad nunca – una hora de inactividad debe ser inequívocamente visible.

Para ser justos con la plataforma Netduino, tengo serias dudas de que nadie va a colgar este servidor bajo una carga de red típica. Una encuesta discreta desde un único servidor Nagios cada minuto o dos no va a gravar seriamente nada. Tal vez en un azul-moon, una excepción a la red se producirá y el dispositivo se reinicie en silencio – si lo hace, usted debe ver que se refleja en los datos de rendimiento de tiempo de actividad, pero aún así disfrutar disponibilidad esencialmente ininterrumpida. No espero a nadie a hacer realidad el dispositivo no responde, y activar el reinicio de la vigilancia. Pero por favor dígame cómo va para usted.

Si tuviera que tomar esto más lejos a  stewlg   le gustaría que un temporizador de vigilancia adecuado en hardware .

Expansión

 stewlg   realmente no necesita nada más que un monitor de inundación, pero  pensó en tirar en al menos otra métrica para obtener el código listo para manejar múltiples cheques, por lo tanto, la comprobación de la temperatura.

Aquí es lo menos que había necesidad de hacer para poner en práctica un cheque:

  /// <Summary>
  /// Un ejemplo de lo mínimo que hay que hacer para poner en práctica un cheque
  /// </ Summary>
  DemoCheck clase pública: NrpeCheck
  {
      public override NrpeMessage.NrpeResultState GetStatus (fuera cadena statusString, fuera Hashtable performanceData)
      {
         performanceData = new Hashtable (); var demoMetric = 20;
         performanceData.Add ("demo_metric", demoMetric);
         statusString = "Demo métrica:" + demoMetric.ToString ();
         // Siempre Ok.
         volver NrpeMessage.NrpeResultState.Ok;
      }
  }

Usted probablemente querrá algo de código condicional para el ResultState, y cualquier métrica que tiene probablemente variar. Pero la adición de ningún tipo de supervisión debe ser fácil, al menos desde el punto de vista TinyNrpeServer.

Si usted sube un sensor que desea añadir, envíeme un correo electrónico con un parche o una solicitud de extracción. Me encantaría este servidor NRPE tienen más supervisión que ofrecer fuera de la caja.

Costo

Así que, si no es de $ 425, ¿qué dedico? Probablemente menos de $ 120.Hubiera sido mucho más barato si supiera  lo que estaba haciendo – esto erael primer proyecto de tipo Arduino y los conceptos básicos eran un misterio para  stewlg  . Terminó probando un montón de cosas que no funcionaron antes de encontrar cosas que funcionaron bien pasablemente.

Circuito

Noé V2

Instalación

Prueba inicial de monitor de inundación

Protoshield cableada

Sensor de Inundación comprobación final

Sensor sujeta con cintas para el pelo

Entre las máquinas

Brilla muy prominente en la penumbra

Primeros DHT-22 cableado

DHT-22 en su lugar

Instalado en la caja de ProyectoIMG_5271

Bibliografía y Apreciación

Para ayuda inestimable, indirectos con el protocolo NRPE núcleo, gracias sobre todo a Andreas Marschke y Sadris . Para la clase DhtSensor, Stanislav «CW» Simicek y todo el mundo en este hilo . Para  cluing en aproximadamente perros guardianes y reinicios duras, las personas en estas discusiones . Chris Walker para la clase Cronómetro (y todo lo demás en Netduino, por supuesto).

El Código

https://github.com/StewLG/NetduinoNrpe

 

 

 

Fuente aqui

Luces intermitentes con un Digispark


 Digisparks   es   el resultados de la financiación de un proyecto en Kickstarter en 2012 .El DigiSpark no esta pensado para igualar las capacidades de un Arduino Uno, por ejemplo. Su ventaja está en la portabilidad ,bajo coste(menos de 10$) , reducidisimas dimensiones  y la familiaridad de uso ,pues ocupa el mismo Arduino IDE (aunque no es compatible con todos los sketchs).

Sus principales características son:

  • Soporte para el Arduino IDE 1.0+ (OSX, Windows  y Linux)
  • Alimentación via USB o fuente Externa – 5v or 7-35v (selección automática – 12v o menor es recomendado)
  • Regulador USB incorporado de 500ma 5V
  • 6 Pines de I/O (2 se usan para USB solo si el programa se comunica activamente via USB, de otra manera se pueden usar los 6)
  • 8k de Memoria Flash (cerca de 6k despues del bootloader)
  • I2C y SPI (via USI, Universal Serial Interface)
  • PWM en 3 pins (es posible mas usando Software PWM)
  • ADC en 4 pines
  • LED de alimentación y Test/Status LED (en Pin1)

Digispark posee un microcontrolador Atmel Attiny 85 en una placa muy pequeña(17,5 x16mm) ,  además tiene shields especiales para hacer demostraciones o para extender las funciones básicas.

El kit viene con sus piezas separadas y se deben soldar, lo que no toma mucho tiempo y es fácil de hacer.

El Digispark es una placa muy barata, con desarrollo USB (y producción) mediante plataforma Arduino compatible pequeñito-minúsculo,». Y como se puede ver aquí, realmente es muy pequeña (confía en mí – Tengo las manos bastante de tamaño medio;-).

The Digispark - it's really tiny

El chip en sí es  compatible con el estándar de Arduino y herramientas: la descarga del controlador viene con la versión 1.0.3 del IDE de Arduino (que se  usa con  proyectos de Arduino -lo cual permite reemplazarlo con esta versión de   subconjunto de Digispark. El Digispark tiene un ATtiny85 microcontrolador (mientras un Arduino Uno R3 tiene un ATmega328P , para la comparación), y, en general claramente tiene menos capacidad que la plena Arduino .

En relación al software lo mejor es bajar el siguiente archivo trae versión personalizada y otros ejecutables. Este es el link, asi evitamos conflictos con instalaciones anteriores.

Primero se instalan los drivers. Se descomprime el archivo que se baja, se va a la carpeta Digispark-> Windows Driver, ejecutar el archivo InstallDriver.exe.

Ahora se va a la carpeta \DigisparkArduino-Win32\Digispark-Arduino-1.0.4 y se ejecuta Arduino.exe ese es nuestro IDE.

Pero para los pequeños proyectos como luces parpadeantes – esta vez sólo con 6 LEDs, pues  tiene menos pines que trabajar – lo hace muy bien:

Digispark blinking LEDs

 

En el arduino IDe se selecciona Tools->Boards->DigiSpark y Tools->Programmer->DigiSpark

En la iamgen ser ver aquí que  se puede usar un cable de extensión USB para evitar conectar el dispositivo directamente al  PC: cuando se desarrolla con el Digispark necesita desenchufar el aparato antes de cada compilación y carga – volver a enchufarlo sólo cuando se trata ha sido hecho – lo cual sin duda puede dañar  el conector si no se usa una extensión  pues  ademas oportar el peso de este.

Este paso adicional hace que sea un poco más incómodo, al principio, pero enseguida se puede  acostumbrar a él. También vale la pena teniendo en cuenta que, dada la naturaleza de la Digispark, es naturalmente menos robusto que un Arduino completo, así que se debe tener cuidado al trabajar con ella: un corto circuito podría dañarlo irremediablemente, por ejemplo.

La programación no es igual que Arduino pues se debe compilar el programa y luego se conecta el Digispark, tienes 5 segundos para conectar, por eso es util o bien adquirir el cable usb extensor  o bien el  accesorio  de programación que trae un interruptor para el USB.

Asimismo  hay disponible  una caja en kit   de acrílico con las piezas  cortadas con láser :

Building the laser-cut cases

Y luego probado uno pequeño como parte de este proyecto:

Inside one of the acrylic cases

El ajuste fue bastante bueno, aunque la cantidad modesta de soldadura inexperto que realiza para unir los conectores macho significaba la ranura para el conector USB obligado al Digispark a estar en un ángulo. Probablemente se podría aplanar la parte inferior mediante la reducción de los pines y la soldadura de un poco más de cuidado, espero.

Fuente   aqui

Internet de las cosas según Microsoft Parte 1


Hace  tan sólo unos días en este blog nos hacíamos eco de la noticia  en que  , Microsoft anunció que apoyaria con Widows 10 la nueva Raspberry Pi, lo cual ha generado cierta incertidumbre  para   toda la comunidad Netduino+.

Reproducimos   aquí la nota de Microsoft que se ha  traducido al español respecto a la estrategia de Microsoft sobre el IoT:

«Estamos rodeados de todo tipo de dispositivos inteligentes. Coches , parquímetros, microondas y relojes. Pero durante años, ha sido difícil para empezar a hacer sus propios dispositivos. En su escritorio, en su casa, en su garaje.

En los últimos años, hemos visto una explosión en accesible, hardware y software de bricolaje. Mucho de esto ha ocurrido debido a la gran labor realizada por la gente de Arduino. Su enfoque hace que sea fácil y rentable para cualquier persona para conseguir comenzado. Con módulos conectables hardware, código que sea fácil de escribir y entender, y una comunidad centrada en el compartir, que es fácil de jugar y aprender. Y en poco tiempo, usted ha creado su propio dispositivo fresco.

Nos encanta la idea de hacer el hardware y el software más accesible para todos. La otra cosa que es importante para nosotros es que estos dispositivos no viven de forma aislada, sino como parte de una nube conectado de dispositivos y servicios.

Así que cuando nos fijamos en el espacio fabricante de dispositivos, nos preguntamos cómo podríamos comenzar a participar y contribuir. Tenemos un montón de ideas, pero este programa ofrece el primer lugar donde creemos que podemos hacer una diferencia. Creemos que hay un conjunto de fabricantes que desean conectividad web y poder de procesamiento junto a edificio hardware sencillo.

Como primer paso, hemos creado una experiencia de desarrollo de dispositivo en el que se ejecuta una versión pequeña del de Windows directamente en el dispositivo. Esto significa que usted puede escribir aplicaciones usando Arduino cableado API derecha junto código normal de Windows. Esto se ejecuta en un dispositivo (en este caso, un procesador Intel Galileo) que tiene patillas compatibles con Arduino justo al lado de un poco de CPU con agallas.

Así pues, si usted es un desarrollador de hardware que salpica en el software, usted puede traer sus bocetos Arduino y escudos directamente en su proyecto, al tiempo que aprovecha código de Windows para la conectividad de la nube y otras tareas de computación intensiva.

Y si ya eres un desarrollador de software, puede escribir una aplicación normal de Windows que también tiene acceso fácil, directo al hardware a través del conjunto de API Arduino cableado, la ampliación de su solución en el mundo físico.

Por supuesto, este primer programa es sólo el principio. Después de todo, somos una compañía de dispositivos y servicios.

Estamos contentos de que estés a bordo para el viaje, y no podemos esperar a ver lo que va a hacer

El equipo de Microsoft IoT «

 

En efecto ,sobre el Programa de Desarrollo de Windows para la IO con este nuevo discurso  se dejan entrever algunos cambios radicales:

  • Diseñado para los desarrolladores :Este es el primero de una serie de Internet de los programas de los objetos (IO) para la creación de dispositivos conectados. Este programa está hecho a medida para los fabricantes y desarrolladores de Windows que entran en el espacio de la IO.
  • Desarrollo de hardware rápido:La accesibilidad de Arduino combina con la conectividad de Windows. Iterar rápidamente y ampliar en diseños de hardware y software que utilizan escudos y dibujos existentes, es decir quieren ampliar a Arduino su oferta de IoT
  • Plataforma Windows con Visual Studio:Aproveche la plataforma Windows y su ecosistema diverso hardware. Utilizar programación familiarizado Win32 utilizando las mejores herramientas de desarrollo de su clase y de depuración.Sin duda  Visual Studio es uno de los entornos de desarrollo mejores y mas potentes que existen .Además en su versión express es gratuita  y completamente funcional. 
  • Abrir comunidad:Conéctarse con compañeros desarrolladores y contribuciones de código compartido a través de GIT así  como participar e influir en las versiones posteriores del SDK.
  • No se excluye NETMF :Es decir no se olvida la plataforma Netduino+ que además se potenciara. Microsoft quiere tener otros puntos de reflexion con Galileo y con Rasberry que pueden cubrir otras necesidades de computo

Diseñado para los desarrolladoresDesarrollo de hardware rápidaPlataforma Windows con Visual StudioAbrir comunidad

 

 Mas  información aqui