Commande sur clavier ordinateur pour pouvoir allumer une led

Bonjour, je rencontre un problème avec mon programme. Le but est simple c'est de pouvoir allumer une led depuis une touche de mon clavier.
Pouvez vous m'aider car sa fait 4 jours que je suis déçu...

#include <Keyboard.h>

const int LED_PIN = 13;

void setup() {
  // Initialise la bibliothèque Keyboard
  Keyboard.begin();

  // Configure la broche de la LED en sortie
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // Si une touche a été appuyée sur le clavier
  if (Keyboard.available()) {
    // Lis la touche appuyée
    char key = Keyboard.read();

    // Si la touche est 'a', allume la LED
    if (key == 'a') {
      digitalWrite(LED_PIN, HIGH);
    }
  }
}

Et il me met comme Erreur :

C:\Users\Arthur\Desktop\clavier test\clavier test.ino: In function 'void setup()':
C:\Users\Arthur\Desktop\clavier test\clavier test.ino:7:3: error: 'Keyboard' was not declared in this scope
   Keyboard.begin();
   ^~~~~~~~
C:\Users\Arthur\Desktop\clavier test\clavier test.ino: In function 'void loop()':
C:\Users\Arthur\Desktop\clavier test\clavier test.ino:15:7: error: 'Keyboard' was not declared in this scope
   if (Keyboard.available()) {
       ^~~~~~~~
Plusieurs bibliothèque trouvées pour "Keyboard.h"
  Utilisé: C:\Users\Arthur\Documents\Arduino\libraries\Keyboard
  Non utilisé: C:\Users\Arthur\AppData\Local\Arduino15\libraries\Keyboard
exit status 1

Compilation error: 'Keyboard' not found. Does your sketch include the line '#include <Keyboard.h>'?

Merci de m'aider

Quel arduino?
Quelle est cette bibliothèque keyboard ?

salut c'est un arduino uno et la bibliothèque keyboard est celle de arduino IDE

Tu as plusieurs bibliothèque qui apporte Keyboard.h
Tu es sûre que C:\Users\Arthur\Documents\Arduino\libraries\Keyboard apporte la bonne librairie?

comment on peut voir si c'est la bonne librairie ?

le plus simple tu regarde ce qu'il y a dedans, souvent en commentaire, il y a des indications sur les auteurs ou le nom de la librairie.

Comme il t'en trouve deux, dans des répertoires complétements différents, essaye de voir dans le gestionnaire si tu n'a pas ajouté une librairie.

ok je regarde :slight_smile:

Le code à un peu changer.

C:\Users\Arthur\Desktop\test clavier\test clavier.ino: In function 'void setup()':
C:\Users\Arthur\Desktop\test clavier\test clavier.ino:7:3: error: 'Keyboard' was not declared in this scope
   Keyboard.begin();
   ^~~~~~~~
C:\Users\Arthur\Desktop\test clavier\test clavier.ino: In function 'void loop()':
C:\Users\Arthur\Desktop\test clavier\test clavier.ino:15:7: error: 'Keyboard' was not declared in this scope
   if (Keyboard.available()) {
       ^~~~~~~~

exit status 1

Compilation error: 'Keyboard' not found. Does your sketch include the line '#include <Keyboard.h>'?

Capture d'écran pour info ^^^^:

Le Uno ne supporte pas keyboard.

quelle produit peut supporter le keyboard ?

les cartes qui, comme Micro , Leonardo .....tournent avec un microcontrolleur ATMega32u4

C'est indiqué dans la documentation que tu as donné :slight_smile:

Merci, je commande :clap:

Par contre je ne suis pas sûre d'avoir compris ce que tu veux faire.
La librairie que tu précise est pour envoyer des touches claviers de ton Arduino à ton PC.
Toi tu veux faire le contraire?

Bonjour

En effet ça change les choses !

Dans le titre du message il est fait état du clavier de l'ordinateur

Il faut donc :

-sur l'ordinateur un petit programme interceptant les frapes de touche pour envoyer un message à la carte Arduino

-sur la carte Arduino un petit programme re réception du message pour déclencher l'action d'allumage

La bibliothèque keyboard , comme indiqué par @terwal, joue un rôle totalement différent (contraire) , elle permet à certaines cartes Arduino de se comporter comme un clavier USB d'ordinateur.

Ça ne va pas recevoir les touches du clavier PC…

Il faut un programme qui tourne sur le PC qui parle via la liaison série (par exemple) à votre arduino. Un petit programme en Python ou Java (via Processing) par exemple si vous ne maîtrisez pas le développement avec les API natives de Windows

Ou une console série comme Putty.

On peut aussi faire du C#, VB avec Visual studio, mais c'est un peu lourd à installer pour envoyer 4 commandes :slight_smile:
En parlant de Python, ne pas oublier son gros concurrent mais je n'ai jamais testé la liaison série en Javascript

Pour éteindre et allumer une led depuis le clavier je pense que ce petit code suffit
tu tapes ensuite "a" dans le port série la led s'allume, "e" elle s'eteint.

#define PinLed 2
char msg =' ';

void setup() 
{
       Serial.begin(9600);

}
void loop()
{
  

      if (Serial.available()) 
{
msg = Serial.read();
 }
      if (msg ==('a')){digitalWrite(PinLed,HIGH);
}
      if (msg ==('e')){digitalWrite(PinLed,LOW);
}
   
      msg =' ';
}

pas tout à fait, il faut mettre la pin de la led en sortie.
sinon pas besoin de variable globale (et autant aller un peu plus vite que 9600) et pas la peine de faire les test constamment, vous pourriez mettre la comparaison juste après le Serial.read() et un petit else serait bien aussi.

Sinon un truc comme cela avec un switch

const byte ledPin = 2;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(115200);
}

void loop() {
  switch (Serial.read()) {
    case 'a': digitalWrite(ledPin, HIGH); break;
    case 'e': digitalWrite(ledPin, LOW);  break;
    default: break;
  }
  // ici on peut faire autre chose
}

salut, @al1fch

Tu connais un programme interceptant les frapes de touche pour envoyer un message à la carte Arduino ?