The author of Instructables under the nickname MaxRomagnoli decided to take advantage of the fact that the USB interface allows two identical HID devices (for example, keyboards) to be connected to a PC simultaneously, and both of them will work. For the manufacture of homemade only this one will do Arduino-compatible board in which an ATMEGA32U4 type microcontroller is used, capable of switching to HID device emulation mode. The master applied the Geekcreit Pro Micro 5V 16M Mini Leonardo board.
The master connects the dialer from the disk telephone to the board. By rotating the disk, you can type numbers, the computer will perceive it as if you typed the same number on a regular keyboard. At the same time, the ability to use the keyboard, including dial on it and numbers are saved.
But first, let's figure out how such a dialer works. It has two contact groups. If the kit has a cover, it is better to leave it in place - it protects the mechanism and contacts from dust.
The first of the contact groups in the initial state is closed. When you start to rotate the disk, it is blurred, and after the entire mechanism returns to its original position, it closes again. The second in the initial state is open, such it remains with the direct course of the disk. And only during the return stroke, when the speed is stabilized by a centrifugal regulator, does this contact group come to life. If a digit from 1 to 9 is dialed, it closes and opens the corresponding number of times. And the number 0 corresponds to 10 closures and openings. After the mechanism returns to its original position, it remains open.
The master connects the first contact group to terminal 3 of the board, the second to terminal 4, and the connection point of the opposite contacts of these groups to the common wire. It is advisable to pull the board inputs to the plus with pull-up resistors, or turn on the pull-up resistors built into the microcontroller programmatically.
To set up the device you need to take here two sketches. First, the wizard uploads the sketch from the dial_ms_test.ino file to the board and determines with its help what is the duration of the pulses generated by the dialer. Then it opens another file in the Arduino IDE - dial_to_usb.ino and enters the measured delay value into it. After such an adjustment, this sketch is already poured into the board.
The case of the device can serve as the case of the same telephone, from which the dialer is pulled. If it is not preserved, you can use another case of suitable size, including made do it yourself.
The design is mainly designed for connecting to desktop PCs and laptops. Connecting it via an OTG adapter to smartphones and tablets is undesirable, since the on-screen keyboard stops popping up. To dial any other character, except for a number, the cord will have to be disconnected. The problem is solved using a conventional keyboard and a USB hub, but this combination may not work. Only experience will show.
By compiling the appropriate script, it is possible to enable older people to start video communication sessions with relatives and friends, simply by dialing on the telephone disk numbers that do not differ from the city numbers belonging to the corresponding people.