산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino101 / tinyTILE BLE:매치메이킹 선글라스

구성품 및 소모품

인텔 tinyTILE
또는 기타 BLE 모듈
× 2
아두이노 101
선택 사항
× 2
Adafruit 액정 라이트 밸브 – LCD 제어식 정전 패널
× 2
리튬 이온 배터리 100mAh
× 2
Adafruit JST-PH 2핀 SMT 직각 커넥터
× 4
Adafruit JST-PH 배터리 연장 케이블
× 2
슬라이드 스위치
× 2
저항 10k 옴
× 3
SparkFun 푸시버튼 스위치 12mm
× 1
LED(일반)
개발 단계에서 사용되었으며 최종 프로토타입에는 필요하지 않습니다.
× 2
브레드보드(일반)
개발 단계에서 사용되었으며 최종 프로토타입에는 필요하지 않습니다.
× 1
점퍼 와이어(일반)
개발 단계에서 사용되었으며 최종 프로토타입에는 필요하지 않습니다.
× 1

필요한 도구 및 기계

3D 프린터(일반)
납땜 인두(일반)

앱 및 온라인 서비스

Arduino IDE
Arduino 웹 편집기

이 프로젝트 정보

앱을 사용하는 대신, 사교적인 환경에서 멀리 떨어져 있어도 관심 있는 사람과 눈을 마주치도록 신호를 보낼 수 있다면 어떨까요? 나는 데이트를 시작하는 다른 방법을 제안하지 않습니다. 저는 인간 상호작용 분야에서 블루투스의 새로운 활용을 모색하고 있습니다.

Intel Curie 모듈을 중앙 및 주변 BLE 장치로 할당할 수 있다는 사실을 알았을 때 즉시 이 안경을 만들고 싶었습니다. (여기에서 CurieBLE에 대해 자세히 알아보십시오.) Adafruit에 대한 자습서 덕분에 3D 인쇄 LCD 유리의 참조 프레임워크를 쉽게 사용할 수 있습니다. Adafruit 튜토리얼에 추가한 것은 동시에 두 개의 안경에 대한 BLE 컨트롤(스위치 컨트롤 대신)입니다. 하나는 마스터이고 다른 하나는 슬레이브이며 재설계된 3D 인쇄 프레임입니다.

이 프로젝트는 Arduino 101에서 처음 개발되었으며 tinyTILE에서 프로토타입이 제작되었으며 둘 다 Intel Curie 모듈이 있습니다. 앞으로 Intel Curie 모듈을 얻을 수 없더라도 여기의 방법론이 여전히 유용할 수 있기를 바랍니다. Bluetooth 중앙 및 주변 장치 기능을 적용하는 다양한 방법을 상상할 수 있으며 이 주제에 대한 토론이 기대됩니다.

1단계 - 개발

2개의 Arduino101과 2개의 LED를 사용하여 회로를 개발하고 코드를 테스트했습니다. 최종 회로가 복잡하기 때문에 모든 것을 함께 납땜하기 전에 먼저 브레드보드부터 시작하는 것이 좋습니다.

주변 장치의 경우 CurieBLE 예제 -> 주변 장치 -> LED의 코드를 사용하고 HIGH와 LOW를 교환할 수 있습니다(마지막 단계에서 이유 찾기). 중앙 코드는 프로젝트 마지막에 제공됩니다. CurieBLE -> Central -> LCD에 몇 줄 추가된 LEDcontrol과 거의 동일합니다.

TinyTILE은 Arduino101의 거의 정확히 미니어처입니다. 주요 중앙 직사각형은 Intel Curie 모듈입니다. 동일한 코드로 깜박일 수 있습니다. Arduino101의 핀은 항상 사용하기 더 쉽지만 smallTILE의 크기는 웨어러블에 더 매력적입니다. 나는 Arduino 101에서 먼저 개발하고 모든 것을 tinyTILE로 전송하는 것을 좋아합니다. 여기에서 tinyTILE을 사용하는 다른 프로젝트를 확인하십시오. 폼 팩터가 프로젝트의 문제가 아닌 경우 Arduino101을 자유롭게 사용하십시오(여기 예제 참조).

Arduino101을 tinyTILE로 변경하고 LED를 LCD로 변경하면서 각 구성 요소를 단계별로 테스트합니다.

2단계 - 3D 프린팅

Adafruit에서 제공하는 프레임 위에 SolidWorks를 사용하여 프레임을 재설계했습니다. 여기에서 기본 디자인을 다운로드하고 3D 인쇄에 선호하는 소프트웨어로 수정할 수 있습니다. 내가 디자인한 룩이 마음에 든다면 아래 첨부 파일에서 찾을 수 있습니다. 하트 모양과 우주를 디자인한 이유는 무엇인가요? 설명을 위해 동영상을 보고 상상력을 발휘하세요.

당신의 얼굴에 더 잘 맞도록 디자인을 수정할 수 있습니다. 나는 작은 코를 잡기가 조금 어렵다는 것을 알았습니다. 요즘 얼굴을 3D 스캔하고 안경을 맞춤 제작하는 회사가 있습니다. 정말 좋습니다.

Adafruit에서 사용하는 3D 프린터 Ruiz Brothers가 내 것보다 더 나을 것이라고 생각합니다. 광산은 밖으로 나가기 매우 어려운 곳에 지지 재료를 너무 많이 인쇄했기 때문입니다. UX 디자이너로서 3D 프린터의 불편한 점에 대해 할 말이 많습니다. 수용성 서포트 재료나 서포트 재료가 필요 없는 프린터나 액체 기반/광응고형 3D 프린터를 갖고 싶습니다.

3단계 - 조립

배선, 납땜 및 장착에 대한 Adafruit의 자습서에 있는 조언은 매우 좋습니다. 당신은 그것을 확인해야합니다. 여분의 tinyTILE과 단추를 추가하기만 하면 됩니다. 전선을 올바른 길이로 자르도록 주의하십시오.

4단계 - 완료하고 즐기세요!

전원이 켜지면 LCD에 전압이 가해져서 선글라스를 어둡게 유지합니다. 마스터의 버튼을 누르면 마스터의 전압이 꺼지고 동시에 블루투스를 통해 슬레이브의 전압이 꺼지도록 신호를 보내 두 안경을 투명하게 만듭니다.

두 안경은 BLE 범위 내에 있는 한 꽤 멀리 떨어져 제어할 수 있습니다. 집에서 테스트 해봤습니다. 하트는 최소 15걸음 떨어진 곳에서 우주의 관심을 끌 수 있습니다.

버튼이 아니라 제스처, 끄덕임 또는 일치하는 심장 박동을 사용한다고 상상해보십시오!

하트(master=central) :"네 세련된 마인드가 마음에 들어.  
<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 중앙 버튼 컨트롤
  • 중앙Arduino용 버튼 컨트롤
    이는 CurieBLE 예제와 거의 동일합니다.
     /* * Copyright (c) 2016 Intel Corporation. 판권 소유. * 라이선스 조건은 이 파일의 하단을 참조하십시오. *//* * 스케치:LedControl.ino * * 설명:* 이것은 주변기기에서 특정 특성을 가진 * 특정 서비스를 찾는 중앙 스케치입니다. 발견에 성공하면 * 버튼의 상태를 읽고 그 값을 * Peripheral Characteristic에 씁니다. * * 참고 사항:* * - 예상 주변기기 서비스:19b10000-e8f2-537e-4f6c-d104768a1214 * - 예상 주변기기 특성:19b10001-e8f2-537e-4f6c-d104768a1>// buttonconst에 대한 변수 int buttonPin =3;int oldButtonState =LOW;const int ledPin =5; // LEDvoid에 사용할 핀 setup() { Serial.begin(9600); // 버튼 핀을 입력으로 설정 pinMode(buttonPin, INPUT); 핀모드(LED핀, 출력); // BLE 하드웨어 초기화 BLE.begin(); Serial.println("BLE 중앙 - LED 제어"); // 주변기기 검색 시작 BLE.scanForUuid("19b10000-e8f2-537e-4f6c-d104768a1214");}void loop() { // 주변기기가 검색되었는지 확인 BLEDevice peripheral =BLE.available(); if (peripheral) { // 주변기기를 발견하고 주소, 지역 이름 및 광고된 서비스를 출력합니다. Serial.print("Found "); Serial.print(peripheral.address()); Serial.print(" '"); Serial.print(peripheral.localName()); Serial.print("' "); Serial.print(peripheral.advertisedServiceUuid()); 직렬.println(); // 스캔 중지 BLE.stopScan(); controlLed(주변기기); // 주변기기 연결 끊김, 다시 스캔 시작 BLE.scanForUuid("19b10000-e8f2-537e-4f6c-d104768a1214"); }}void controlLed(BLEDevice peripheral) { // 주변기기에 연결 Serial.println("Connecting ..."); if (peripheral.connect()) { Serial.println("연결됨"); } else { Serial.println("연결 실패!"); 반품; } // 주변 속성 검색 Serial.println("Discovering attributes ..."); if (peripheral.discoverAttributes()) { Serial.println("발견된 속성"); } else { Serial.println("속성 검색에 실패했습니다!"); 주변 장치.disconnect(); 반품; } // LED 특성 검색 BLECharacteristic ledCharacteristic =peripheral.characteristic("19b10001-e8f2-537e-4f6c-d104768a1214"); if (!ledCharacteristic) { Serial.println("주변기기에는 LED 특성이 없습니다!"); 주변 장치.disconnect(); 반품; } else if (!ledCharacteristic.canWrite()) { Serial.println("주변기기에 쓰기 가능한 LED 특성이 없습니다!"); 주변 장치.disconnect(); 반품; } while (peripheral.connected()) { // 주변기기가 연결되어 있는 동안 // 버튼 핀 읽기 int buttonState =digitalRead(buttonPin); if (oldButtonState !=buttonState) { // 버튼이 변경됨 oldButtonState =buttonState; if (buttonState) { Serial.println("버튼을 눌렀습니다"); // 버튼을 누르면 LED를 켜기 위해 0x01을 작성합니다. ledCharacteristic.writeByte(0x01); 디지털 쓰기(LED 핀, LOW); } else { Serial.println("버튼 해제"); // 버튼이 해제되면 ledCharacteristic.writeByte(0x00)의 LED를 켜기 위해 0x00을 작성합니다. 디지털 쓰기(LED 핀, 높음); } } } Serial.println("Peripheral disconnected");}/* Arduino BLE 중앙 LED 제어 예제 Copyright (c) 2016 Arduino LLC. 모든 권리 보유. 이 라이브러리는 무료 소프트웨어입니다. 자유 소프트웨어 재단(Free Software Foundation)에서 발행한 GNU 약소 일반 공중 라이선스(GNU Lesser General Public License) 조건에 따라 이를 재배포 및/또는 수정할 수 있습니다. 라이선스 버전 2.1 또는 (귀하의 선택에 따라) 이후 버전. 이 라이브러리는 유용할 것이라는 희망으로 배포되지만 어떠한 보증도 하지 않습니다. 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증도 없이. 자세한 내용은 GNU 약소 일반 공중 사용 허가서를 참조하십시오. 이 라이브러리와 함께 GNU Lesser General Public License 사본을 받았어야 합니다. 그렇지 않은 경우 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA*/

    맞춤형 부품 및 인클로저

    회로도

    Central은 버튼에 3번 핀을 사용하고 LCD에 5번 핀을 사용합니다. 주변 장치는 LCD에 핀 6을 사용합니다.

    제조공정

    1. 선글라스
    2. 배터리
    3. UnifiedWater v1
    4. Arduino Power
    5. Avenger Assembled:Iron Man 헬멧 및 아크 원자로
    6. 모바일 투표함
    7. 인텔 Arduino 101 BLE 블링크 탱크
    8. 자동차에 사용되는 배터리의 이해
    9. 발전기를 테스트하는 다양한 방법
    10. 불량 또는 결함이 있는 발전기의 7가지 징후