Ever spent ages swapping batteries in and out of remote controls remote?
Next time, just try dropping them on a hard surface and surface
Have you ever spent a lot of time changing the battery, just to determine which battery has electricity?
Next time you want to know if batteries are available, just throw them on a hard surface and see if they are bouncing up.

This is because spent alkaline batteries are more likely to bounce, bounce, alkaline, ","
Because the used alkaline battery is easier to jump than the new battery, a US electrical engineer took a video to prove this phenomenon.

To test outgassing, Mr Hite dropped a weight on the battery., on, the first, the second, the third, the second, the second.

In his YouTube video, Lee Hite tests a series of batteries, series,
He demonstrates that a used battery bounces far higher than one than
In the video, electrical engineer Lee Hite tested a series of used batteries and newly unpacked new batteries.
He confirmed that the used battery jumped higher than the new battery.

A good battery, he explains, contains a gel-like substance which solidifies, substance
While the gel is in a semi-liquid form, it absorbs the, it
He explained that this is because the new battery contains gelatinous material, which will harden as the battery continues to discharge.
When the gel material is in a semi liquid state, it absorbs energy if the battery hits the hard surface.

An anti-bounce hammer, which contains an internal core of moving buckshot, the moving
When the gel in the battery has solidified it cannot move, it,
The working principle of the shockproof hammer is the same - the core has movable counterweight. When the gel material in the battery becomes solid, it will not be able to move. The battery that bounces up at the moment is consistent with the way the hammer bounces from the nail.

Read the full text.


The glow tube is an electronic device that displays numbers. The glass tube consists of a metal wire mesh made of anodes and multiple cathodes, and the cathode is made into a digital shape. After high pressure, the gas inside the tube generates glow discharge, and then the luminescence displays the number. A typical glow tube is shown below.

The picture is from: Https://en.wikipedia.org/wiki/Nixie_tube#/media/File: H-14_ (IN-14) _Nixie_Tubes_Displaying_ "25".Jpg

This is the IN-14 glow tube made by the Soviet Union. In order to save costs, it shows the "2" and "5" uses the same mold, but it is reversed.

Steam punk (Steampunk) is a popular science fiction subject, mostly based on the nostalgia and retro style of early technology culture. This is an example of the "world line change rate detector" in the cartoon "the gate of fortune stone". This has appeared many times in the original play, and some netizens have repeatedly carved it out:

Using the glow tube and MCU, we can create a smart home with steam punk. The main control uses Arduino or ESP32, with their powerful functions, they can control the display time and temperature of the glow tube in a concise and elegant way, or monitor the computer hardware. By further developing the supporting mobile phone applications, you can easily display any custom content through Wi-Fi and Bluetooth.

Read the full text.

Preceding articles Build an Enigma code machine yourself. This paper introduces a method of implementing a simple Enigma machine using Arduino Mega 2560. The Arduino microcontroller has more than 50 digital IO, so it can handle key input properly and control a large number of light-emitting diodes (keyboard lights) and digital tubes.
However, other models of Arduino may not be able to accomplish this task - for example, Arduino Leonardo has only 20 digital IO. So, is there any way to expand these output interfaces? The answer is yes. With the help of shift registers, Arduino can convert serial signals to parallel and control multiple outputs through fewer pins.

First, let's take a look at the working principle of shift registers. This involves the characteristics of D flip flops in digital circuits. The D trigger is triggered on the rising edge of the clock. After triggering, the output Q is locked to the state of the data input pin D until the next trigger.

With the help of the circuit shown below, after each clock pulse, each D trigger sends the input data to the next D trigger.

Read the full text.

Electron is a desktop application development framework based on Node.js and has a Chromium "shell". You can call all Node.js and browser's API, and create native programs using Web technologies such as JavaScript, HTML and CSS. According to the official slogan: "it is responsible for the harder part. You just need to focus on the core of your application. "
Here is how to use Electron to build simple desktop applications. You can refer to the official entry procedures:

 Git Clone Https://github.com/electron/electron-quick-start.git


Electron can pass. NPM install electron For installation. After relying on the package installation, Electron will start downloading its "ontology" -- a package of dozens of MiB sizes, including Electron executable files under different platforms. This step is not very friendly to domestic developers, because the content of the download is on the Amazon cloud, and the access speed is poor. Moreover, the new version of Electron removes the download progress bar, which makes it impossible for you to know where the card is. A simple solution is to set the environment variable to use Taobao source:

 ELECTRON_MIRROR= "Https://cdn.npm.taobao.org/dist/electron/"

After setting this environment variable, execute again. NPM install Download is normal.
In addition, you can manually download Electron from Taobao source and then put it into the global cache directory of Electron. At this point, Electron can be installed quickly through cache. Take macOS as an example:

 CD ~/Library/Caches/electron/
MKDIR httpsgithub.comelectronelectronreleasesdownloadv7.1.5electron-v7.1.5-darwin-x64.zip
CD Httpsgithub.comelectronelectronreleasesdownloadv7.1.5electron-v7.1.5-darwin-x64.zip
WGet https://npm.taobao.org/mirrors/electron/7.1.5/electron-v7.1.5-darwin-x64.zip

Change 7.1.5 to the version you want to download.

Read the full text.

A large amount of sensor data can be obtained through AIDA64, such as CPU frequency, temperature, memory and memory usage. Moreover, the software can also export these data to compatible LCD or VFD screens. For most DIY enthusiasts, this function is powerful enough. However, if you are trying to collect and process data through high-level language programming, you will encounter difficulties -- AIDA64 does not seem to provide a convenient interface. In search of setup items, I only found a network interface based on HTTP long connection, which is more complex.
In order to avoid duplication of wheels, the author turned to GitHub search and found a name named Aida64-to-json Project. Its principle is very simple: set AIDA64 to write the sensor data to the registry, then read the sensor parameters in the registry and format.
Bingo! This is a perfect solution. It is also very simple to use.
File > Settings > external program > enable monitoring data to be written to the registry.

Then you can read the registry information. Aida64-to-json is based on Node.js, and the author rewrote it with Python:

 /usr/bin/env python3

Import OS, winreg

Def Query () :
If Os.name! = "NT" :
DB = {}
With Winreg.OpenKey (winreg.HKEY_CURRENT_USER, "Software\\FinalWire\\AIDA64\\SensorValues" ) As Key:
For I In Range (winreg.QueryInfoKey (key)] [ One ):
Name, data, _type = winreg.EnumValue (key, I)
Attr = name.split ( "." )
If (attr[ Zero = = "Label" ):
Db[attr[ One {}
Db[attr[ One [[]] "Label" = Data
Else :
Db[attr[ One [[]] "Value" = Data
Return DB

If __name__ = = "__main__" :
DB = query ()
Print (DB)

In addition, there is a feasible solution: using AIDA64's shared memory feature, write a plug-in of Node.js or Python with C++. In fact, Rivatuner also has shared memory to use. Unfortunately, there are too few documents, so I don't know where to start.
The author then searched in the community of AIDA64, and discovered such questions as "how to output data from sensors through serial ports on Arduino", but no reliable reply was received. By comparison, reading the registry seems to be a very convenient solution.