제조공정
| × | 2 | ||||
| × | 2 | ||||
| × | 2 | ||||
| × | 2 | ||||
| × | 4 | ||||
| × | 2 | ||||
| × | 2 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
|
| ||||
|
앱을 사용하는 대신, 사교적인 환경에서 멀리 떨어져 있어도 관심 있는 사람과 눈을 마주치도록 신호를 보낼 수 있다면 어떨까요? 나는 데이트를 시작하는 다른 방법을 제안하지 않습니다. 저는 인간 상호작용 분야에서 블루투스의 새로운 활용을 모색하고 있습니다.
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="코드"> /* * 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*/섹션>
제조공정
배터리는 소비자 전자 분야에서 디지털 제품이 의존하는 것입니다. 우리는 배터리가 가능한 오래 지속되기를 원하고 지금처럼 자주 충전할 필요가 없지만 어떻게 할 수 있습니까? 그날이 오기 전에 배터리가 무엇인지, 배터리의 발판을 고정할 수 있는지 봅시다. 배터리란 무엇인가요? 배터리는 화학 에너지, 빛 에너지, 열 에너지, 원자력 등을 전기 에너지로 직접 변환하는 에너지 저장 및 변환 장치입니다. 화학 에너지를 전기 에너지로 변환하는 장치를 화학 전원이라고 합니다. , 배터리입니다. 양극과 음극이 함께 제공됩니다. 배터리 유형
최근에 폰을 한동안 사용하다보면 쉽게 전원이 나가서 배터리를 새로 사려고 합니다. 타오바오 온라인 스토어에서 배터리를 검색해 보니 일반 배터리가 매우 비쌉니다. 예를 들어, iPhone의 배터리 비용은 약 86달러입니다. 소형 배터리가 왜 그렇게 비싼지 궁금하지 않을 수 없습니다. 그 답을 함께 알아봅시다. 리튬 배터리는 배터리, 전원 관리 시스템 및 포장으로 구성됩니다. . 따라서 리튬 배터리의 가격을 알고 싶다면 이 세 부분 각각의 비용을 분석해야 합니다. 배터리 셀 비용 셀은 양극과 음극을 포함하는 단일 단위를 나타냅니다