Directly jump to the content and enable reader mode

Content Nation Search

10 Search results

sort by

Play "Music" with stepper motors Part 1

Grumpy Developer Reading time: about 2 min Date: Language:english
Have you ever dreamed of creating an instrument that combines art and technology? I recently set out to build a motion control project that plays music using stepper motors, and what started as a crazy idea turned into a fascinating journey. In a world where others had already explored this concept, I found myself without any guides or tutorials. But I'm a DIY enthusiast who loves challenges, so I decided to create my own version from scratch. The result is a system that can play music using midi commands sent through a USB serial interface, and it's all powered by an Arduino microcontroller. In this project, you'll learn how to bring your creative ideas to life with motion control, and how to create a fully functional music player using stepper motors. From the hardware plans to the software instructions, I'm sharing my entire process so you can replicate it and start creating your own unique soundscapes.

Creating a custom (car) Radio Part 2

Grumpy Developer Reading time: about 9 min Date: Language:english

Electronics to trigger Cameras, Flash and other things

Grumpy Developer Reading time: about 5 min Date: Language:english
Are you ready to create breathtaking water drop videos like a pro? I've developed a DIY system that uses an ESP8266 module, WiFi connectivity, and opto couplers to control the precise timing of water drops. With this project, you can create stunning visuals by synchronizing the release of water droplets with camera flashes and triggering high-speed cameras. The system is incredibly versatile, allowing you to experiment with different LED lights, valve configurations, and even colored waters. You can use it to create mesmerizing effects like "drop-on-drop" or add an extra layer of complexity with multiple valves and electronics. To get started, I've made the source code and electronics plans available for free on The Camera Trigger repository. If you're ready to unleash your creativity and push the boundaries of water drop videography, check it out!

Creating a custom (car) Radio

Grumpy Developer Reading time: about 2 min Date: Language:english
The luxury of owning multiple old cars has led me down an interesting path - to create a modern radio system that caters to my nostalgic cravings while addressing some common shortcomings of current Bluetooth-based solutions. I'll be building a custom radio unit with features like FM radio, Bluetooth connectivity for hands-free calls and navigation, auxiliary input for external devices, and even DAB+ functionality. But here's the twist - I won't be using pre-made, high-end components that compromise on design or cost. Instead, I'll opt for more affordable options and DIY it myself, leveraging popular breakout boards like the Si4703 Radio FM RDS RBDS Tuner Breakout Board and a F-6188 Bluetooth module. The result will be a unit that's tailored to my needs, with a focus on functionality, simplicity, and even a dash of vintage charm. Will I succeed in creating the perfect retro-modern radio system? Only time (and a healthy dose of DIY expertise) will tell!

Building a keyboard filter part 3

Grumpy Developer Reading time: about 5 min Date: Language:english
In our PS2 keyboard filter project, we've made significant progress in defining states and implementing a main loop that handles key presses. We've also successfully integrated the EEPROM for storing and reading our configured keys, making it power cycle or reset-safe. The code snippet showcases how we handle different keyboard gestures, including pressing and releasing keys, as well as filtering out unwanted inputs. The program uses an enum to define states, which makes the code more readable and maintainable. As you read on in this series, you'll learn about the intricacies of EEPROM reading and writing, as well as implementing a scroll lock LED blinking feature. You'll also discover how to create a filter configuration system that allows users to customize their keyboard shortcuts. Whether you're an experienced programmer or just starting out with Arduino or PS2 programming, this project series is designed to guide you through the process of creating a custom keyboard filter. So, what are you waiting for? Dive into the next part of the series and start building your own PS2 keyboard filter!

DIY air quality sensor

Grumpy Developer Reading time: about 6 min Date: Language:english

Play "Music" with stepper motors Part 3

Grumpy Developer Reading time: about 5 min Date: Language:english
In this third installment of the mini series, we're diving into the nitty-gritty details of controlling multiple stepper motors with precise timing and frequency accuracy. The key to achieving this lies in understanding how to efficiently handle interrupts, utilize internal timers, and minimize clock cycles. The author breaks down the implementation into manageable chunks, starting with the initialization process, where they configure the output pins and set up the interrupt system. The use of a 48000 Hz timer call results in an extremely accurate representation of the desired frequency range, thanks to the internal pre-scaler. However, it's the main interrupt function that showcases the real complexity of this project. Here, we see how the author employs local copies of port pins to speed up operations and mitigate potential race conditions. They also utilize a clever trick to reduce instruction cycles by using a register instead of accessing RAM. The final piece of the puzzle is the `setChannel` function, which allows users to adjust the frequency and enable/disable specific channels. This function cleverly incorporates a formula that calculates the new counter value based on the desired frequency, ensuring smooth transitions between states. With this code, you'll be able to experiment with various configurations, including reducing maximum frequencies and expanding the system to accommodate more stepper motors. If you're interested in exploring further possibilities, feel free to reach out to the author for more information.

Building a keyboard filter part 2

Grumpy Developer Reading time: about 4 min Date: Language:english
If you're looking to create a custom keyboard filter for your PS/2 to USB conversion project, I've recently found an Arduino library that makes it relatively easy. This approach allows you to strip down the example to its bare essentials and integrate your own filter functions. By using a library like HID-Project, which includes a PS/2 keyboard class, you can create a custom filter that allows you to control which keys are sent through the USB port. This is perfect for those who want more precise control over their keyboard's functionality.

Building a keyboard filter part 1

Grumpy Developer Reading time: about 3 min Date: Language:english
Imagine having complete control over your gaming experience without getting thrown out of games due to accidental key presses. A keyboard filter can help you achieve this. In our series, we'll explore how to design and build such a system from scratch. The product aims to create a custom keyboard that filters out unwanted key presses, allowing gamers to focus on their game without interruptions. The approach combines knowledge of keyboard mechanics with the flexibility of Arduino programming. In Phase 1: Design, the author outlines their plan to use PS/2 keyboards for simplicity and ease of implementation. The system will interrupt the connection between the computer and keyboard, filtering out unwanted key presses, and sending only desired ones to the computer. To make it programmable, the author plans to define multiple sets of filter actions that can be enabled or disabled via keyboard shortcuts, making it easy to customize the experience for each user. This innovative approach allows users to personalize their gaming experience without relying on complicated setup procedures. Join us as we delve into the Phase 2: Hardware Setup section, where we'll explore the intricate details of tapping wires and setting up the Arduino board to create this unique keyboard filter system.

Play "Music" with stepper motors Part 2

Grumpy Developer Reading time: about 5 min Date: Language:english
In my previous post, I showed you how to control a "Music" play using stepper motors with Arduino and MIDI protocol. This time, I'll be focusing on the software side of things, specifically the code that brings it all together. The midi2stepper.ino file is where the magic happens. It reads incoming MIDI messages from the serial port and decodes them into frequencies to be played by our stepper motors. The algorithm used is quite clever, as it assigns each note to a free stepper motor, rather than just playing one specific motor for all notes. One of the most interesting parts of this code is how it handles note-off events. Instead of simply turning off the volume, it finds an active channel with that frequency and turns it off. This allows for more precise control over which motors are being used. Of course, there's still more to explore in this software - particularly in the midi2stepper.cpp/.h files, where things get a bit hairy (as I like to call it). But for now, let's just say that we've covered the basics of how MIDI messages are interpreted and turned into stepper motor movements. Want to see more? Head on over to the next post in this series, where we'll dive deeper into the code and explore some of its intricacies.