Cyborg компьютерийн хулгана: 4 алхам (зурагтай)
Cyborg компьютерийн хулгана: 4 алхам (зурагтай)
Anonim
Cyborg компьютерийн хулгана
Cyborg компьютерийн хулгана

Олон тооны судалгаагаар ердийн компьютерийн хулгана ашиглах нь аюултай байж болох бөгөөд хулгана нь компьютерийн стандарт тоног төхөөрөмж юм. Компьютерийн хэрэглэгчид хулганыг гарнаас бараг гурав дахин их ашигладаг. Халдварын түвшин өндөр байдаг тул компьютерийн хулгана ашиглан дээд мөчний байрлалыг сайжруулах нь маш чухал юм.

Энэхүү хийсвэр төслийн хувьд бид гадны технологийн шаардлагагүйгээр компьютерийн дэлгэцээр дамжин өнгөрөх боломжийг олгодог өмсгөл хийх болно. Ингэснээр бид хэвтээ гадаргуу дээрх төхөөрөмжийг дарахын оронд гараа байгалийн хөдөлгөөнөөр ашиглах боломжтой болно. Энэ нь дэлгэцийг зогсож байхдаа ашиглах боломжийг олгодог бөгөөд аман илтгэлийг илүү тааламжтай болгодог.

Прототипийн хувьд индексийг джойстик, зүүн товчлуурын дунд хуруу, баруун товчлуур дээр хуруу, төхөөрөмжийг асаах, унтраахад ашиглах болно. Эрхий хуруу нь товчлуурыг дарах гадаргуугийн үүрэг гүйцэтгэнэ. Энэ бүгдийг бээлий болгон нэмнэ.

Хангамж

  • (x1) Ардуино Леонардо
  • (x1) Protoboard
  • (x1) Joystick модуль
  • (x3) товчлуур
  • (x20 ±) Утас холбогч
  • (x3) 1KΩ эсэргүүцэл
  • (x1) Бээлий оёх хэрэгсэл
  • Velcro Hot силикон
  • Утас гагнах хэрэгсэл
  • 3D хэвлэсэн хэсэг

Алхам 1: Тоног төхөөрөмжийг тохируулах

Тоног төхөөрөмжийг тохируулах
Тоног төхөөрөмжийг тохируулах

Загварыг илүү сайн ойлгохын тулд бид Fritzing -ийн тоймыг оруулсан болно. Эхлээд бүрэлдэхүүн хэсгүүдийг протобоард дээр суулгахыг зөвлөж байна. Ингэснээр та гагнахаасаа өмнө бүх зүйл ажиллаж байгаа эсэхийг шалгаж болно.

Алхам 2: Код болон тестийг байршуулна уу

Холболт хийсний дараа USB A (M) -г компьютерээс Arduino Leonardo руу микро USB B (M) -д холбож, ноорогоо байршуулна уу. Ноорог дээр хуулж, өөрчилж, сайжруулж болно.

АНХААРУУЛГА: Та Mouse.move () тушаалыг ашиглах үед Arduino таны хулганыг эзэлнэ! Командыг ашиглахаасаа өмнө танд хяналт байгаа эсэхийг шалгаарай. Энэ нь зөвхөн Arduino Leonardo, Micro эсвэл Due -д зориулагдсан болно

Энэ төслийн код энд байна:

// Тодорхойлох Pins#include; const int mouseMiddleButton = 2; // хулганы дунд оролтын зүү Төгс const int startEmulation = 3; // хулганы эмуляцийг асаах, унтраах шилжүүлэгч const int mouseLeftButton = 4; // хулганы зүүн талын оролтын зүү Button const int mouseRightButton = 5; // хулганы баруун талын оролтын зүү Button const int joystickX = A1; // joystick X тэнхлэг const int joystickY = A0; // joystick Y тэнхлэг

// джойстик унших параметрүүд:

int cursorSpeed = 10; // X эсвэл Y хөдөлгөөний гаралтын хурд int хариуDelay = 5; // хулганы хариу саатал, ms in threshold = cursorSpeed / 4; // амрах босго int center = cursorSpeed / 2; // амрах байрлалын утга int mouseMiddleState = 0;

boolean mouseIsActive = худал; // хулганыг хянах эсэх

int lastSwitchState = LOW; // өмнөх шилжүүлэгчийн төлөв

хүчингүй тохиргоо () {

pinMode (startEmulation, INPUT); // шилжүүлэгч зүү pinMode (mouseMiddleButton, INPUT); // хулганы дунд товчлуур pinMode (mouseLeftButton, INPUT); // зүүн хулганы товчлуур pinMode (mouseRightButton, INPUT); // хулганы баруун товчлуурын зүү

Хулгана.begin (); // хулганыг хянах

}

void loop () {

// шилжүүлэгчийг уншина уу: int switchState = digitalRead (startEmulation);

// хэрэв энэ нь өөрчлөгдсөн бөгөөд өндөр байвал хулганы төлөвийг сэлгэнэ үү.

if (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive; }}

// шилжүүлэгчийн төлөвийг дараагийн давталтад хадгалах:

lastSwitchState = switchState;

// хоёр тэнхлэгийг уншиж, масштаблах:

int xReading = readAxis (A1); int yReading = readAxis (A0);

// хэрэв хулганы удирдлагын төлөв идэвхтэй байвал хулганыг хөдөлгөнө үү.

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, хулганы дугуйг гүйлгэх)}

// Зүүн

// хулганы товчлуурыг уншаад дарна уу эсвэл дарахгүй: // хэрэв хулганы товчлуур дарагдсан бол: хэрэв (digitalRead (mouseLeftButton) == HIGH) {// хэрэв хулгана дарагдаагүй бол дарна уу: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); саатал (100); // Mouse.release (MOUSE_LEFT) дан болон давхар товшихыг идэвхжүүлэхийн тулд хойшлуулах; }}

// өөрөөр бол хулганы товчлуур дарагдаагүй болно.

else {// хэрэв хулгана дарагдсан бол түүнийг сулла: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

// ЗӨВ

// хулганы товчлуурыг уншаад дарна уу эсвэл дарахгүй: // хэрэв хулганы товчлуур дарагдсан бол: хэрэв (digitalRead (mouseRightButton) == HIGH) {// хэрэв хулгана дарагдаагүй бол түүнийг дарна уу: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); саатал (100); // хулганыг ганц, давхар товшихыг идэвхжүүлэхийн тулд хойшлуулах (MOUSE_RIGHT); }}

// өөрөөр бол хулганы товчлуур дарагдаагүй болно.

else {// хэрэв хулгана дарагдсан бол түүнийг сулла: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

//ДУНД

// хулганы товчлуурыг уншаад дарна уу эсвэл дарахгүй: // хэрэв хулганы товчлуур дарагдсан бол: хэрэв (digitalRead (mouseMiddleButton) == HIGH) {// хэрэв хулгана дарагдаагүй бол түүнийг дарна уу: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // actualiza el estado del botón}}

// өөрөөр бол хулганы товчлуур дарагдаагүй болно.

өөр {// хэрэв хулгана дарагдсан бол түүнийг сулла: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

саатал (хариу хойшлуулах);

}

/*

тэнхлэгийг (x эсвэл y -ийн хувьд 0 эсвэл 1) уншиж, аналог оролтын хүрээг 0 -ээс */ хооронд хэлбэлзүүлнэ.

int readAxis (int thisAxis) {

// аналог оролтыг уншина уу: int унших = analogRead (thisAxis);

// уншилтыг аналог оролтын мужаас гаралтын муж хүртэл зурна уу.

унших = газрын зураг (унших, 0, 1023, 0, cursorSpeed);

// хэрэв гаралтын уншилт нь гаднаас байвал

// амрах байрлалын босго, үүнийг ашиглана уу: int зай = унших - төв;

if (abs (зай) <босго) {зай = 0; }

// энэ тэнхлэгийн зайг буцаана уу:

буцах зай; }

Алхам 3: Прототипийг суурилуулах

Прототипийг суурилуулах
Прототипийг суурилуулах
Прототипийг суурилуулах
Прототипийг суурилуулах
Прототипийг суурилуулах
Прототипийг суурилуулах

Эхний алхам бол бээлий дээр хилэн оёх явдал юм, та хуруу бүрт нэг ширхэг дөрвөн тууз оёх хэрэгтэй. Бид velcro -ийн зөөлөн хэсгийг оёсон.

Товчлуур бүр нь хоёр утастай бөгөөд нэг нь холбогдох тээглүүрээс эхэлж, товчлуурын эерэг хөлтэй, нөгөө нь сөрөг хөл дээр холбогддог. Сөрөг утасны нөгөө талд бид товчлуур бүрийн эсэргүүцэл ба джойстикийн сөрөг утсыг Arduino хавтангийн GND -тэй холбосон сүүлчийн утсаар гагнана. Үүнтэй ижил зэрэгцээ холболт нь эерэг тал дээр ажилладаг. (3 товчлуур ба joystick эерэг хөл)

Холбогчдыг гагнасны дараа бид хатуу хилэн тууз өмсөх бөгөөд ингэснээр утаснууд хоорондоо гацах болно. Эцэст нь бид джойстик модулийг 3D хэвлэсэн хэсэгт термо наасан. Доор та. STL файлыг олж болно.

Алхам 4: Гараа хулгана болгон ашиглаж эхлээрэй

Image
Image
Гараа хулгана болгон ашиглаж эхлээрэй!
Гараа хулгана болгон ашиглаж эхлээрэй!
Гараа хулгана болгон ашиглаж эхлээрэй!
Гараа хулгана болгон ашиглаж эхлээрэй!

Төсөл танд таалагдсан бол туслах технологийн тэмцээнд бидэнд саналаа өгөөрэй.

Зөвлөмж болгож буй: