Created
April 14, 2026 02:07
-
-
Save bukowa/7d2ec375794b249e6ed6490a62808ad2 to your computer and use it in GitHub Desktop.
stm32 keyboard
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <Keyboard.h> | |
| // Definicje pinów dla BluePill | |
| #define LED_PIN PC13 | |
| #define USB_DISC_PIN PA12 | |
| void setup() { | |
| // 1. Konfiguracja wbudowanej diody | |
| pinMode(LED_PIN, OUTPUT); | |
| digitalWrite(LED_PIN, HIGH); // Na BluePill HIGH = dioda zgaszona | |
| // 2. TWARDY RESET USB (Kluczowe dla BluePill!) | |
| // Wymusza na Windowsie ponowne rozpoznanie urządzenia | |
| pinMode(USB_DISC_PIN, OUTPUT); | |
| digitalWrite(USB_DISC_PIN, LOW); | |
| delay(200); | |
| pinMode(USB_DISC_PIN, INPUT); | |
| // Dajemy systemowi Windows czas na załadowanie sterowników HID | |
| delay(500); | |
| // 3. Start wirtualnej klawiatury | |
| Keyboard.begin(); | |
| // 4. Bezpieczne opóźnienie 5 sekund przed pierwszym wpisywaniem | |
| // Dzięki temu płytka nie zacznie pisać w oknie Arduino IDE od razu po podłączeniu | |
| delay(5000); | |
| } | |
| void loop() { | |
| // --- Co płytka ma "pisać" na klawiaturze --- | |
| // Wpisuje cały tekst i automatycznie dodaje ENTER (przejście do nowej linii) | |
| Keyboard.println("Witaj ze swiata STM32! Klawiatura dziala."); | |
| // Alternatywa: Jeśli chcesz wcisnąć konkretny klawisz (np. literę 'A' albo klawisz Windows): | |
| // Keyboard.write('a'); | |
| // Keyboard.write(KEY_LEFT_GUI); // Klawisz Windows | |
| // Krótkie mrugnięcie diodą na znak, że tekst został wysłany | |
| digitalWrite(LED_PIN, LOW); // Włącz diodę | |
| delay(100); | |
| digitalWrite(LED_PIN, HIGH); // Wyłącz diodę | |
| // Czekaj 5 sekund przed kolejnym wpisaniem tekstu | |
| delay(5000); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment