Új ablakot nyit meg az Arduino IDE-ben, és egy egyszerű villogó programmal újraprogramozza a Leonardot.
Utolsó felülvizsgálat: 2022.02.04 16:50
Ez a példa a Keyboard könyvtárat használja egy új Arduino Software (IDE) vázlatablak megnyitására, a Blink példában szereplő billentyűzetparancsok küldésére és a tábla újraprogramozására. Miután lefuttatta ezt a vázlatot, és a 2-es kivezetést a földhöz csatlakoztatta a nyomógombbal, a kártyának új programja lesz, a Blink.
Megjegyzés: Amikor a Keyboard.print() parancsot használja, az Arduino átveszi a számítógép billentyűzetét! Annak érdekében, hogy ne veszítse el az uralmat a számítógépe felett, miközben vázlatot futtat ezzel a funkcióval, győződjön meg arról, hogy egy megbízható vezérlőrendszert állít be, mielőtt meghívja a Keyboard.print() parancsot. Ezt a vázlatot úgy tervezték, hogy csak a 2. digitális kivezetés földre húzása után küldjön el billentyűzet parancsokat.
A vázlat beolvassa a piezo kimenetet az analogRead()
paranccsal, kódolva a 0 és 5 volt közötti feszültségtartományt egy 0 és 1023 közötti numerikus tartományba egy analóg-digitális átalakításnak vagy ADC-nek nevezett folyamatban.
Ha az érzékelők kimenete erősebb egy bizonyos küszöbértéknél, a kártya a "Kopognak!" stringet küldi a számítógépnek a soros porton keresztül.
A szöveg megtekintéséhez nyissa meg a soros monitort.
Hardver szükséglet
Arduino Leonardo, Micro vagy Due kártya
nyomógomb
összekötő vezetékek
dugdosós próbapanel (breadboard)
Szoftver szükséglet
Arduino IDE futtató
Az áramkör

Vázlat

A kód
Csatlakoztassa a kártyát az USB-porthoz, majd nyomja meg a gombot a D2 és a GND összekapcsolásához, és indítsa el a billentyűzet billentyű-megnyomás emuláció vázlatát. Ne felejtse el kiválasztani az Arduino Software (IDE) ablakot, mielőtt megnyomja a gombot.
/*
Arduino Programs Blink
Ez a vázlat a Keyboard könyvtárat mutatja be.
Csak a Leonardo és Due kártyákhoz.
Amikor a 2-es kivezetést a földhöz csatlakoztatja, egy új ablakot hoz
létre egy billentyűkombinációval (CTRL-N), majd beírja a Blink vázlatot,
majd automatikusan megformázza a szöveget egy másik billentyűkombinációval
(CTRL-T), majd feltölti a vázlatot az aktuálisan kiválasztott Arduino-hoz
egy végső billentyűkombináció (CTRL-U) használatával.
Az áramkör:
- Arduino Leonardo, Micro, Due, LilyPad USB, vagy Yún
- vezeték a D2 földhöz csatlakoztatásához
created 5 Mar 2012
modified 29 Mar 2012
by Tom Igoe
modified 3 May 2014
by Scott Fitzgerald
Ez a kód nyilvános.
https://docs.arduino.cc/built-in-examples/usb/KeyboardReprogram
*/
#include "Keyboard.h"
// használja ezt a lehetőséget OSX esetén.
// Tegye kommentté, ha Windows vagy Linux rendszert használ:
char ctrlKey = KEY_LEFT_GUI;
// használja ezt a lehetőséget Windows és Linux rendszeren.
// hagyd kommentnek, ha OSX-et használsz:
// char ctrlKey = KEY_LEFT_CTRL;
void setup() {
// tegye a 2-es kivezetést bemenetté, és kapcsolja be a felhúzó ellenállást,
// hogy magasra menjen, hacsak nincs földelve:
pinMode(2, INPUT_PULLUP);
// inicializálja a billentyűzet vezérlését:
Keyboard.begin();
}
void loop() {
while (digitalRead(2) == HIGH) {
// ne csináljon semmit, amíg a 2. kivezetés LOW-ra nem megy
delay(500);
}
delay(1000);
// új dokument:
Keyboard.press(ctrlKey);
Keyboard.press('n');
delay(100);
Keyboard.releaseAll();
// várja meg, amíg megnyílik az új ablak:
delay(1000);
// az Arduino IDE 1.5 utáni verziói előre kitöltik az új vázlatokat a
// setup() és loop() függvényekkel, töröljük az ablakot, mielőtt bármi
// újat írnánk jelöljük ki az összeset
Keyboard.press(ctrlKey);
Keyboard.press('a');
delay(500);
Keyboard.releaseAll();
// töröljük a kiválasztott szöveget
Keyboard.write(KEY_BACKSPACE);
delay(500);
// Írd ki "blink":
Keyboard.println("void setup() {");
Keyboard.println("pinMode(13, OUTPUT);");
Keyboard.println("}");
Keyboard.println();
Keyboard.println("void loop() {");
Keyboard.println("digitalWrite(13, HIGH);");
Keyboard.print("delay(3000);");
// 3000 ms túl hosszú. Töröld:
for (int keystrokes = 0; keystrokes < 6; keystrokes++) {
delay(500);
Keyboard.write(KEY_BACKSPACE);
}
// legyen helyette 1000:
Keyboard.println("1000);");
Keyboard.println("digitalWrite(13, LOW);");
Keyboard.println("delay(1000);");
Keyboard.println("}");
// kitakarítani:
Keyboard.press(ctrlKey);
Keyboard.press('t');
delay(100);
Keyboard.releaseAll();
delay(3000);
// kód feltöltés:
Keyboard.press(ctrlKey);
Keyboard.press('u');
delay(100);
Keyboard.releaseAll();
// várja az újraprogramozás édes feledését:
while (true);
}
Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.