Αυτό το παράδειγμα, απεικονίζει την χρήση των βιβλιοθηκών του ποντικιού και του πληκτρολογίου. Τα πλήκτρα κατεύθυνσης του δρομέα σας, ενεργοποιούνται μέσω πέντε στιγμιαίων διακοπτών. Έτσι, όταν πατηθεί ένα πλήκτρο, τότε ο δρομέας στην οθόνη σας θα κινηθεί προς την αντίστοιχη κατεύθυνση. Επίσης, το πάτημα ενός πλήκτρου, που αντιστοιχεί στο γράμμα που σχετίζεται με την κατεύθυνση, θα σταλεί στον υπολογιστή. Συνεπώς, μπορείτε να δείτε τα αποτελέσματα με κάποιο επεξεργαστή κειμένου, αφού πρώτα έχετε προγραμματίσει και συνδέσει είτε την πλακέτα του Leonardo, είτε του Micro ή του Due.
Αποσαφήνιση: Να έχετε υπόψη σας ότι όταν χρησιμοποιείτε τις βιβλιοθήκες των συναρτήσεων του ποντικιού και του πληκτρολογίου, τότε το Arduino θα πάρει τον έλεγχο του δρομέα σας. Αυτό μπορεί να διασφαλιστεί με την δημιουργία ενός ελεγκτή πριν από την κλήση της συνάρτησης Mouse.move(). Κατά αυτόν τον τρόπο, δεν θα χάσετε τον έλεγχο του υπολογιστή σας όταν εκτελείται κάποιο κομμάτι κώδικα.
Απαιτούμενος εξοπλισμός
– Πλακέτα του Arduino Leonardo, Micro ή του Arduino Due.
– 5 πιεστικοί διακόπτες.
– 5 αντιστάσεις των 10k Ohm.
– Καλώδια σύνδεσης.
– Breadboard.
Απαιτούμενο λογισμικό
Οποιοσδήποτε επεξεργαστής κειμένου.
Κύκλωμα
Συνδέστε το ένα άκρο των πιεστικών διακοπτών με τους ακροδέκτες 2, 3, 4, 5, και 6 της πλακέτας σας. Στην συνέχεια, συνδέστε το άλλο άκρο με την τροφοδοσία + 5V. Χρησιμοποιήστε τις αντιστάσεις σας ως αντιστάσεις καθόδου. Έτσι, θα παρέχετε την απαιτούμενη γείωση για τους διακόπτες σας. Συγκεκριμένα, συνδέστε την μια άκρη με τον ακροδέκτη σύνδεσης και την άλλη άκρη με την γείωση της πλακέτας.
Αφού τελειώσετε με τον προγραμματισμό της πλακέτας σας, αποσυνδέστε το καλώδιο του USB και στην συνέχεια ανοίξτε ένα πρόγραμμα επεξεργασίας κειμένου. Μετά από αυτό, συνδέστε την πλακέτα με τον υπολογιστή σας και καθώς μετακινείτε τον δρομέα, πιέστε τα αντίστοιχα πλήκτρα έτσι ώστε αυτό να αποτυπωθεί και στο έγγραφό σας.
Σχηματικά


Κώδικας
/*
KeyboardAndMouseControl
Controls the mouse from five pushbuttons on an Arduino Leonardo, Micro or Due.
Hardware:
* 5 pushbuttons attached to D2, D3, D4, D5, D6
The mouse movement is always relative. This sketch reads
four pushbuttons, and uses them to set the movement of the mouse.
WARNING: When you use the Mouse.move() command, the Arduino takes
over your mouse! Make sure you have control before you use the mouse commands.
created 15 Mar 2012
modified 27 Mar 2012
by Tom Igoe
this code is in the public domain
*/
#include "Keyboard.h"
#include "Mouse.h"
// set pin numbers for the five buttons:
const int upButton = 2;
const int downButton = 3;
const int leftButton = 4;
const int rightButton = 5;
const int mouseButton = 6;
void setup() { // initialize the buttons' inputs:
pinMode(upButton, INPUT);
pinMode(downButton, INPUT);
pinMode(leftButton, INPUT);
pinMode(rightButton, INPUT);
pinMode(mouseButton, INPUT);
Serial.begin(9600);
// initialize mouse control:
Mouse.begin();
Keyboard.begin();
}
void loop() {
// use serial input to control the mouse:
if (Serial.available() > 0) {
char inChar = Serial.read();
switch (inChar) {
case 'u':
// move mouse up
Mouse.move(0, -40);
break;
case 'd':
// move mouse down
Mouse.move(0, 40);
break;
case 'l':
// move mouse left
Mouse.move(-40, 0);
break;
case 'r':
// move mouse right
Mouse.move(40, 0);
break;
case 'm':
// perform mouse left click
Mouse.click(MOUSE_LEFT);
break;
}
}
// use the pushbuttons to control the keyboard:
if (digitalRead(upButton) == HIGH) {
Keyboard.write('u');
}
if (digitalRead(downButton) == HIGH) {
Keyboard.write('d');
}
if (digitalRead(leftButton) == HIGH) {
Keyboard.write('l');
}
if (digitalRead(rightButton) == HIGH) {
Keyboard.write('r');
}
if (digitalRead(mouseButton) == HIGH) {
Keyboard.write('m');
}
}
Επιστροφή στην σελίδα Παραπομπές Γλώσσας
