Სარჩევი:

Cyborg კომპიუტერის მაუსი: 4 ნაბიჯი (სურათებით)
Cyborg კომპიუტერის მაუსი: 4 ნაბიჯი (სურათებით)

ვიდეო: Cyborg კომპიუტერის მაუსი: 4 ნაბიჯი (სურათებით)

ვიდეო: Cyborg კომპიუტერის მაუსი: 4 ნაბიჯი (სურათებით)
ვიდეო: 4G როუტერი SIM ბარათით + RJ45 / მოდელი CPE 903 / მიმოხილვა + ტესტები 2024, ივლისი
Anonim
Cyborg კომპიუტერის მაუსი
Cyborg კომპიუტერის მაუსი

ბევრი კვლევა ვარაუდობს, რომ ჩვეულებრივი კომპიუტერის მაუსის გამოყენების პოზა შეიძლება საშიში იყოს. თაგვი არის კომპიუტერული ტექნიკის სტანდარტული ნაწილი. კომპიუტერის მომხმარებლები იყენებენ მაუსს თითქმის სამჯერ, ვიდრე კლავიატურაზე. ვინაიდან ექსპოზიციის მაჩვენებლები მაღალია, კომპიუტერის მაუსის გამოყენებისას ზედა კიდურების პოზის გაუმჯობესება ძალიან მნიშვნელოვანია.

ამ აბსტრაქტული პროექტისთვის ჩვენ შევქმნით ტარებას, რომელიც საშუალებას მისცემს ადამიანებს გადაადგილდნენ კომპიუტერის ეკრანზე გარე ტექნოლოგიების აუცილებლობის გარეშე. ამ გზით ჩვენ შეგვიძლია გამოვიყენოთ ხელები ბუნებრივი მოძრაობებით იმის ნაცვლად, რომ დააწკაპუნოთ მოწყობილობაზე ჰორიზონტალურ ზედაპირზე. ეს ასევე საშუალებას გაძლევთ გამოიყენოთ ეკრანები დგომისას, რაც ზეპირი პრეზენტაციებს უფრო სასიამოვნო გახდის.

რაც შეეხება პროტოტიპს, ის გამოიყენებს ინდექსს, როგორც ჯოისტიკს, შუა თითს მარცხენა დაწკაპუნებისთვის, ბეჭედს მარჯვენა ღილაკზე და ვარდისფერი - მოწყობილობის ჩართვასა და გამორთვას. ცერა თითი იმოქმედებს, როგორც ზედაპირი, სადაც ღილაკები იჭერენ. ყოველივე ამას დაემატება ხელთათმანი.

მარაგები

  • (x1) არდუინო ლეონარდო
  • (x1) პროტობორდი
  • (x1) ჯოისტიკის მოდული
  • (x3) ღილაკი
  • (x20 ±) მავთულის მხტუნავები
  • (x3) 1KΩ რეზისტორები
  • (x1) ხელთათმანების სამკერვალო ნაკრები
  • Velcro ცხელი სილიკონი
  • მავთულის შედუღების ნაკრები
  • 3D ნაბეჭდი ნაწილი

ნაბიჯი 1: აპარატურის დაყენება

დააყენეთ აპარატურა
დააყენეთ აპარატურა

ჩვენ შევიტანეთ ფრიზინგის ესკიზი დიზაინის უკეთ გასაგებად. ჩვენ გირჩევთ კომპონენტების დაყენებას ჯერ პროტობორდზე. ამ გზით თქვენ შეგიძლიათ შეამოწმოთ, რომ ყველაფერი მუშაობს შედუღებამდე.

ნაბიჯი 2: ატვირთეთ კოდი და ტესტი

კავშირების დამყარების შემდეგ დააკავშირეთ USB A (M) მიკრო USB B (M) კომპიუტერიდან არდუინო ლეონარდოსთან და ატვირთეთ ესკიზი. მოგერიდებათ ესკიზის კოპირება, შეცვლა და გაუმჯობესება.

გაფრთხილება: როდესაც თქვენ იყენებთ Mouse.move () ბრძანებას, Arduino იღებს თქვენს მაუსს! დარწმუნდით, რომ გაქვთ კონტროლი ბრძანების გამოყენებამდე. ის მუშაობს მხოლოდ არდუინო ლეონარდოს, მიკრო ან დუენისთვის

აქ არის ჩვენი კოდი ამ პროექტისთვის:

// განსაზღვრეთ ქინძისთავები#მოიცავს; const int mouseMiddleButton = 2; // შეყვანის პინი მაუსის შუა ღილაკზე const int startEmulation = 3; // გადართვა მაუსის ემულაციის ჩართვისა და გამორთვის const int mouseLeftButton = 4; // მაუსის მარცხენა ღილაკზე შეყვანის ღილაკი const int mouseRightButton = 5; // მაუსის მარჯვენა ღილაკის შეყვანის ღილაკი const int joystickX = A1; // ჯოისტიკი X ღერძი const int ჯოისტიკი Y = A0; // ჯოისტიკი Y ღერძი

// ჯოისტიკის კითხვის პარამეტრები:

int კურსორი სიჩქარე = 10; // X ან Y მოძრაობის გამომავალი სიჩქარე int responseDale = 5; // თაგვის პასუხის დაგვიანება, ms int ბარიერი = cursorSpeed / 4; // დასვენების ბარიერი int center = cursorSpeed / 2; // დასვენების პოზიციის მნიშვნელობა int mouseMiddleState = 0;

ლოგიკური mouseIsActive = ყალბი; // მაუსის კონტროლი თუ არა

int lastSwitchState = LOW; // გადართვის წინა მდგომარეობა

void setup () {

pinMode (startEmulation, INPUT); // გადართვა pin pinMode (mouseMiddleButton, INPUT); // მაუსის შუა ღილაკი pin pinMode (mouseLeftButton, INPUT); // მაუსის მარცხენა ღილაკს pin pinMode (mouseRightButton, INPUT); // მაუსის მარჯვენა ღილაკის პინი

თაგვი. დაწყება (); // აიღეთ მაუსის კონტროლი

}

ბათილი მარყუჟი () {

// წაიკითხეთ გადამრთველი: 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, თაგვის გადახვევა)}

// მარცხენა

// წაიკითხეთ მაუსის ღილაკი და დააწკაპუნეთ ან არ დააჭიროთ: // თუ მაუსის ღილაკს დაჭერით: if (digitalRead (mouseLeftButton) == HIGH) {// თუ მაუსი არ არის დაჭერილი, დააჭირეთ მას: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); დაგვიანება (100); // გადადება Mouse.release ერთჯერადი და ორჯერ დაწკაპუნების მიზნით (MOUSE_LEFT); }}

// სხვაგვარად მაუსის ღილაკი არ არის დაჭერილი:

სხვა {// თუ მაუსი დაჭერილია, გაათავისუფლე: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

// უფლება

// წაიკითხეთ მაუსის ღილაკი და დააწკაპუნეთ ან არ დააჭიროთ: // თუ მაუსის ღილაკს დაჭერით: if (digitalRead (mouseRightButton) == HIGH) {// თუ მაუსი არ არის დაჭერილი, დააჭირეთ მას: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); დაგვიანება (100); // გადადება Mouse.release ერთჯერადი და ორჯერ დაწკაპუნების გასააქტიურებლად (MOUSE_RIGHT); }}

// სხვაგვარად მაუსის ღილაკი არ არის დაჭერილი:

else {// თუ თაგუნა დაჭერილია, გაუშვით: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

//ᲨᲣᲐ

// წაიკითხეთ მაუსის ღილაკი და დააწკაპუნეთ ან არ დააწკაპუნოთ: // მაუსის ღილაკზე დაჭერის შემთხვევაში: if (digitalRead (mouseMiddleButton) == HIGH) {// თუ მაუსი არ არის დაჭერილი, დააჭირეთ მას: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // actualiza el estado del botón}}

// სხვაგვარად მაუსის ღილაკი არ არის დაჭერილი:

else {// თუ თაგვი დაჭერილია, გაათავისუფლე: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

დაგვიანებით (საპასუხოდ დაგვიანებით);

}

/*

კითხულობს ღერძს (0 ან 1 x ან y) და ანალოგიურ ანალოგურ შეყვანის დიაპაზონს 0 -დან */

int readAxis (int thisAxis) {

// წაიკითხეთ ანალოგური შეყვანა: int reading = analogRead (thisAxis);

// შეაფასეთ კითხვა წაკითხვის ანალოგური დიაპაზონიდან გამომავალ დიაპაზონში:

კითხვა = რუკა (კითხვა, 0, 1023, 0, cursorSpeed);

// თუ გამომავალი კითხვა არის გარეთ

// დასვენების პოზიციის ბარიერი, გამოიყენეთ იგი: int მანძილი = კითხვა - ცენტრი;

if (abs (მანძილი) <ბარიერი) {მანძილი = 0; }

// დააბრუნე მანძილი ამ ღერძისთვის:

დაბრუნების მანძილი; }

ნაბიჯი 3: პროტოტიპის დამონტაჟება

პროტოტიპის დამონტაჟება
პროტოტიპის დამონტაჟება
პროტოტიპის დამონტაჟება
პროტოტიპის დამონტაჟება
პროტოტიპის დამონტაჟება
პროტოტიპის დამონტაჟება

პირველი ნაბიჯი არის ველკროს ხელთათმანის შეკერვა, თქვენ უნდა შეკეროთ ველკროს ოთხი ზოლი თითო თითზე. ჩვენ შეკერილი რბილი ნაწილი velcro.

თითოეულ ღილაკს აქვს ორი მავთული, ერთი იწყება შესაბამისი ქინძისთავებით და უკავშირდება ღილაკის დადებით ფეხს და მეორე უარყოფით ფეხს. ნეგატიური მავთულის მეორე ბოლოში ჩვენ ვასხამთ თითოეული ღილაკის წინააღმდეგობას და ჯოისტიკის უარყოფით მავთულს ბოლო მავთულზე, რომელიც აკავშირებს არდუინოს დაფის GND- ს. იგივე პარალელური კავშირი მუშაობს დადებით მხარეზე. (3 ღილაკი და ჯოისტიკი დადებითი ფეხი)

მხტუნავების შედუღების შემდეგ ჩვენ დავდებთ მძიმე ველკრო-ზოლებს, ისე რომ მავთულები მათ შორის ჩერდება. ბოლოს ჩვენ თერმო-წებოვანა ჯოისტიკის მოდული 3D დაბეჭდილ ნაჭერზე. ქვემოთ შეგიძლიათ იხილოთ. STL ფაილი.

ნაბიჯი 4: დაიწყეთ ხელის გამოყენება როგორც თაგვი

Image
Image
დაიწყეთ ხელის გამოყენება როგორც მაუსი!
დაიწყეთ ხელის გამოყენება როგორც მაუსი!
დაიწყეთ ხელის გამოყენება როგორც მაუსი!
დაიწყეთ ხელის გამოყენება როგორც მაუსი!

ხმა მოგვცეს დამხმარე ტექნიკურ კონკურსში, თუ მოგეწონათ პროექტი.

გირჩევთ: