Это видео недоступно.
Сожалеем об этом.
How To Turn An Arduino Into A USB Keyboard Or Mouse! | ATMega32U4
HTML-код
- Опубликовано: 24 июн 2022
- Just a quick video showing you the possibilities of the venerable ATMega32U4 - found in the Arduino Pro Micro, Leonardo and the relevant clones.
Check out Sparkfun's guide here, but please remember to include the Keyboard.h and Mouse.h libraries:
www.sparkfun.c...
and here is the code I used:
github.com/Sim...
Do you need some Arduinos? Get there here:
Pro Micro clone:
s.click.aliexp...
Canada: amzn.to/3NYNHRl
USA & World: amzn.to/3HDR9i9
Leonardo clone:
s.click.aliexp...
Canada: amzn.to/3aVBpKR
USA & World: amzn.to/3mQym9I
Thanks for watching!
Check out my website: www.simpleelec...
If you feel like supporting the channel, please consider supporting on Patreon:
/ simpleelectronics
or get some cool merch!
teespring.com/...
or buy anything from USA Amazon using my affiliate link:
amzn.to/3Iki6q7
or buy anything from Canadian Amazon using my affiliate link:
amzn.to/3FNxPfI
or buy anything on Banggood's site using my affiliate link:
www.banggood.c...
or buy anything using my Aliexpress affiliate link:
s.click.aliexp...
and if you feel so inclined, here is my Amazon wish list!
www.amazon.ca/...
This is not only a keyboard but also any imaginable HID device, including UPS and 3D joystick.
So simple! This looks like the start of a project for my Year 9 class. A handful of mechanical keyboard switches and some 3D printing could make a cool little macro pad. Thanks for the video.
These projects where they help us with our daily stuff are really powerful.
I had one of these for some time, with 12 button keyboard that uses only one analog pin, worked great, but those buttons were a bit noisy (12mm tact switches) and a bit bulky. So my next step was to make this thinner and silent. So I used one of these MPR121 12 touch pad boards, works like a charm, and it's really thin compared to my previous one
This is awesome. Gonna use some parallel in to serial out chips to get many many inputs and make a number pad. I do not like the decision of adding the 500ms delay there though, due to not being able to press any buttons for 500ms. I think I'll just not have a hold function, and rather only send inputs when they are pulled high, and ignore that button until it's pulled low again
or I'll just do Keyboard.press and Keyboard.release. That seems better maybe
Made my foot pedal project a breeze! Quick and simple! Great thanks!👍🤘
Awesome!
Yes I do want you to build a project and maybe try one without the delay. Thanks
I was looking for how to create a combined USB mouse and keyboard using an ATmega32U4 (Arduino Micro), but had read things implying that in order to combine two devices in one micrcontroller, you had to also implement a USB Composite device. And of course, most example programs only do mouse or keyboard, but not both. However, clearly this is not the case, since your example does exactly this! Maybe it's because they're both HID class devices? Whatever, now I know how to do what I need to do. Thanks!
Nice, so I’m left handed, now I can build a Number Keypad which I can place on the left side of my keyboard so I don’t have to reach across to operate my keypad. Using programs such as Blender, I mouse with my right hand and type with my left hand, this will speed up the work-flow. Purchasing a dedicated left hand keyboard cost hundreds,
dude this is great I'm gonna use this to make a flight panel for Microsoft flight simulator
does it have to strictly be the MEGA32U4 or is there any other chip that can be used like this? if there is, plz list the modules that can replace this
Could you turn it into a USB gamepad? A driving simulator controller would be a good project. Or RC model controller, reading servo PWM from an rc receiver, and sending this as a gamepad to a pc
Can i copy the existing program already in it i have bought something like this that already have a program but i want to copy what's in it
Exactly what I was looking for, thanks!
pretty neat tutorial man. Cheers
yo somebody with great Arduino tuts. are you still making videos about such or do you have a series of tutorials!!? I just came by your channel now and i am subscribing!
Is it straight forward to use one keyboard button to control 2 Arduinos simultaneously?
I'm new to your channel and was wondering how I would be able to send a string of characters like "Left Shift + Right Ctrl + Pause" keys in one key press?
Would Keyboard.print.(string), where string is an array of characters work?
With a touch keyboard on the micro's display this would make sense.
A keyboard project will be very interesting.
Does this behave like a real keyboard if you hold a key down? Multiple characters are being put out?
Merci pour l’info 👋👋
If you had eight buttons, could it combine the inputs and decode the "binary" string? For example, pressing buttons two and eight (counting from left) gives 01000001 and translates to "A".
Or you could use a single button, and make the user enter the characters in Morse code.
Great thing, thank you!
Hey, Do you think we can use place keyboard module inside a smart digital tape measure, which copies the measurement from the tape directly to the excel sheet via bluetooth?
Thanks!
I'm sure a fellow streamer could use a macropad for scene translation and other effects?
That's the kind of "firmware", not the HID driver, am I right? I mean, when someone has soldered a custom keyboard, let's say, using an Arduino Nano, there is already a universal HID driver in the OS, but to make the output of the buttons correspond to symbols, you need to write a kind of "firmware", as shown in the video?
That's my understanding
Is it possible with esp32
how to i decrease the delay speed in-between button presses? i want to be able to press as fast as possible like a normal keyboard
I have two questions, (the 2nd one maybe being a bit weird)
1, is it possible to send things like the Function keys (F1-F12 etc) and the left up down right arrow keys?
2. is it possible to have 2 x arduino 32u4's on one board, and have all 5 microswitches (like your own setup here) Y-lead off to both arduino 32u4's? I want to control 2 PC's at the exact same time (don't ask!)
i don't see anything preventing question #2 from working, u just gotta steal the signal going from the buttons to arduino #1 and connect it to the pins of arduino #2 (NOTE: i am an electronics and arduino noob, please keep that in mind)
as for #1 you can, a lot of the custom keyboards out there are based on this little board, and as a matter of fact you can even send up to F24 even tho traditional keebs go just up to F12
Thank for your work and nice explanation. my question: if i want to used an Uno 4, what type of Hardware i need to communicat like an HID ?
Thanks so much! Built a 4 key and using your code I can enter stored passwords with the click of a button. I am curious if you would know how to have it enter a string then do a tab and then enter another string and then have it do an enter? I want to have this enter a username then do a tab and then enter a password and then do an enter? All of this programmed on one button press.
Nice video, well done, thanks for sharing :)
Does this work with arduino uno or esp 32
No, they use a entirely different microcontroller
Can the uno do it?
No you need a micro with a ATMEGA32u4
Can we do it with a Arduino Uno?
Do I need diodes or resistors in this or could I just plug a keyswitch directly too my digital input and ground? im assuming the arduino I wanna buy has resistors built in it
But what I'm seeing from this code is that you cannot hold down a key. I could be wrong but if I wanted to walk using WASD I probably couldn't. I bought a metal DDR pad and the control box isn't working so i wanted to make my own JoyToKey after seeing how the pad worked.
can the 32u4 handle multi press? ie can I do any combination of keyboard characters simultaneously?
I have been trying to get my pro micro to work but I get "averdude" messages and cant get my board to work. Any tips?
Question, can the board be swap with a standard breadboard?
Can this be made into a wireless/Bluetooth device. And battery powered?
I just knew you will press the E switch for Subscribe many many times :) - hope its an odd number of times :)
Can you use this code for a RP2040? 1:34 - 5:31
Salut, il n’est pas recommandé de mettre un filtre devant les leds ? Car je crois que cette lumière n’est pas bonne pour les yeux ! Sinon beau projet 👍 à bientôt 👋
Je crois qu'ils sont correcte - ils n'ont pas beaucoup de lumière infrarouge ou ultraviolette!
@@SimpleElectronics
Ok d’accord 👍 bonne continuation
Very good your video, congratulation!! Is possible make a codigo to press FN + F6 how example
Nice vid! 😀👍
Thanks man!
Does it trigger a LLHKF_INJECTED flag from windows when you send mouse clicks?
05:29.. ok ok I have subscribed! :)
Great video. Thanks 👍
can you explain more the code that you wrote
Cool, there is a way to manipulate the arrows of the keyboard?
I think so actually - check out the linked website!
Not sure if this comment will be seen but, can I ask if you had to download any drivers for your pro micro? Mine seems to have a 'unknown USB device' error, and it seems like I don't have a driver installed for it
i tried this kept having problems with library, spent a good hour trying to troubleshoot code to look for any mistakes, searched it turns out arduino uno does support this library, sadly it doesn't have that chip, welp that was sadly painful guess ill need to buy an arduino with that chip, lmao i thought all arduino was the same just different sizes. guess its back to aliexpress for that chip arduino hahahaha.
Can we use every digital and analog pins?
That's nifty.
Вопрос: можно ли применить это к другим микроконтроллерам?
Only those that have HID capability - the RP2040 for example has it but the ATMega328p does not
@@SimpleElectronics извиняюсь, а на esp32 не получится?
Bro can i use ot for games instead of
W
A. S D
Can you send Ctrl+Key or Middle Mouse Button + Key?
Yes! Since there are functions to call for all keyboard and mouse activities, you can certainly send codes that combine mouse and keyboard actions. The SparkFun tutorial that he based this project on (see the link in the description) gives more information about things like separate press and key actions for the keyboard, which lets you simulate holding down the Ctrl key and clicking the mouse center button, then releasing the Ctrl key.
Hi, thank you for this content. Straight to the point. A quick question: After see your video and others about using ATMega32U4 as a keyboard, still not clear to me if it need to be the one of 3.3V or the one of 5V. Could you kindly let me know the correct voltage?
Thanks in advance!
If you are going to plug it into usb, best to use the 5v version, simplifies a lot of stuff
@@SimpleElectronics Thank very much for your comment!
I need something like this but I need it to use 18 keys from a keyboard for a custom panel. Which is best Arduino board to use?
I think you can probably use the same one as in video, but you'd need to explore making a grid- like with 12 digital inputs - wire them 6 horizontal and 6 vertical and check against pairs of pulled pins for inputs and you'd have 36 - maybe even 4x4x4 for 64 or 3x3x3x3 is a possibility for a full blown 81 inputs, but it will probably limit how many keys can be pressed at the same time - depends on application of the product you're working on.
I want to use this for a control panel for games... Ill be using in for stormworks
It will have your basic push button but i also want to use circuit breakers
Hi, you didn't have any problems with the inclusion of the keyboard library? I did a little, that's why I'm asking, since it's only been a month since you posted this message ...
@@loukxo if you use the arduino leonardo then you don't need to struggle with it. You simply just type include keyboard.h
Great video. Would it work with other Arduinos? ESP32?
ESP32 support HID via bluetooth
Thanks for the tutorial now i can make a password keyboard
Hello bro can any one tell me how to make joystick for keyboard with this plz help
If you look at the SparkFun tutorial linked in the description, which is what this project was based on, it gives an example of using an analog joystick to act as a mouse. That should be helpful.
thats basically the way to make a rubber ducky ^^
Hi, does it work for only windows? I want to simulate a mouse using this in linux. Is it possible?
Since Human Interface Device (HID) class devices are generic, they should work equally well in Windows, MacOS, or Linux. These all use the same standards, although some keys are labeled differently on Macs. There's nothing Windows-specific in this project.
How would I make a switch open a program on my computer ?
could use [Windows]+r command to open run, then enter the appropriate command followed by enter?
Depends on what program you want to launch. Some applications can be opened using the Application Launch keycodes as part of the USB HID standard, these include Web browser, calculator, email client. Unfortunately the library used here doesn't support the full USB HID standard which means media keys and application launch keys are not possible. You could set the keys to be something obscure like F13 - F24 and use AutoHotHey to detect and run various commands, like opening an application. Otherwise, use a different library which does have full functionality, like NicoHood's HID project.
That's neat. If you knew a twitch streamer you could probably make a little device to fire commands and macros. verowaThink
It seems like you could also fashion a customized game controller if the latency isn't bad.
How is this when compared to using QMK?
QMK probably started out as a project much like this. QMK is much more sophisticated in how it lets you define how every key behaves, but when it's running, it's doing very much the same thing.
Cool
Can You sent compination of Ctrl+C / Ctrl+V ;-)??
You could always try something like: Keyboard.press(KEY_LEFT_CTRL); Keyboard.write('c'); Keyboard.release(KEY_LEFT_CTRL);
I bought a nano for this project 🤦🏻♂️
which one do you need?
@@CraftyUnknown you need the Leonardo, but luckily I found a workaround to make the Nano do what I wanted. Edit: The Leonardo has HID (human interface device) capabilities that the Nano doesn’t.