Quiero saber si desde el monitor serie de Arduino UNO, se puede enviar desde el teclado un comando llamado a si pulso F12.
¿Es posible hacerlo?
Código base de ejemplo.
int tecla; // Definimos la variable tecla donde guardaremos la lectura de la tecla.
int Pinled = 5; // Definimos la variable Pinled que corresponderá la pin 5 donde conectaremos el led.
void setup()
{
Serial.begin(9600); // Inicializamos el puerto serie.
pinMode(Pinled, OUTPUT); // Definimos el pin 5 como salida.
}
void loop() {
//Si hay datos disponibles por el puerto serial hacemos la lectura.
if (Serial.available() > 0) {
tecla = Serial.read(); // leemos los datos y los guardamos en la variable tecla
if (tecla == 'a')
digitalWrite(Pinled, HIGH); // turn the LED on (HIGH is the voltage level)
delay(10000);
digitalWrite(5, HIGH); // turn the LED on (HIGH is the voltage level)
delay(900); // wait for a second
digitalWrite(5, LOW); // turn the LED off by making the voltage LOW
// wait for a second
digitalWrite(Pinled, LOW); // turn the LED off by making the voltage LOW
}
}
La idea es que si pulso desde el teclado F12, se quede el Led del pin 5 activado durante 60 segundos.
Supongo que te refieres que desde sistema operativo (windows) si se pulsa, estés donde estés dentro de cualquier programa, la tecla F12 del teclado del ordenador, sea capaz de mandar una señal a Arduino para encender un led. ¿correcto?
Si es así te comento que a nivel programación Windows es algo complejo y fuera del contexto de Arduino y de este foro.
Pero te explico como hacerlo de la forma más facil posible sin programar en Windows 10:
Create este comando de sistema operativo en una carpeta que quieras:
REM *************** BORRAMOS PANTALLA:
@ECHO OFF
CLS
REM *************** ESTABLECEMOS EL PUERTO SERIE DEL ARDUINO (CAMBIAR EL COM7 POR EL QUE TENGAMOS EN WINDOWS)
MODE COM7:9600,N,8,1
REM *************** ENVIAMOS EL CARACTER 'a' + INTRO AL PUERTO DE SERIE DEL ARDUINO (CAMBIAR EL COM7 POR EL QUE TENGAMOS EN WINDOWS)
ECHO a>COM7
Dado que Windows 10 no permite crear accesos directos en la barra de tareas a ficheros .cmd o .bat, lo guardamos como .exe y se complica un poco la tarea:
Graba esto anterior en una carpeta (por ejemplo C:\Arduino) como F12.exe
Arrastra el f12.exe a la barra de tareas para inicio rápido (lo que llamaríamos en windows "Anclar al inicio")
Renombra F12.exe como F12.cmd que pusiste en la carpeta C:\Arduino
Cuando lo tengas en la barra de tareas el inico rápido anclado, dale sobre él botón derecho del ratón y te aparecerán dos cosas:
F12
Desanclar de la barra de tareas
Ahora hay que darle sobre "F12" con el botón derecho del ratón y dar "Propiedades" y te aparecerá la ventana de propiedades donde en destino cambiaremos C:\Arduino\f12.exe por C:\Arduino\f12.cmd
y donde dice tecla de método abreviado pulsar con el ratón y después dar a la tecla Ctrl+Alt+A (prueba esta primero)
Y aceptas.
Con esto ya tienes que cuando pulses esa combinación, te arrancará el f12.cmd y éste mandará una "a" al puerto com7 donde debe estar el arduino.