Is this Programmable with C++?

My team loves to make programmers have nightmares and really want to use this to control our robot, but I dont know if it possible.

Team 3633

Possible? ANYthing is possible.
Practical, worthwhile, interesting… THOSE are the questions to ask.

It’s a modified arduino. Use this

It’s exactly the same but with a nice safe communication protocol written for you.

well is it

No its not this would go into the computer.

Yes it is. Check out the schematic and the github

It is programmed with the arduino IDE and is an arduino derivative.

So I’ve been looking at this some more and the thing holding me up from getting this is, does the Driver Station recognize the Makey Makey as a Joystick or not, and if it doesn’t is it possible to modify if to recognize as a Joystick?

The Makey Makey is an Arduino (Arduino Sketch editor is C++ code) that connects by USB to a host and is recognized as a keyboard or mouse.

This should help you out:

If you want to get a joystick, you’d need access to the analog input (pins A0 to A5 are analog) of the Atmel chip on the MaKey MaKey and follow something like this:

The MakeyMakey talks to the computer as if it were a keyboard and mouse. So getting it to interface with the Driver Station would require either an additional third party program, such as AutoHotKey, or reprogramming the MakeyMakey’s built-in arduino. See for an idea of how to get started with stuff like that.

It’s possible to program the Dashboard to recognize keypresses on the computer running the Driver Station program, and to communicate to the robot based on the keys pressed. You can use a custom UDP communication scheme, or put the desired information in a Network Tables variable and let the provided framework move the data from place to place.

What do you mean? You can you a arduino to interface with a laptop computer. I say this because the Arduino is a computer too just not very powerful. But anyways Arduino is much better than a laptop at reading raw sensor data with it’s raw I/O pin ports. What you can do is program the Arduino to detect a input then interface the arduino with the laptop through USB and using serial communication, then having a program on the computer that can read the Arduino’s serial data then perform a programmed action on the computer.

I hope you know what I mean.

How do I go about doing this?

The relevant functions are in the Connectivity -> Input Device Control subpalette. Use the Initialize Keyboard vi to create a reference to the computer’s keyboard. Pass that reference to the Acquire Input Data vi. The output of the Acquire will be an array containing all the keys that are currently pressed.

If you want to test for a specific key, you can feed the “keys pressed” array into a For Loop using auto-indexing. Each iteration of the loop will get one of the keys in the array. You can compare the detected key against a constant representing the key you are looking for.