Controlling a computer without hands (the gyroscope is in my head!). Mechanical or ball mice

Controlling a computer without hands (the gyroscope is in my head!).  Mechanical or ball mice
Controlling a computer without hands (the gyroscope is in my head!). Mechanical or ball mice

Kinds computer mice. Which ones computer mice No. Such diversity can even make your head spin. But just recently there was practically no choice. It would seem, what else can you come up with? But it turns out it is possible. Each company that produces these small and so necessary “animals” finds more and more new designs and functions for them.

Which There are types of computer mice?

There are just not that many species. Here they are:

  • Mechanical or ball (almost no longer used);
  • Optical;
  • Laser;
  • Trackball mice.
  • Induction;
  • Gyroscopic.

Mechanical or ball mice

Mechanical or ball mice can only be found among collectors. Although just seven years ago it was the only species. It was not very comfortable to work with it, but not having any other types, we thought it was a super mouse.

She was a bit heavy in weight and didn’t want to work without a mat. And her positioning left much to be desired. This was especially noticeable in graphics programs and games. And I had to clean it very often. What didn't fit under this ball? And if there were still animals living at home, then this process was repeated at least once a week.

I always had tweezers near my computer, because... my furry friends always tried to sleep near the computer, and their fluff clung to the rug, making it shaggy. Now I no longer have such a problem. The ball-shaped “rodent” was replaced by a more modern mouse – an optical one.

Optical LED mouse

Optical LED mouse - it works on a different principle. It uses an LED and a sensor. It already works like a small camera that scans the surface of the table with its LED and photographs it. An optical mouse can take about a thousand such photos per second, and some types even more.

The data from these images is processed by a special microprocessor and sends a signal to the computer. The advantages of such a mouse are obvious. It doesn't require a mat, is very light in weight and can easily scan almost any surface.

Optical laser mouse

Optical laser mouse - very similar to optical, but its operating principle differs in that instead of a camera with an LED, a laser is already used. That’s why it’s called laser.

This is a more advanced model of an optical mouse. It requires much less energy. Accuracy of data reading from work surface it is much higher than an optical mouse. It can even work on glass and mirror surfaces.

Trackball mouse

Trackball mouse – a device that uses a convex ball (trackball). The trackball is an inverted ball mouse. The ball is on top or side. It can be rotated with your palm or fingers, and the device itself remains in place. The ball causes a pair of rollers to rotate. New trackballs use optical motion sensors.

Induction mice

Induction mice – use a special mat that works on the principle of a graphics tablet.

Gyroscopic mice

Gyroscopic mice – using a gyroscope, it recognizes movement not only on the surface, but also in space. You can take it from the table and control the movement of the brush in the air.

These types of computer mice still exist in our markets.

Nowadays there is a very wide variety of such devices. Some designs deserve special attention. And I will describe them. Follow site updates.

The program (sketch) that needs to be loaded into the Arduino looks like this:

#include "I2Cdev.h" #include "MPU6050_6Axis_MotionApps20.h" #include "Wire.h" #include MPU6050 mpu; uint16_t packetSize; // expected DMP packet size (default is 42 bytes) uint16_t fifoCount; // count of all bytes currently in FIFO uint8_t fifoBuffer; // FIFO storage buffer // orientation/motion vars Quaternion q; // quaternion container VectorFloat gravity; // gravity vector float ypr; // yaw/pitch/roll container and gravity vector // for the mouse float old_mx=-200; float old_my=-200; float dx,dy,mx,my; // ==================================================== ================ // === INITIAL SETUP === // ====================== ========================================== void setup() ( Wire.begin (); Wire.setClock(400000); // 400kHz I2C clock. Comment this line if having compilation difficulties mpu.initialize(); mpu.setDMPEnabled(true); ) // ============================================================== ================= // === MAIN PROGRAM LOOP === // ==================== =========================================================== void loop() ( / / wait for MPU interrupt or extra packet(s) available while (fifoCount< packetSize) { fifoCount = mpu.getFIFOCount(); } // check for overflow (this should never happen unless our code is too inefficient) if (fifoCount >= 1024) ( // reset so we can continue cleanly mpu.resetFIFO(); fifoCount = mpu.getFIFOCount(); // otherwise, check for DMP data ready interrupt (this should happen frequently) ) else ( // wait for correct available data length, should be a VERY short wait while (fifoCount< packetSize) fifoCount = mpu.getFIFOCount(); // read a packet from FIFO mpu.getFIFOBytes(fifoBuffer, packetSize); // track FIFO count here in case there is >1 packet available // (this lets us immediately read more without waiting for an interrupt) fifoCount -= packetSize; // move the mouse mpu.dmpGetQuaternion(&q, fifoBuffer); mpu.dmpGetGravity(&gravity, &q); mpu.dmpGetYawPitchRoll(ypr, &q, &gravity); // ypr - X axis, ypr - Y axis, Y - invert mx=ypr * 180/M_PI; my=ypr * 180/M_PI; if(old_mx>-200) // this is not the first launch ( if((old_mx<-100)&&(mx>100)) ( dx=(-180-old_mx)+(mx-180); ) else if((old_mx>100)&&(mx<-100)) { dx=(180-old_mx)+(180+mx); } else { dx=mx-old_mx; } dy=my-old_my; Mouse.move(2000/60*dx, -1000/30*dy); } old_mx=mx; old_my=my; } }

To compile the sketch, you also need to download the I2Cdev and MPU6050 libraries. You can get them from here: github.com/jrowberg/i2cdevlib/tree/master/Arduino
After downloading the sketch, the assembled device functions in the same way as the remote control from the article. That is, you change the orientation of the device in space, and the mouse cursor on the screen moves.

Of course, such means exist. First of all, these are programs that use a regular webcam to control head rotation and some other actions, such as eye blinks and lip movements (read about them below, in the section " Is the game worth the candle?").


In addition, specialized devices are also produced, which also represent cameras that monitor markers that glow brightly in the infrared range. Markers are attached somewhere around the head, for example, on a glasses frame, a cap, or a headset. Sometimes they even recommend sticking a marker on your forehead.

Various companies that previously produced devices of this type gradually gathered under the wing of the NaturalPoint company. And now on their website you can find devices that used to compete, but now simply divide different market segments. For example, they offer a simpler option (TrackIR) for gamers, and a more expensive option (SmartNav) for working on a computer.

The difficulty is presented by the following point: the remote controls “fall asleep” after a certain period of inactivity, and you need to wake them up by pressing a button, which can be difficult for the person using them.

I had to do a series of experiments - holding down one of the buttons on the keyboard and leaving the remote control inactive, hoping that the pressed button would prevent the remote control from falling asleep. Moreover, you had to press the button with a clothespin, and not with your hand, since the hand could transmit small movements to the remote control. Buttons that could only be pressed were those that were not used in Windows.
Some remotes could not be defeated, but the remote was eventually found Upvel UM-510KB, which is guaranteed not to fall asleep when holding down a couple of buttons.

If you open this remote control, then inside you can find an STM8L-151 microcontroller from STMicroelectronics (1), an Invensense MPU-3050c three-axis gyroscope (2) and some other unnamed chip (3) for communicating with a 2.4 GHz USB adapter. An infrared LED is also visible. You need it if you want to use the remote to change programs and adjust the volume on the TV. When communicating with a computer, the LED is not used, so it can be safely blocked.

Of course, a nice solution would be to read, disassemble and modify the microcontroller program, and then reflash it so that the remote control does not fall asleep, rather than shorting the buttons. But I am not familiar with this area, I leave this opportunity to enthusiasts.

A remote control with constantly pressed buttons voraciously consumes electricity. Therefore, I had to solder a power supply to it so as not to change batteries every day.

Remodeling step by step

First of all, I’d like to point out that just because it worked for me doesn’t mean it will work for you. If the manufacturer, for example, changes the firmware, then shorting two buttons may be useless. However, I hope that no one will change the firmware as unnecessary.

So, let's open the remote control. We pry with a screwdriver until it opens, slightly damaging the body. Then, we take out the board and close two buttons to it (see photo). You can use a soldering iron to clean the board, but I just glued pieces of candy foil with reinforced tape.

We solder the power from a three-volt stabilized power supply.

Fill it with glue to taste so that the wire is held firmly in the housing.


How to hold the remote control on your head? You can simply put the remote control on your head and put a woolen cap on top. That's what I did at first. But for long-term use, you can sew the pocket to some kind of headdress.


The exact position of the remote control relative to the head is not required. If the mouse cursor is not where you would like, simply turn your head so that the cursor begins to rest on the edge of the screen. This will move the cursor in the opposite direction of the head rotation. In short, try it and everything will become clear without explanation.

Is the game worth the candle?

After everything was done, I decided, for comparison, to try programs that use a regular webcam to control the mouse without hands. Imagine my surprise when they all worked great! If you don't have anything else at hand, I recommend using them.

I tried these programs (all free):

Personally, I liked the program most eViaCam, but this is a purely subjective, superficial opinion based on short-term use with default settings, and with the webcam that I have. You might like a completely different program.


To evaluate the advantages of using a gyroscope over purely software solutions, I wrote a program in which you need to move the cursor following the squares that appear on the screen. In this case, the mouse cursor must stop (fix) over the square for at least 0.2 seconds.

Two squares are shown: red - where you need to move the mouse, and green - the place where red will move in the next step.
The program and its source code are available at https://github.com/MastaLomaster/CStest

As a result, the following times were obtained for moving the cursor over 25 squares of 40x40 pixels (indirectly, a higher speed also indicates greater positioning accuracy):

Typing speed on the virtual keyboard is less indicative. The fact is that the keyboard requires the mouse cursor to “hover” over the key for a long time (about a second). Otherwise, false clicks are possible. However, I also provide data on typing. I was typing “Control your computer hands-free” and it took me:

Camera Mouse - I liked it the least, due to the fact that its cursor does not stand still, but twitches. But the typing speed in it turned out to be quite good.

The program works in the same way with other devices, only the cursor moves not from eye movement, but, for example, from turning the head with a gyroscope.

Is it really worth throwing away about a thousand rubles for a remote control, a power supply, wires, and even wasting time, if there are free programs that you can also work with, and you don’t even need to attach anything to your head?

In my opinion, using the remote control provides the following advantages:

  • Fast reaction cursor. up to the point where you can play dynamic games
  • Predictability. That is, turning your head to the usual angle, you will see that the cursor has moved to its usual place
  • Independence of lighting conditions and in general from the fact that new faces/objects appeared in the frame.

Well, it’s up to you to decide, of course.

Greetings to all readers.
Today I’ll tell you about a wireless keyboard and mouse with a gyroscope, which I wanted to adapt to my TV.
And why you wanted to, read under the cut.

Let's start with the fact that I was wondering if keyboards and mice of Chinese origin would fit my TV. Why did I become interested? Yes, because when I bought a TV at the CSN in a household appliances store, they sold me a keyboard for 3k and said that other than this one, no other would suit you.
In fact, I have long wanted a mouse with a gyroscope, well, for a long time, from the moment I bought a TV, since it has a browser, you can surf social networks without getting your butt off the couch.
Well, and, accordingly, a keyboard to conduct dialogues with friends.
So I ordered a keyboard and mouse from one seller, found it with delivery from Russia, so it didn’t take long.
The parcel reached me in just a week.

Here's a screenshot for you

I made it, plus delivery to the doorstep, but since I was at work, they delivered it to me at the entrance.
Oh yes, I forgot to mention that on the day of delivery an SMS is sent to your phone stating that the order will be delivered today from this time to this time and the phone number of the delivery person.
In general, it was convenient.
I received the parcel not in a standard black garbage bag, wrapped with tape from the delivery company “007EX”

Our wireless miracle devices were waiting for us in the package.
Let's start with the mouse.
This mouse was packaged in a branded box with brief information about the product.

I was pleased with the package, or rather, that the batteries were included.


I read in the instructions that the kit should include a USB receiver, but for the life of me I couldn’t find it. I looked in the box, and also looked in the battery compartment, since these receivers are mainly hidden there, but everything was unsuccessful. I thought maybe it had fallen somewhere during the opening, but I didn’t find it, I thought I’d complain, and again I reached into the battery compartment and found this damn USB receiver on the front side. I turned the mouse about five times and didn’t notice it.

We insert it into the TV, and it identifies our device as an AirMouse, click “YES” and voila, our mouse works.
In the TV settings you can change the speed of the mouse cursor, I set it to the fastest.
One minus of this mouse, or rather, probably not the mouse, but my TV, is that if you connect a keyboard and a mouse to the TV at the same time, then only the buttons on the mouse work:
1) Left mouse button
2) Right mouse button
3) Wheel.
Buttons such as volume, etc. do not work.
And I came to the conclusion that I bought a keyboard in vain, and one mouse is enough for me, because it can do everything quickly enough and without a keyboard.

The mouse is made in the shape of a pear and fits comfortably in the hand.
Here are the sizes for you


In general, a very good mouse, I advise those who have a Smart TV or set-top box to buy it, it’s a very convenient thing.

Video of the mouse working


Let's move on to the keyboard.
It was also packaged in a branded box


In terms of configuration, it is inferior to the mouse in that it does not have batteries.
Here's the whole set

In the instructions you can see which hotkeys are responsible for what.

There is a Russian and English layout, on the right side there is a touchpad for working without a mouse, this keyboard is well suited for a tablet, for a TV it is only suitable for a browser.
For working with other applications, a full-fledged keyboard is no longer suitable, since in applications you need to select the letter you want to type using arrows or the mouse.
In general, I bought it in vain, I will only use a mouse, and I will adapt this one somewhere, or give it as a gift.

The size of the keyboard is not very large, but not small either.






Keyboard length = 32 cm
Width = 10cm
Thickness = very thin
Touchpad size = approximately 8 by 9 cm.
The keyboard is really very thin, it was somehow unusual to use it the first time.
When connected to a TV it is defined as

Let's take a look at the back of the keyboard.
Here we have a power button and a compartment for AAA batteries (the USB transmitter is also stored in this compartment), and the series and product number are also written.

I'll hide it here






In general, it's up to you to decide what you need and what you don't.

Good afternoon (evening/night optional).

Today I’ll tell you about a gyroscopic mouse. Taken as a temporary replacement for a gyro-head tracker running on Arduino. But that's another story, please under the cut:

PREFACE

The seller sent me the device in a bubble bag. This gadget comes with a dongle; batteries are not included.

The first thing is a warning:

All responsibility, namely independent penetration into the body of the finished product with subsequent violation of its integrity and performance, lies with the person who committed this action.

DESCRIPTION OF CHARACTERISTICS

It has small dimensions of 14cm in length and 4cm in width.

Fits very comfortably in the hand:

In general, it is convenient to use, the body is glossy and does not creak.

Two AAA batteries are used.

Radio frequency - 2.4 GHz (as stated by the manufacturer).

FUNCTIONAL

The range is stated to be up to 20m. In a room of 18m^2 it works without problems or breaks. Since the device is equipped with a digital gyroscope, it works relative to its axes.

A caveat: the cursor movements will be inverted if you take the device backwards. To achieve the best results, the device should at least be pointed with the correct end towards the monitor/TV, etc.

Based on the attached images, we can conclude that the device is more designed for Android devices. This conclusion is prompted by the presence of familiar symbols - home buttons and menus.

The top button on the device turns the mouse on and off.
Below it there are volume buttons, a 4-way joystick, a selection confirmation button, a back button and a menu.

Below that there are home keys, a pointer blocking button, up and down buttons, and a volume mute button.

A nuance: in the Windows operating system, the back button and menu function as the right mouse button, and the OK button functions as the left button. The volume buttons fully work, the mute button works, the home button opens Internet Explorer, the up and down buttons do not function, the mouse mute key works.

The mouse was taken to work in a Windows environment, I was completely satisfied with the functionality.

The device was tested in Windows 10, 7. Automatically installed as an HID input device.

There is no point in talking at length about ergonomics, so let’s move on directly to disassembling the device.

DISASSEMBLY

The device is very easy to disassemble:
We turn the device over, open the battery compartment, remove the batteries, unscrew the 4 screws, carefully pry up the case and unclip the 4 latches.

The dongle is a little more difficult to understand; due to its increased complexity, I don’t recommend tinkering with it, but I’ll provide its guts for you:

The device itself, like the dongle itself, is based on the bk2433 chip


Which, based on the description, is a microcontroller with a BK-51 processor core.

There is also a gyroscope chip soldered on the board, I couldn’t find a datasheet for it, I hope you can help me identify it.
The gyroscope from experience with this device is 3-axis.

They use quartz with a frequency of 16,000 MHz in both the receiver and transmitter.

CONCLUSIONS

The device completely and completely suits me as an end user, everything works out of the box, take it out, turn it on, use it.
Regarding non-working moments, they should be taken into account; this is not a minus, as everyone’s tasks are different.

Regarding the nuance of control:
This has its advantages; if the PC is behind you, the device will fully retain its functionality due to axis inversion.

No cons were noticed.

I'm planning to buy +40 Add to favorites I liked the review +28 +59

A manipulator called “Mouse” has already entered our lives so tightly that we don’t even notice how often we use this device. The mouse allows you to control your computer with maximum comfort. Remove it, and the speed of working with your PC will decrease several times. But the main thing is to choose the right mouse based on the types of tasks that will need to be solved with its help. Some situations will require special types of mice.

Types of computer mice

Based on their design features, there are several types of computer mice: mechanical, optical, laser, trackball, induction, gyroscopic and touch. Each type has its own unique characteristics that allow you to successfully use the mouse in a given situation. So which mice are better for computers? Let's try to understand this issue by examining each type separately in detail.

Mechanical mice

This is the same type with which the history of computer mice began. The design of such a mouse involves the presence of a rubberized ball that slides over the surface. He, in turn, makes special rollers move, which transmit the result of the ball’s movement to special sensors. The sensors send a processed signal to the computer itself, causing the cursor to move on the screen. This is the principle of operation of a mechanical mouse. This outdated device had two or three buttons and did not differ in any special features. Connection to the computer was carried out using a COM port (in early versions) and a PS/2 connector (in later models).

The weakest point of the mechanical mouse was precisely the ball that “crawled” along the surface. It became dirty very quickly, as a result of which the accuracy of movement decreased. I had to wipe it with alcohol often. In addition, mechanical ball mice categorically refused to glide normally on a bare table. They always needed a special rug. At the moment, such mice are obsolete and are not used anywhere. The most popular manufacturers of mechanical mice at that time were Genius and Microsoft.

Optical mice

The next stage in the evolution of computer mice was the appearance of optical models. The operating principle is radically different from mice equipped with balls. The basis of an optical mouse is a sensor that records mouse movements by taking photographs at high speed (about 1000 pictures per second). The sensor then sends information to the sensors and after appropriate processing, the information enters the computer, causing the cursor to move. Optical mice can contain any number of buttons. From two in regular office models to 14 in serious gaming solutions. Thanks to their technology, optical mice are able to provide highly accurate cursor movement. In addition, they can glide perfectly on any flat surface (except mirrored ones).

Nowadays, optical mice are the most popular among most users. They combine high DPI and an adequate price. Simple optical models are the most cheap mice for computer. They can be very different in shape. By the number of buttons too. Wired and wireless options are also available. If you need high accuracy and reliability, then your choice is a wired optical mouse. The fact is that wireless technologies make the user dependent on batteries and wireless communications, which are not always at the proper level.

Laser mice

These mice are an evolutionary continuation of optical mice. The difference is that a laser is used instead of an LED. At the present stage of development, laser mice are the most accurate and provide the highest DPI value. That is why they are so loved by many gamers. Laser mice don't care what surface they crawl on. They work successfully even on rough surfaces.

With the highest DPI of any mouse, laser models are widely used by gamers. That is why laser manipulators have a wide range of models aimed at game fans. A distinctive feature of this mouse is the presence of a large number of additional programmable buttons. A prerequisite for a good gaming mouse is only a wired connection via USB. Because wireless technology cannot provide adequate accuracy. Gaming laser mice are usually not low in cost. The most expensive mice for computer based on a laser element are produced by Logitech and A4Tech.

Trackball

This device is not at all like a standard computer mouse. At its core, a trackball is a mechanical mouse in reverse. The cursor is controlled using a ball on the top side of the device. But the device’s sensors are still optical. The shape of the trackball does not resemble a classic mouse at all. And you don’t have to move it anywhere in order to move the cursor. The trackball is connected to the computer via USB.

The merits and demerits of a trackball have been debated for quite some time. On the one hand, it reduces the load on the hand and ensures precise cursor movement. On the other hand, it’s a little inconvenient to use the trackball buttons. Such devices are still rare and unfinished.

Induction mice

Induction mice are a logical continuation of wireless devices. However, they lack some properties characteristic of “tailless” models. For example, induction mice can only work on a special pad connected to a computer. You won't be able to move the mouse anywhere from the mousepad. However, there are also advantages. High accuracy and no need to change batteries, since these mice do not have them at all. Induction mice get their energy from the mat.

Such mice are not very common, as they have a high price and are not particularly mobile. On the other hand, these are the most original computer mice. Their originality lies in the absence of batteries.

Gyroscopic mice

These mice don't need to glide across surfaces at all. The gyroscopic sensor, which is the basis of such a mouse, reacts to changes in the position of the device in space. Of course it's convenient. But this method of control requires a fair amount of skill. Naturally, such mice are distinguished by the absence of wires, because with their presence it would be inconvenient to control the mouse.