Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE

Componentes y materiales

Componente Cantidad Notas
Intel tinyTILE 2 O otros módulos BLE
Arduino 101 2 Opcional
Panel LCD controlable Adafruit (Light Crystal Light Valve) 2
Batería Li-Ion 100mAh 2
Conector JST-PH 2-pin SMT ángulo recto Adafruit 4
Cable extensora batería JST-PH Adafruit 2
Interruptor deslizante 2
Resistencia 10k ohm 3
Pulsador 12mm SparkFun 1
LED (genérico) 2 Solo para desarrollo
Protoboard (genérico) 1 Solo para desarrollo
Cables de conexión (genéricos) 1 Solo para desarrollo

Herramientas necesarias

Aplicaciones y servicios en línea

Sobre el proyecto

En lugar de usar una app, ¿qué tal si pudieras enviar una señal para hacer contacto visual con alguien que te interesa, en un entorno social, incluso desde lejos? No propongo una nueva forma de ligar, sino explorar un nuevo uso de Bluetooth en interacciones humanas.

Al descubrir que los módulos Intel Curie pueden actuar como dispositivos BLE central y periférico, quise hacer estas gafas. Gracias a un tutorial de Adafruit, el marco de referencia de unas gafas LCD impresas en 3D ya estaba disponible. Añadí control BLE de dos gafas simultáneamente (una maestra, otra esclava) y rediseñé las monturas 3D.

El proyecto se desarrolló primero en Arduino 101 y se prototipó en tinyTILE, ambos con módulos Intel Curie. Aunque ya no se puedan conseguir, la metodología sigue siendo útil.

Paso 1 - Desarrollo

Se usaron dos Arduino 101 y dos LEDs para desarrollar el circuito y probar el código. Por la complejidad final, es buena idea empezar en protoboard antes de soldar.

Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE

Para el periférico, usar el ejemplo CurieBLE → Peripheral → LED intercambiando HIGH y LOW. El código para central se proporciona al final; es casi igual a CurieBLE → Central → LEDcontrol con líneas añadidas para los LCDs.

Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE
Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE

tinyTILE es casi una miniatura exacta de Arduino 101. El rectángulo central es el módulo Intel Curie. Se programan con el mismo código. Los pines de Arduino 101 son más fáciles, pero el tamaño de tinyTILE es mejor para wearables.

Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE

Paso 2 - Impresión 3D

Rediseñé las monturas con SolidWorks sobre el diseño de Adafruit. Puedes descargar su diseño base aquí y modificarlo. Si te gustan mis diseños (corazón y universo), están en los adjuntos. ¿Por qué corazón y universo? Mira el vídeo para la explicación.

Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE

Paso 3 - Montaje

Los consejos de Adafruit sobre cableado, soldadura y montaje son excelentes. Solo tuve que añadir los tinyTILEs y el botón. Cuidado con cortar los cables a la longitud correcta.

Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE

Paso 4 - ¡Listo y a disfrutar!

Al encender, hay voltaje en los LCDs, manteniéndolas como gafas de sol oscuras. Al pulsar el botón en la maestra, se corta el voltaje en ella y, vía Bluetooth, también en la esclava, haciendo ambas transparentes.

Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE
Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE
Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE

Las dos gafas se controlan a distancia mientras estén en rango BLE. Probé en casa: el corazón consigue la atención del universo a al menos 15 pasos.

Imagina no usar un botón sino un gesto, un asentimiento o latidos coincidentes!

Corazón (maestra=central): "Me gusta tu mente sofisticada <3"
Universo (esclava=periférica): "Te veo. Hablemos."

Código

Control por botón para central

/* Copyright (c) 2016 Intel Corporation. All rights reserved. */
#include <CurieBLE.h>

const int buttonPin = 3;
int oldButtonState = LOW;
const int ledPin = 5; // pin para LCD

void setup() {
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
  BLE.begin();
  Serial.println("BLE Central - Control LED");
  BLE.scanForUuid("19b10000-e8f2-537e-4f6c-d104768a1214");
}

void loop() {
  BLEDevice peripheral = BLE.available();
  if (peripheral) {
    Serial.print("Encontrado ");
    Serial.print(peripheral.address());
    Serial.print(" '");
    Serial.print(peripheral.localName());
    Serial.print("' ");
    Serial.println(peripheral.advertisedServiceUuid());
    
    BLE.stopScan();
    controlLed(peripheral);
    BLE.scanForUuid("19b10000-e8f2-537e-4f6c-d104768a1214");
  }
}

void controlLed(BLEDevice peripheral) {
  Serial.println("Conectando...");
  if (!peripheral.connect()) {
    Serial.println("Falló conexión!");
    return;
  }
  Serial.println("Conectado");
  
  Serial.println("Descubriendo atributos...");
  if (!peripheral.discoverAttributes()) {
    Serial.println("Fallo descubrimiento!");
    peripheral.disconnect();
    return;
  }
  Serial.println("Atributos descubiertos");
  
  BLECharacteristic ledCharacteristic = peripheral.characteristic("19b10001-e8f2-537e-4f6c-d104768a1214");
  if (!ledCharacteristic || !ledCharacteristic.canWrite()) {
    Serial.println("Característica LED no disponible o no escribible!");
    peripheral.disconnect();
    return;
  }
  
  while (peripheral.connected()) {
    int buttonState = digitalRead(buttonPin);
    if (oldButtonState != buttonState) {
      oldButtonState = buttonState;
      if (buttonState) {
        Serial.println("Botón pulsado");
        ledCharacteristic.writeByte(0x01);
        digitalWrite(ledPin, LOW);
      } else {
        Serial.println("Botón soltado");
        ledCharacteristic.writeByte(0x00);
        digitalWrite(ledPin, HIGH);
      }
    }
  }
  Serial.println("Periférico desconectado");
}

Partes personalizadas y envolventes

Archivos CAD en Thingiverse para imprimir las monturas.

Esquemáticos

Central usa pin 3 para botón y 5 para LCD. Periférica usa pin 6 para LCD.

Crea gafas inteligentes de match-making con Arduino 101 y tinyTILE BLE

Proceso de manufactura

  1. Gafas de sol: Diseño, materiales y estándares de protección ocular
  2. Baterías: De la pila de Volta a las modernas celdas de litio
  3. UnifiedWater v1 – Kit completo de sensor de calidad de agua con Arduino
  4. Soluciones de Alimentación Optimizadas para Proyectos Arduino
  5. Construye tu Propio Casco y Reactor Arc de Iron Man con Arduino - Guía Paso a Paso
  6. Sistema de votación portátil con conectividad GSM
  7. Arduino 101 BLE + Blynk: Robot Tanque Controlado por Bluetooth DIY
  8. Juego Arcade Whac-A-Mole DIY (Edición Botones) – Proyecto Arduino
  9. Baterías de Automóvil: El Corazón Eléctrico de tu Vehículo
  10. Cómo probar tu alternador: Métodos expertos para resultados fiables
  11. 7 Indicadores Claros de que tu Alternador Está Fallando