제조공정
| × | 1 | ||||
| × | 1 |
|
|
안녕하세요 여러분, 여기 제 첫 번째 프로젝트인 ThimbleKrox가 있습니다. 이것은 인덱스(또는 아무 손가락)의 움직임을 통해 마우스 포인터를 제어할 수 있는 골무입니다.
1단계:필요한 재료 및 도구
필요한 재료:
<울>필요한 도구:
<울>
2단계:연결
arduino의 핀을 MPU-6050의 핀에 연결합니다.
<울>
3단계:3D 프린팅(선택 사항)
당신의 골무가 멋지게 보이고 싶다면, 3D 프린터가 있다면 물리적인 골무를 출력할 수 있습니다.
저는 두 가지 버전으로 만들었습니다. 하나는 인쇄할 지지대가 필요하지 않고 너무 부피가 크지 않고, 두 번째 버전은 너무 부피가 크지 않으면서 스팀펑크 스타일로 하려고 한 것입니다. one ), 그러나 이것은 지지대가 인쇄되어야 하고 착색된 경우에만 가장 잘 반환되어야 합니다(PLA의 경우 온도와 잘 어울렸습니다). 둘 다 바닥에 2개의 내부 돌출부가 있는 부품으로 인쇄해야 합니다.
그림>
4단계:조립
3D 인쇄된 골무 사용
인쇄된 골무로 모든 것을 장착하려면 연결 후 MPU-6050을 골무의 상단 캐비티에 삽입하고 하단 캐비티의 케이블을 수용해야 합니다.
3D 인쇄된 골무 없이
이 경우 조립은 좀 더 아마추어적인 방식으로 이루어집니다. 즉, MPU-6050을 관심 있는 손가락의 마지막 지골에 위치시키고 접착 테이프나 고무줄로 막는 것입니다.
5단계:코드 및 보정
코드를 실행하기 위해 가장 먼저 할 일은 필요한 라이브러리인 Wire.h, I2Cdev.h, MPU6050.h 및 Mouse.h를 설치하는 것입니다.
이 작업을 수행한 후 ThimbleKrox 보정 코드를 로드하고 골무를 착용하고 직렬 모니터를 여는 것이 좋습니다(Ctrl + Shift + M).
이제 다음과 같이 표시되어야 합니다.
맞아요 | gx =3165 gy =469 gz =-1055 | 도끼 =15232 y =2064 az =-4496
올바르게 보정된 경우 포인터를 이동한 다음 보정에 필요한 일부 값을 원하는 방향이 어디에 표시됩니다.
이제 코드를 다시 열고 "// calibration line"으로 표시된 줄로 이동하여 올바른 방향을 얻을 때까지 숫자 값을 변경해야 합니다. (코드에서 값을 변경할 때마다 Arduino에 다시 업로드해야 함)
예.
직렬 모니터:
<사전><코드>왼쪽 | gx =3165 gy =469 gz =-1055 | 도끼 =5232 y =2064 az =-4496교정 코드:
if (ax> =15000) { // 보정 라인
right ();
}
직렬 모니터는 "왼쪽"을 표시하지만 이 라인을 "오른쪽"으로 표시하기를 원하므로 "15000" 값을 "5000"으로 변경해야 합니다. 이 경우 감지된 "ax"가 코드의 값보다 큰지 확인해야 하기 때문입니다. 코드에 주요 기호가 있고 코드에 "ax"가 있기 때문에 직렬 모니터의 "ax"를 봐야 하기 때문에 더 커야 함을 이해합니다. (코드의 숫자 값만 변경하면 됨)
Arduino에서 코드를 다시 로드하면 다음이 표시됩니다.
직렬 모니터:
맞아요 | gx =3165 gy =469 gz =-1055 | 도끼 =5232 y =2064 az =-4496
교정 코드:
if (ax> =5000) { // 보정 라인
right ();
}
교정 코드의 모든 교정 라인이 조정되어 교정 버전 심블이 작동하는 경우 기본 코드의 값은 교정 코드와 일치하도록 조정되어야 합니다.
예.
교정 코드:
if (ax> =5000) { // 보정 라인
right ();
}
메인 코드:
if (ax> =15000) { // 보정 라인
right ();
}
기본 코드는 다음과 같이 변경해야 합니다.
if (ax> =5000) { // 보정 라인
right ();
}
이제 메인 코드를 업로드할 시간입니다.
6단계:프로젝트 완료
이제 골무를 착용하고 가지고 놀 시간입니다!
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">의 기본 코드//손가락의 움직임을 통해 마우스 포인터를 제어하는 코드//장치를 보정하려면 "ThimbleKrox 보정 코드"를 실행하고 https://www.hackster.io/projects에 있는 자습서를 따르십시오. /dd8881///교정을 위해 변경해야 하는 라인에는 "//교정 라인"이 있습니다. //Magform으로 코드 작성#include#include #include #include MPU6050 mpu;int16_t ax, ay, az, gx, gy, gz;int vx, vy;int 감도=10; //이 값을 변경하여 장치의 감도를 변경합니다. void setup() { Serial.begin(9600); Wire.begin(); mpu.initialize(); if (!mpu.testConnection()) { //MPU-6050과의 연결을 확인합니다. 연결 중지가 없으면 작동을 중지합니다. while (1); }}void up(){ Mouse.move(0, -sensibility); }void down(){ Mouse.move(0, 감성); }void left(){ Mouse.move(-sensibility, 0); }void right(){ Mouse.move(sensibility, 0); } 무효 루프() { mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); if(ax>=15000){ //교정 라인 right(); } if(ax<=-9000){ //보정 라인 왼쪽(); } if(ay<=-8000){ //교정 라인 up(); } if(ay>=10000){ //교정 라인 down(); }//오른쪽 클릭을 스프린트 업으로, 왼쪽 클릭을 스프린트 다운으로 설정하려면 다음 줄의 주석 처리를 제거합니다. (Work in progress part)/* if(gy>=20000){ //calibration line Mouse.click(MOUSE_RIGHT); 지연(100); } if(gy<=-20000){ //교정 라인 Mouse.click(MOUSE_LEFT); 지연(100); }*/delay(10);}
//TimbleKrox를 보정하는 코드//장치를 보정하려면 이 코드를 실행하고 https://www.hackster.io/projects/dd8881///필요한 라인에 있는 자습서를 따르십시오. 보정을 위해 (다른 코드로) 변경될 "//calibration line" //Magform에 의해 작성되는 코드#include#include #include #include MPU6050 mpu;int16_t ax, ay, az, gx, gy, gz;int vx, vy;int Nwrong=1;void setup() { Nwrong=1; Serial.begin(9600); Wire.begin(); mpu.initialize(); while(Nwrong!=0){ if (!mpu.testConnection()) { Serial.print("잘못된 연결 번호:"); Serial.print(Nwrong); 엉++; 지연(1000); }else{ Nwrong=0; } }}위(){ Serial.print(" 위로 "); }void down(){ Serial.print(" 아래로 "); } 무효 왼쪽(){ Serial.print(" 왼쪽 "); } 무효 right(){ Serial.print(" 오른쪽 "); } 무효 rightclick(){ Serial.print(" RightClick ");; }void leftclick(){ Serial.print(" LeftClick ");; } 무효 루프() { mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); if(ax>=15000){ //교정 라인 right(); } if(ax<=-9000){ //보정 라인 왼쪽(); } if(ay<=-8000){ //교정 라인 up(); } if(ay>=10000){ //교정 라인 down(); }//오른쪽 클릭을 스프린트 업으로, 왼쪽 클릭을 스프린트 다운으로 설정하려면 다음 줄의 주석 처리를 제거합니다. (Work in progress part)/* if(gy>=20000){ //calibration line rightclick(); 지연(100); } if(gy<=-20000){ //교정 라인 leftclick(); 지연(100); }*/ Serial.print(" | gx="); Serial.print(gx); Serial.print(" gy="); Serial.print(gy); Serial.print(" gz="); Serial.print(gz); Serial.print(" | ax="); Serial.print(ax); Serial.print(" y="); Serial.print(ay); Serial.print(" az="); Serial.print(az); Serial.print("\n"); 지연(5000); }
제조공정
이 튜토리얼에서는 Arduino와 릴레이 모듈을 사용하여 고전압 장치를 제어하는 방법을 배웁니다. 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 릴레이를 사용하여 고전압 전자 장치를 제어할 수 있습니다. 릴레이는 실제로 전자석에 의해 전기적으로 작동되는 스위치입니다. 전자석은 예를 들어 마이크로컨트롤러의 5볼트와 같은 저전압으로 활성화되고 접점을 당겨 고전압 회로를 만들거나 끊습니다. HL-52S 릴레이 모듈 이 Arduino 릴레이 튜토리얼의 예로서 10A @ 250 및 125 V AC 및 1
이 Arduino 튜토리얼에서는 A4988 스테퍼 드라이버를 사용하여 스테퍼 모터를 제어하는 방법을 배웁니다. 다음 동영상을 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 A4988은 쉬운 작동을 위해 내장된 변환기가 있는 바이폴라 스테퍼 모터를 제어하기 위한 마이크로스테핑 드라이버입니다. 이것은 컨트롤러에서 단 2개의 핀으로 스테퍼 모터를 제어할 수 있음을 의미합니다. 하나는 회전 방향을 제어하고 다른 하나는 단계를 제어하기 위한 것입니다. Driver는 풀스텝, 하프스텝, 쿼터스텝, 8스텝, 16스텝의