Har du provat nedanstående för att skicka ALT+R?
Kod: Markera allt
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('r');
delay(100);
Keyboard.releaseAll();
EDIT: Ändrade i koden lite..
Kod: Markera allt
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('r');
delay(100);
Keyboard.releaseAll();
på panelen i Mach 3.Cycle Start <Alt-R>
Det var ju exakt så jag skrev...hato skrev:Hurra!!!!!
Så här skall det vara:
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('r');
delay(100);
Keyboard.releaseAll();
Kod: Markera allt
/* This software is used to control the frontpanel for MACH 3
using a Arduino Micro
Joystick 1: X++, X--, Y++, Y--
Joystick 2: Z++, Z--
Button Red: Stop
Button Yellow: Hold
Button Green: Start
Switch X-Y-Z, Jog X, Y Z. Only 2 swiches X and Z.Use software to make Y.
*/
#define SPACE 0x20
#define SETMPGX 0x31 //dummy walues for test
#define SETMPGY 0x32 //dummy walues for test
#define SETMPGZ 0x33 //dummy walues for test
#define X 0
#define Y 1
#define Z 2
// define input pins
const int IN_XPLUS = 2;
const int IN_XMINUS = 3;
const int IN_YPLUS = 0;
const int IN_YMINUS = 1;
const int IN_ZPLUS = 4;
const int IN_ZMINUS = 5;
const int START = 6;
const int HOLD = 7;
const int STOP = 8;
const int MPG_X = 9;
const int MPG_Z = 10;
const int LED = 13; // for test
int mpg;
int keyra = LOW;
int keyla = LOW;
int keyua = LOW;
int keyda = LOW;
int keypu = LOW;
int keypd = LOW;
void setup(){
pinMode(IN_XPLUS,INPUT_PULLUP);
pinMode(IN_XMINUS,INPUT_PULLUP);
pinMode(IN_YPLUS,INPUT_PULLUP);
pinMode(IN_YMINUS,INPUT_PULLUP);
pinMode(IN_ZPLUS,INPUT_PULLUP);
pinMode(IN_ZMINUS,INPUT_PULLUP);
pinMode(START,INPUT_PULLUP);
pinMode(HOLD,INPUT_PULLUP);
pinMode(STOP,INPUT_PULLUP);
pinMode(MPG_X,INPUT_PULLUP);
pinMode(MPG_Z,INPUT_PULLUP);
Keyboard.begin();
// delay(120000); // Wait for 2 minutes untill PC software started
if(digitalRead(MPG_X) == LOW){
Keyboard.write(SETMPGX);
mpg = X;
} else if (digitalRead(MPG_Z) == LOW){
Keyboard.write(SETMPGZ);
mpg = Z;
} else {
Keyboard.write(SETMPGY);
mpg = Y;
}
}
void loop(){
if(digitalRead(IN_XPLUS) == LOW && !keyra) {
Keyboard.press(KEY_RIGHT_ARROW);
keyra = HIGH;
delay(100);
} else if(keyra && digitalRead(IN_XPLUS)){
Keyboard.release(KEY_RIGHT_ARROW);
keyra = LOW;
}
if(digitalRead(IN_XMINUS) == LOW && !keyla) {
Keyboard.press(KEY_LEFT_ARROW);
keyla = HIGH;
delay(100);
}else if(keyla && digitalRead(IN_XMINUS)){
Keyboard.release(KEY_LEFT_ARROW);
keyla = LOW;
}
if(digitalRead(IN_YPLUS) == LOW && !keyua) {
Keyboard.press(KEY_UP_ARROW);
keyua = HIGH;
delay(100);
} else if(keyua && digitalRead(IN_YPLUS)){
Keyboard.release(KEY_UP_ARROW);
keyua = LOW;
}
if(digitalRead(IN_YMINUS) == LOW && !keyda) {
Keyboard.press(KEY_DOWN_ARROW);
keyda = HIGH;
delay(100);
} else if(keyda && digitalRead(IN_YMINUS)){
Keyboard.release(KEY_DOWN_ARROW);
keyda = LOW;
}
if(digitalRead(IN_ZPLUS) == LOW && !keypu) {
Keyboard.press(KEY_PAGE_UP);
keypu = HIGH;
delay(100);
} else if(keypu && digitalRead(IN_ZPLUS)){
Keyboard.release(KEY_PAGE_UP);
keypu = LOW;
}
if(digitalRead(IN_ZMINUS) == LOW && !keypd) {
Keyboard.press(KEY_PAGE_DOWN);
keypd = HIGH;
delay(100);
} else if(keypd && digitalRead(IN_ZMINUS)){
Keyboard.release(KEY_PAGE_DOWN);
keypd = LOW;
}
if(digitalRead(START) == LOW) {
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('r');
delay(200);
Keyboard.releaseAll();
}
if(digitalRead(HOLD) == LOW) {
Keyboard.write(SPACE);
delay(200);
}
if(digitalRead(STOP) == LOW) {
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('s');
delay(200);
Keyboard.releaseAll();
}
if(digitalRead(MPG_X) == LOW && digitalRead(MPG_Z) != LOW){
if(mpg != X){
Keyboard.write(SETMPGX);
mpg = X;
delay(200);
}
} else if(digitalRead(MPG_Z) == LOW && digitalRead(MPG_X) != LOW){
if(mpg != Z){
Keyboard.write(SETMPGZ);
mpg = Z;
}
delay(200);
} else {
if (mpg != Y){
Keyboard.write(SETMPGY);
mpg = Y;
delay(200);
}
}
}