[Paul’s] project is a great example of how you can take a simple project and turn it into something more interesting. He built himself a jack-o-lantern with an Internet controlled RGB LED embedded inside.
[Paul] first wired up an RGB LED to a Raspberry Pi. He was sure to wire up each color using a 100ohm resistor to prevent the LED from burning out. The web interface was written in Python. The interface is pretty simple. It consists of three text fields. The user enters a value between 0 and 255 for each of the three LED colors. The program then lights up the LED accordingly.
[Paul] realized he would need a diffuser for the LED in order to really see the blended colors properly. Instead of using a common solution like a ping-pong ball, he opted to get festive and use a plastic jack-o-lantern. [Paul] removed the original incandescent bulb from the lantern and mounted the LED inside instead. The inside of the pumpkin is painted white, so it easily diffuses the light. The result is a jack-o-lantern that glows different colors as defined by his party guests. Be sure to check out the demonstration video below.
Sometimes the best way to learn about a technology is to just build something yourself. That’s what [Dan] did with his DIY optoisolator. The purpose of an optoisolator is to allow two electrical systems to communicate with each other without being electrically connected. Many times this is done to prevent noise from one circuit from bleeding over into another.
[Dan] built his incredibly simple optoisolator using just a toilet paper tube, some aluminum foil, an LED, and a photo cell. The electrical components are mounted inside of the tube and the ends of the tube are sealed with foil. That’s all there is to it. To test the circuit, he configured an Arduino to send PWM signals to the LED inside the tube at various pulse widths. He then measured the resistance on the other side and graphed the resulting data. The result is a curve that shows the LED affects the sensor pretty drastically at first, but then gets less and less effective as the frequency of the signal increases.
[Dan] then had some more fun with his project by testing it on a simple temperature controller circuit. An Arduino reads a temperature sensor and if the temperature rises above a certain value, it turns on a fan to cool the sensor off again. [Dan] first graphed the sensor data with no fan hooked up. He only used ambient air to cool things down. The resulting graph is a pretty smooth curve. Next he hooked the fan up and tried again. This time the graph went all kinds of crazy. Every time the fan turned on, it created a bunch of electrical noise that prevented the Arduino from getting an accurate analog reading of the temperature sensor.
The third test was to remove the motor circuit and move it to its own bread board. The only thing connecting the Arduino circuit to the fan was a wire for the PWM signal and also a common ground. This smoothed out the graph but it was still a bit… lumpy. The final test was to isolate the fan circuit from the temperature sensor and see if it helped the situation. [Dan] hooked up his optoisolator and tried again. This time the graph was nice and smooth, just like the original graph.
While this technology is certainly not new or exciting, it’s always great to see someone learning by doing. What’s more is [Dan] has made all of his schematics and code readily available so others can try the same experiment and learn it for themselves.
Most of the Maker Faire attendees have spent weeks or months putting together their projects. [Matt] is doing things a little differently. He brought two thousand boards, each containing twelve pentagon PCBs with individually addressable LEDs mounted in the center. This weekend, he, his team, and anyone else who can wield a soldering iron will be assembling these pentagon panels into a gigantic glowing crystal.
Last year, [Matt] put together a Kickstarter for Blinkytape, a WS2812 LED strip with an Arduino on one end of the strip to generate patterns of colors. This year, [Matt] is moving into three dimensions with a system of pentagons with a single RGB LED mounted in the center. The pentagons can be soldered together into a regular polyhedra or a convoluted wall of LEDs that form a geometric crystal pattern of blinkyness. The Kickstarter for the BlinkyTile should be up before the faire is over.
[Matt] has a few tips for anyone wanting to run their own Kickstarter: don’t have a lot of SKUs. [Matt] only has to keep track of a single panel of twelve pentagons. Compare this to other failed Kickstarters with dozens of options, several colors, and a few stretch goals, and you quickly see why many, many Kickstarters fail. [Matt] is just selling one thing.
Public transit can be a wonderful thing. It can also be annoying if the trains are running behind schedule. These days, many public transit systems are connected to the Internet. This means you can check if your train will be on time at any moment using a computer or smart phone. [Christoph] wanted to take this concept one step further for the Devlol hackerspace is Linz, Austria, so he built himself an electronic tracking system (Google translate).
[Christoph] started with a printed paper map of the train system. This was placed inside what began as an ordinary picture frame. Then, [Christoph] strung together a series of BulletPixel2 LEDs in parallel. The BulletPixel2 LEDs are 8mm tri-color LEDs that also contain a small controller chip. This allows them to be controlled serially using just one wire. It’s similar to having an RGB LED strip, minus the actual strip. [Christoph] used 50 LEDs when all was said and done. The LEDs were mounted into the photo frame along the three main train lines; red, green, and blue. The color of the LED obviously corresponds to the color of the train line.
The train location data is pulled from the Internet using a Raspberry Pi. The information must be pulled constantly in order to keep the map accurate and up to date. The Raspberry Pi then communicates with an Arduino Uno, which is used to actually control the string of LEDs. The electronics can all be hidden behind the photo frame, out of sight. The final product is a slick “radar” for the local train system.
Typically bit-banging an I/O line is the common method of driving the WS2812B (WS2811) RGB LEDs. However, this ties up precious microcontroller cycles while it waits around to flip a bit. A less processor intensive method is to use one of the built-in Serial Peripheral Interface (SPI) modules. This is done using specially crafted data and baud rate settings, that when shifted out over the Serial Data Out (SDO) pin, recreate the needed WS2812B signal timing. Even when running in SPI mode, your hardware TX buffer size will limit how many pixels you can update without CPU intervention.
[Henrik] gets around this limitation by using peripheral DMA (Direct Memory Access) to the SPI module in the Microchip PIC32MX250F128B microcontroller. Once properly configured, the DMA controller will auto increment through the defined section of DMA RAM, sending the pixel data over to the SPI module. Since the DMA controller takes care of the transfer, the micro is free to do other things. This makes all of DMA memory your display buffer. And leaves plenty of precious microcontroller cycles available to calculate what patterns you want the RGB LEDs to display.
Source code is available at the above link for those who would like to peruse, or try it out. This is part of [Henrik’s] Pixel Art Project. Video of DMA based SPI pixels after the break:
Continue reading “Driving WS2812B Pixels, With DMA Based SPI”
[Jose’s] latest project brings an old visual effect toy up to date with digital electronics. Most of us are familiar with inexpensive kaleidoscope toys. Some of us have even built cheap versions of them with paper tubes, mirrors, and beads. [Jose] wanted to try to recreate the colorful pattern effects created by a kaleidoscope using an Arduino and an addressable LED strip.
The build is actually pretty simple. The base is a disc of PVC cut to just a few inches in diameter. [Jose] started with an addressable LED strip containing 60 LEDs. He then cut it into 12 sections, each containing five LEDs. The smaller strips were then mounted to the disc, similar to spokes on a bicycle wheel. The LED strip already has an adhesive backing, so that part was trivial.
The final step was to add some kind of diffuser screen. The LED strips on their own are not all that interesting. The diffuser allows the light to blend together, forming interesting patterns that are more reminiscent of the patterns you might see in a real kaleidoscope. Without the diffuser you would just see individual points of light, rather than blended color patterns.
The whole thing is controlled by a small Arduino. [Jose] has made the code available at the bottom of his blog post. Be sure to watch the video of the system in action below. Continue reading “Arduino Powered Digital Kaleidoscope”
This week’s Hacklet focuses on two wheeled thunder! By that we mean some of the motorcycle and scooter projects on Hackaday.io.
We’re going to ease into this Hacklet with [greg duck’s] Honda Sky Restoration. Greg is giving a neglected 15-year-old scooter some love, with hopes of bringing it back to its former glory. The scooter has a pair of stuck brakes, a hole rusted into its frame, a stuck clutch, and a deceased battery, among other issues. [Greg] already stripped the body panels off and got the rear brake freed up. There is still quite a bit of work to do, so we’re sure [Greg] will be burning the midnight 2 stroke oil to complete his scooter.
Next up is [Anders Johansson’s] jaw dropping Gas turbine Land Racing Motorcycle. [Anders] built his own gas turbine engine, as well as a motorcycle to go around it. The engine is based upon a Garrett TV94, and directly powers the rear wheel through a turboshaft and gearbox. [Anders] has already taken the bike out for a spin, and he reports it “Pulled like a train” at only half throttle. His final destination is the Bonneville salt flats, where he hops to break the 349km/h class record. If it looks a bit familiar that’s because this one did have its own feature last month.
[GearheadRed] is taking a safer approach with FireCoates, a motorcycle jacket with built-in brake and turn signal indicators. [GearheadRed] realized that EL wire or LED strip wouldn’t stand up to the kind of flexing the jacket would take. He found his solution in flexible light pipes. Lit by an LED on each end, the light pipes glow bright enough to be seen at night. [GearheadRed] doesn’t like to be tied down, so he made his jacket wireless. A pair of bluetooth radios send serial data for turn and brake signals generated by an Arduino nano on [Red’s] bike. Nice work [Red]!
[Johnny] rounds out this week’s Hacklet with his $1000 Future Tech Cafe Racer From Scratch. We’re not quite sure if [Johnny] is for real, but his project logs are entertaining enough that we’re going to give him the benefit of the doubt. Down to his last $1000, [Johnny] plans to turn his old Honda xr650 into a modern cafe racer. The new bike will have electric start, an obsolete Motorola Android phone as its dashboard, and a 700cc hi-comp Single cylinder engine at its heart. [Johnny] was last seen wandering the streets of his city looking for a welder, so if you see him, tell him we need an update on the bike!
That’s it for this week. If you liked this installment check out the archives. We’ll see you next week on The Hacklet – bringing you the Best of Hackaday.io!