Video games are great and all, but sometimes you just want the thrill of manipulating actual objects in addition to watching action on a screen. This must have been the reason why Nintendo’s Duck Hunt became so popular despite the simplicity of its gameplay. Prolific hacker [mircemk] similarly made a computer-plus-physical game called “Laser Shooter“, which somehow reminds us of the good old NES game.
The game is based on an Arduino Nano, to which five LEDs as well as five photoresistors (LDRs) are connected. When the game is started, the LEDs light up at random and the player has a limited time to “shoot” the corresponding LDR with a laser pointer. This time limit is decreased as the game progresses, and the game is over once the player fails to hit the target on time. The “Game Over” message is accompanied by a sad tune, but luckily no giggling dog.
Complete schematics and code are available for anyone willing to try their hand at replicating or improving this game. And no, you can’t simply sweep your laser across the five LDRs all the time, because you lose if you shoot at the wrong target. For more laser pointer-based games, try this Laser Command clone or this laser tag badge system.
The idea early on was to leverage existing Arduino libraries to connect with a standard USB mouse, specifically, the hardware would take the form of an Arduino Mega 2560 with a USB Host Shield. There was plenty of code and examples that showed how you could read the mouse position and clicks from the Arduino, but [rehsd] still had to figure out a way to get that information into the 6502.
In the end, [rehsd] connected one of the digital pins from the Arduino to an interrupt pin on the computer’s W65C22 versatile interface adapter (VIA). Then eleven more digital pins were connected to the computer, each one representing a state for the mouse and buttons, such as MOUSE_CLICK_RIGHT and MOUSE_LEFT_DOWN.
Admittedly, [rehsd] says the mouse action is far from perfect. But as you can see in the video after the break, it’s at least functional. While the code could likely be tightened up, there’s obviously some improvements to be made in terms of the electrical interface. The use of shift registers could reduce the number of wires between the Arduino and VIA, which would be a start. It’s also possible a chip like the CH375 could be used, taking the microcontroller out of the equation entirely.
Among the plethora of obsolete removable media there are some which are lamented, but it can be difficult to find those who regret the passing of the floppy disk. These flexible magnetic disks in hard plastic covers were a staple of computing until some time in the early 2000s, and their drives could be found by the crateload in any spares box. But what about today, when there’s a need for a real floppy drive and none is to be found? Enter [Acemi Elektronikci], with an Arduino Nano based floppy emulator, that plugs into the floppy port of a PC old enough to have one, and allows the easy use of virtual floppy disks.
Aside from the Nano it has an SD card and associated level shifter, and an SSD1306 i2c screen. Most of the Arduino’s lines drive the floppy interface, so the five-button control comes to a single ADC pin via a resistor ladder. He freely admits that it’s not a perfect cycle-exact emulator of original hardware and there may be machines or even operating systems that complain when faced with it, but for all that it is a useful tool. One of the machines that may have issues is the Amiga, but fortunately there’s a fix for that with a Raspberry Pi.
A radio receiver is always a fun project. [Jayakody2000lk] decided that his new superheterodyne design would use an Arduino and it looks like it came out very nicely. The system has four boards. An off-the-shelf Arduino, a Si5351 clock generator board (also off-the-shelf), and two custom boards that contain the IF amplifier and mixer.
The receiver started out in 2015 without the Arduino, and there’s a link in the post to that original design. Using the Si5351 and the Arduino replaces the original local oscillator and there have been other improvements, as well. You can see a video about the receiver below.
Tuning is by a rotary encoder and the current software lets you tune from about 4.75 MHz to a little over 15.8 MHz. Of course, you could change to any frequency the Si5351 can handle as long as the mixer and other components can handle it. The IF frequency is the usual 455 kHz.
A lot of phrases surrounding phones don’t make sense anymore. With a modern cellphone, you don’t really “hang up” and there’s certainly no “dial” to be had. However, with [jakeofalltrades’] project, you can read an old-fashioned phone dial using an Arduino.
The idea behind a phone dial is actually pretty simple. When you pull the dial back to the stop using one of the numbered holes and release it, it causes a switch to open and close the same number of times as the hole you selected. That is, if you pull back the 5 hole, you should get 5 switch closures. The duration of each switch event and the time between switch events is a function of the speed the dial moves because of its internal spring. The zero hole actually produces ten pulses.
There are standards for how precise the timing has to be, but — honestly — it’s pretty loose since these were not made to be read by precise microcontroller timers. In the United States, for example, the dial was supposed to produce between 9.5 and 10.5 pulses per second, but the equipment on the other end would tolerate anything from 8 to 11.
Even if you don’t want a rotary dial in your next project, the code has some good examples of using ATmega328 timers that you might find useful in another context. However, a dial would add a nice retro touch to any numeric input you might happen to need.
For those of us old enough to remember the VCR (and the difficulty of programming one), the ubiquitous vacuum fluorescent display, or VFD, is burned into our memories, mostly because of their brightness and contrast when compared to the superficially-similar LCD. These displays are incredibly common even apart from VCRs, though, and it’s easy to find them for next to no cost, but figuring out how to drive one if you just pulled it out of a 30-year-old VCR is going to take some effort. In this build, [mircemk] shows us how he drives unknown VFD displays using an Arduino in order to build his own weather forecasting station.
For this demonstration [mircemk] decided to turn a VFD into a weather forecasting station. First of all, though, he had to get the VFD up and running. For this unit, which came from a point-of-sale (POS) terminal, simply connecting power to the device turned on a demo mode for the display which let him know some information about it. From there, and with the knowledge that most POS terminals use RS232 to communicate, he was able to zero in on the Rx and Tx pins on the on-board microcontroller and interface them with an Arduino. From there it’s a short step to being able to output whatever he wanted to this display.
For this project, [mircemk] wanted the display to output information about weather, but rather than simply pull data from some weather API he is actually using a sensor suite connected to the Arduino to measure things like barometric pressure in order to make a 12-hour forecast. The design is inspired by old Zambretti weather forecasters which used analog wheels to input local weather data. It’s an interesting build not only for the VFD implementation but also for attempting to forecast the weather directly with just a tiny sensor set instead of downloading a forecast to display. To do any better with your own forecasts, you’d likely need your own weather station.
We have to wonder if it is technically bigger than the six-shooter, because they seem to be roughly the same scale, except that [Michael] chose a much bigger model to start from. The main body is made from wood, and there are a ton of 3D-printed details that make it look fantastically accurate. The whole thing weighs over 200 pounds and takes at least two people to move it around. We especially love the DIY darts that [Michael] came up with, which are made from a PVC tube inside a section of pool noodle, topped off with a 3D printed piece for that distinctive orange cap.
Propelling those darts at around 50 MPH is a 3,000 PSI air tank connected to an Arduino Pro Mini that controls the trigger and the air valves. While [Michael] hasn’t run the thing quite that high, it does plenty of damage in the neighborhood of 40-80 PSI. As you’ll see in the video after the break, this is quite the ranged weapon. Watch it blow a hole clean through a sheet of drywall and much more.