View allAll Photos Tagged microcontroller
[img]http://blake-foster.com/projects/remote_startup_connected.jpg[/img]
Frequently, while at the office or out of town, I find (to my dismay) that I need to access files on my desktop computer at home. The inevitable results are special trips and wasted time. While I could leave my desktop on indefinitely and access files remotely as, the inordinate amount of electricity that it consumes literally doubles my electric bill. With the help of an Arduino, I've solved the problem for good, for the cost of about 3 months of running my desktop all day.
Read more here: blake-foster.com/project.php?p=44
Pixel VGA, version 1 (Floor Cluster) - Garnet Hertz
Two dozen old computer monitors occupy the center of a gallery floor in a cluster facing the wall. Each screen is controlled with custom electronics to create pulsating and strobing patterns, casting a colored wash across the darkened gallery.
Dimensions: Variable (approx 3m x 3m). VGA monitors, custom electronics. 2011.
More project information: conceptlab.com/pixel/
A small project I did, using a Playstation 2 controller and Arduino to control the speed and direction of a bipolar stepper motor.
More information and source code: www.lungstruck.com/projects/ps2-motor-controller/
An Arduino microcontroller uses a CdS photocell and a set of LEDs to indicate the ambient light level. (Move your mouse over the picture to see explanatory notes.)
Just fooling around because I was bored. Maybe I'll think of a good use for this later.
This is the schematic of my remote-controlled light bulb RGB mood lamp schematic. For more info :
Please read the note on the picture for an 'errata'
For a bigger image click on the 'all sizes' magnifing glass above the picture.
The PCB from the Tesco scales, with LCD and control buttons. Next step: figure out how this works and how to interface it to the Arduino!
The setup on my desk for testing and developing the firmware and Verilog for my FPGA-accelerated vision platform.
Pictured:
- my MT9V032 LVDS camera board
- a Xilinx Spartan-6 FPGA SP605 board.
As of this photo, I've successfully developed the code that allows the Spartan-6 to deserialize the MT9V032's 300+ Mbps LVDS data stream - I use the FPGA's SerDes blocks to perform the deserialization, rather than relying on an external deserializer chip (as suggested in the image sensor's data sheet).
That little green LED on the FMC-LPC board (should you actually be able to see it) indicates that the FPGA has successfully locked to the MT9V032's output. Remarkably, it worked on the first try (no doubt thanks to simulating everything beforehand! - some simulation waveforms are just barely visible on my monitor in the upper right).
Next step: actually sending the video data somewhere to confirm that the sensor is really truly working (good thing the SP605 has a DVI output..).
Homemade using an Addressable RGB LED Light Strip and Microcontroller Board
See my YouTube video showing all of my current Light Painting Tools and how they work.
www.youtube.com/user/michaelrross1
You can find get to the detailed tutorial information and videos to make this tool yourself on my personal website under the new Tutorial Blog at:
Insect robot build after the description in Oreilly Make Arduino Bots and Gadgets
Detail: Just a quick working model hold together with tape velcro and cable binders ;-) Big eyes wrking with ultra sonic to measure the distance to avoid obstacles.
Video of V 0.0.1.2 here: www.youtube.com/watch?v=UHLnzWc7X3I
More pictures and another video here: xinchejian.com/2011/04/11/insect-robot-from-lumi/
My makeshift automated panorama rig. Mostly made from spare parts and junk.
[updated 2012.07.24] It seems this made it on hackaday: hackaday.com/2012/07/24/motorized-camera-rig-makes-panora... Greetings! I'll try to get some documentation together and post the code somewhere in the coming weeks.
Movement is handled by two servos at the top, mounted to some scrap wood using screws and wood glue. That mounts to the tripod via a 1/4-20 clawed T-bolt. The camera secures to a set of overpriced plastic servo pan/tilt plates.
The servos are controlled via an Arduino Nano (Atmel AVR 328p) powered by a 9v battery for the microcontroller(μc), and 4xAA batteries for the servos. The clear housing was saved from the trash, and holes for the wires and switch were cut by using a heat gun on an exacto knife. The case secures to the tripod using velcro and elastic. An IR receiver, mounted on top of the case, takes input from a small generic remote control(not pictured).
Several quick programs are accessible with only 2 key presses for the most commonly used angles. Manual angle input and adjustment are also available, as are startup delays and repeating functions. It can also be re-configured in the field, via the remote, and allows the changing of camera specs, such as horizontal and vertical field of view, h/v overlaps, servo speed and end stops. The μc is programed to, on it's own, determine the number of shots, and the best angles to shoot, in order to capture the requested area. There's also some rudimentary duplicate avoidance written in, which skips photographing areas that would significantly overlap with previous photos, such as in the polar regions.
There are plenty of problems with the version as shown. For starters, it doesn't center its rotation around the shutter, which causes parallax errors. The current servos aren't strong enough for anything heavier than a compact point-and-shoot. There's no shutter control yet. A third servo lead is tucked in back, and the code written, but at the moment, it's just synced with the camera's internal 10 second repeat auto timer. The code was quick and sloppy, but it does the job. I should probably clean it up and open source it at some point. So far, though, it has performed far better than I expected. Most issues could be resolved without much work, but at the moment, I'm just going to enjoy using it.
Except for the Marigot Bay panorama and the Marblehead harbor fireworks panorama(which were done by hand) most of the panoramas and stereographic "little planets" in this photostream were taken using this rig with a casio ex-g1 point-and-shoot.
You can check out some of the interactive and immersive 360º images it has produced using the viewer at fieldofview here , or just check out the rest of the photostream here.
Properly Selecting Electronic Components: Part 3
by Vaughn D. Martin
This time, investigate basic solid-state theory, diodes, rectifiers, transistor amplifiers, and characterize them.
Experiments with Alternative Energy
by John Gavlik
This time, we’ll use these same microcontroller circuits and code to illustrate three primary conditions that affect solar panel operation in the real world: heat, shading, and tilt angle.
Magnetic Pendulum
Electronic Gadgets
by Tony Gasparovic
Here’s a really fun project that will get a lot of attention. It’s an electronic pendulum that operates on the principle of magnetism.
Bicycle Gear Position Indicator
Circuits
by Dan Gravatt
Here’s a couple of simple circuits to tell you what gear your bicycle is in while you’re pedaling down the road. I usually check what gear I am in by looking down at the front and rear gears. I decided I needed a better way after I bought a good road bike with 30 (!) gear combinations (three gears in front and 10 in back).
The ReFUSEable Box
Electronic Gadgets
by Ron Newton
This project was built for field troubleshooting and replaces blown fuses until the problem is solved. By dialing in the amperage, you can preset the drop-out point in the place of a fuse (200 mA – 5 amps). It is also known as a programmable relay. It displays the active AC or DC amperage being drawn when in the circuit.
Techknowledgey
by Jeff Eckert
Techknowledgey 2009
Topics covered include the world’s smallest reed switch, lasers that create new forms of metal, a new all-in-one PC, plus other stuff you’ll find fascinating.
Smiley’s Workshop
by Joe Pardue
Smileys Workshop: An AVR C Programming Series (Part 14)
Last month, we learned how to build a command interpreter and how to make beautiful music (okay, noise) on a piezo element. This month, we are going to look at components from the kit that sense light and temperature.
Getting Started With PICS
by Chuck Hellebuyck
Programming the PICDEM 2 Plus Development Board
After getting everything set up — I used an MPLAB® ICD 2 for the programming tool because it is available bundled with the PICDEM 2 Plus board — I was ready to write some code.
Q&A
by Russell Kincaid
Q&A | September 2009
Solar panel voltage regulator, op-amps and diodes, current sensing motor control, plus more.
Near Space
by L. Paul Verhage
Near Space | September 2009
I’m always on the look-out for neat stuff to do. So, when Mike Manes of EOSS posted over the GPSL* email list that Harbor Freight had discounted a vacuum pump that might be suitable for near space testing, I couldn’t resist. My creation takes near space testing to new lows and represents a unique use for an air-tight flour container that the manufacturer surely hadn’t intended.
The Spin Zone
by Jon Williams
LCDs & Things… oh my!
It must have been 1994 when I discovered how much I enjoy character LCDs. Like so many others, I got started thanks to Scott Edwards and his articles here in Nuts & Volts.
The Design Cycle
by Fred Eady
USB To Ethernet Using Microchip’s Free Stacks: Part 2
Now that we’ve had a taste of the free Microchip TCP/IP and USB stacks, it’s time to put the chocolate in the peanut butter. As promised, this month we’ll put a Microchip PIC18F14K50 Low Pin Count USB microcontroller in front of a PIC18F67J60 Ethernet microcontroller and put another RS-232 converter IC out to pasture.
Personal Robotics
by Vern Graner
The Dungeon Keeper
So, how about we make an animatronic body for our talking skull and put him in a creepy coffin so he can beckon them forward with a flickering candle? Though this may sound like a pretty big project, it's actually rather straight-forward and, if you start now, you should be able to have your own Dungeon Keeper ready to thrill the kids and wow the parents for this Halloween!
Developing Perspectives
by Bryan Bergeron
On the left, original, working, RC & cassette based retro Omnibot. His only upgrade is a new NiMH power pack. He has a broken hand which I still need to sort out.
On the right, enhanced semi-autonomous Omnibot with his new brain and power shoulders & elbows. I've installed a 6th toggle switch to enable separate switching of power supplies to the servo sequencers and UNO stack. Amongst other benefits, this reduces the likelihood of him making a dash for it half way through programming...!
8 bit microcontroller with 20kByte of internal Flash-ROM, 256x8bit RAM, 8051-compatible
Size is about 7mm x 4mm
Photo taken to accompany short article on working with AVR microcontrollers, and making minimalist target boards for programming them.
This is a binary clock that was built into a 3d-printed case created in Minecraft. It shows the current time in a binary coded decimal format.
The model was exported with the free tool Mineways and printed on a Zprinter 650 3d-printer, with a block size of 125mm^3 (so every block has an edge length of 5mm). After printing, LEDs were glued into the case after filing the openings a bit wider. Then, the LEDs were soldered to form a 4x4 LED matrix, and the matrix was connected to an Arduino board.
A technical description of the setup as well as downloads of the model and the code can be found here: postapocalypticresearchinstitute.wordpress.com/2012/07/18...
Insect robot build after the description in Oreilly Make Arduino Bots and Gadgets
Details: Have to add some rubber feet to give it more grip on the floor.
Video of V 0.0.1.2 here: www.youtube.com/watch?v=UHLnzWc7X3I
More pictures and another video here: xinchejian.com/2011/04/11/insect-robot-from-lumi/
The Atmel AVRISP MkII USB programmer, one of the popular, low-cost variety.
Photo taken to accompany short article on working with AVR microcontrollers, and making minimalist target boards for programming them.
Visitors to our family blog can launch a car from our closet for our toddler to play with. I built a simple gravity-powered car launcher that is controlled by the web site. Clicking "Launch Car Now!" on the web site results in a sound clip from the movie "Cars" playing in our living room, followed by a car shooting out from under the coat closet door. The website uses a bit of PHP to send an email to my wife's computer, which happens to sit in the living room next to the coat closet. I created a filter in Apple Mail to run an AppleScript when a correctly coded email comes through. The AppleScript pauses iTunes and raises the system volume of the computer before activating a small applet I wrote in the Processing language. The Processing applet plays a bit of Lightning McQueen (main character in "Cars") psyching himself up before a big race. The applet then sends an "l" to the serial port, where the car launcher's Basic Stamp II microcontroller is patiently waiting. The BSII opens the sliding garage door on the launcher exactly one bay. There are five bays, for five cars. I set up little tabs to interrupt an infrared beam as the edge of each opening is reached. Once a given bay is open, gravity pulls the toy car out and down the ramp. Momentum carries it under the closed closet door and across the floor to the excited toddler. After receiving each launch command (each clicked "Launch Car Now! from the web site), the launcher will release one car and then wait for another command, progressing until the door is completely open and all cars have been released. The launcher door will then close and wait to be reloaded. The PHP on the web server makes sure the "Launch Car Now!" link is only available during usual playtime hours and also limits the number of cars launched to five per day.
This is my simple circuit with preamp module inserted to display music on a VGA monitor like on an oscilloscope.
For more details go to :
Microchip expanded its Arduino™ compatible chipKIT™ platform ecosystem to include a new Raspberry Pi® tool that it co-developed with partner element14—the chipKIT Pi Expansion Board. On the software side, volunteers from the chipKIT and Arduino communities collaborated with Microchip’s engineers to expand the free chipKIT Multi-Platform IDE (MPIDE), to allow users to create, compile and program Arduino sketch-based chipKIT applications within the Raspberry Pi operating system. The chipKIT MPIDE is open source and compatible with the Arduino programming language and development environment. Both of these tools are based on Microchip’s 32-bit PIC32 microcontrollers (MCUs) in prototyping-friendly, low pin count SPDIP packages, which was previously only available with 8-bit MCUs for the Arduino community. This enables all users—including hobbyists, academics, makers and professionals—to benefit from the PIC32’s high performance, memory and integrated peripherals while using the basic hobbyist prototyping equipment that is found in most home workshops. For more info, visit chipkit.net/.
Simple Circuit board allowing control of mains voltage heating elements from 5V microcontroller IO pins using a relay and simple transistor amplifier
This design is an experimental software USB microcontroller platform. I'm not yet entirely sure that it will work as intended :)
The idea is pretty well derivative from the blink[1] project you may have seen elsewhere, this is my take on how it could have been done.
Core design has:
* Microcontroller (ATTINY44)
* RGB LED
* Tiny tiny flip chip voltage regulator
* Capacitive-touch plane on back
Bringing this system up isn't currently a priority but I'll probably try it before long.
This is a binary clock that was built into a 3d-printed case created in Minecraft. It shows the current time in a binary coded decimal format.
The model was exported with the free tool Mineways and printed on a Zprinter 650 3d-printer, with a block size of 125mm^3 (so every block has an edge length of 5mm). After printing, LEDs were glued into the case after filing the openings a bit wider. Then, the LEDs were soldered to form a 4x4 LED matrix, and the matrix was connected to an Arduino board.
A technical description of the setup as well as downloads of the model and the code can be found here: postapocalypticresearchinstitute.wordpress.com/2012/07/18...
This is a binary clock that was built into a 3d-printed case created in Minecraft. It shows the current time in a binary coded decimal format. The model was exported with the free tool Mineways and printed on a Zprinter 650 3d-printer, with a block size of 125mm^3 (so every block has an edge length of 5mm). After printing, LEDs were glued into the case after filing the openings a bit wider. Then, the LEDs were soldered to form a 4x4 LED matrix, and the matrix was connected to an Arduino board. Next steps will be to tidy up the wiring and add some buttons to set the clock to the right time (right now this has to be done in the code).
9:55PM on December 23rd, 2010 will be etched into my memory. That is the moment when I discovered that my primary digital images hard drive (500GB) with nearly 45,000 image files had disappeared from my computer's view.
"No problem", I thought, "I have my backup drive, right?"...this is when I discovered that the external backup drive wasn't connected to the computer, and hadn't been for some time...."oh! bugger!".
To those that don't know I actually have experience in the computer forensics field so I started researching the problem. One company based in Canada (yes, that place North of the border and yes they are friendly) called One PCB Solution www.onepcbsolution.com offered replacement hard drive controller boards (or PCBs). They responded with-in a day and told me that a hard drive PCB replacement wouldn't fix the problem and that I needed to go read the "Unbricking Seagate Drives" article:
www.mapleleafmountain.com/seagatebrick.html.
After thoroughly reading this article and the other linked-to articles, I finally understood the problem...it's a bug in the drives firmware/software -- what you don't know about "bugs" en.wikipedia.org/wiki/Software_bug in software how qaintly naive of you. ;-) But, I also had a solution!
Fortunately, I've spent the last year re-kindling (no, nothing to the Amazon device) my passion for electronics, in particular microcontrollers. Double fortunately, I had built an RS-232 (serial port) "level-converter" so that I could connect my development laptop to a microcontroller circuit board and get diagnostic information out of it. The resulting setup is in the image above.
The result: It worked! After interacting with the Seagate drive's Terminal Command interface using HyperTerminal my drive is up and running again, and the backup process is almost completed as I type.
Connect the servo to your microcontroller (here an Arduino) and tell it to move to position 0 (i.e., a pulse width of 1500µs). The gears should start spinning, unless it was previously at 0.
Insect robot with obstacle avoidance by ultra sonic.
First DIY robot project.
Build after the description and programming in Oreilly Make Arduino Bots and Gadgets March 2011
Another video of V 0.0.1.2 here: www.youtube.com/watch?v=UHLnzWc7X3I
More pictures and another video here: xinchejian.com/2011/04/11/insect-robot-from-lumi/
This is a binary clock that was built into a 3d-printed case created in Minecraft. It shows the current time in a binary coded decimal format.
The model was exported with the free tool Mineways and printed on a Zprinter 650 3d-printer, with a block size of 125mm^3 (so every block has an edge length of 5mm). After printing, LEDs were glued into the case after filing the openings a bit wider. Then, the LEDs were soldered to form a 4x4 LED matrix, and the matrix was connected to an Arduino board.
A technical description of the setup as well as downloads of the model and the code can be found here: postapocalypticresearchinstitute.wordpress.com/2012/07/18...
Important step: Mark where pin 1 of the connector is!
Photo taken to accompany short article on working with AVR microcontrollers, and making minimalist target boards for programming them.
This is a binary clock that was built into a 3d-printed case created in Minecraft. It shows the current time in a binary coded decimal format.
The model was exported with the free tool Mineways and printed on a Zprinter 650 3d-printer, with a block size of 125mm^3 (so every block has an edge length of 5mm). After printing, LEDs were glued into the case after filing the openings a bit wider. Then, the LEDs were soldered to form a 4x4 LED matrix, and the matrix was connected to an Arduino board.
A technical description of the setup as well as downloads of the model and the code can be found here: postapocalypticresearchinstitute.wordpress.com/2012/07/18...
I've been exploring variable sample rate (where the voltage step is constant) and also base 3 digital to analog conversion. Combining the two techniques gives me an interesting way of implementing a PIC microcontroller based AX25 modem using just 3 output pins rather than the normal 4. My limitation has been PIC processor speed to keep up with the rapid ramping needed as the signal crosses 0. I could do it, with some high frequency spikes from the switching, but I'd need to up the PIC's clock frequency to its full 32MHz, or I start skipping samples.
This graph is a prediction for a 4 bit binary converter using variable sample rate. The circles penned in are the actual sample points that the software is trying to follow. It is moving half a sample early to try to reduce error and therefore noise.
If the noise amplitude is taken as the maximum deviation from the target sine then I need to avoid skipping samples and try to keep close. A fixed sample rate solution could also achieve this quite well as long as the sample rate is fast enough to keep up with the fast ramping. Then the maximum error will be equal to half of the converter's resolution. The resolution of this 4 bit converter is -24dB.
The frequency content of the noise will vary here as the sample rate varies. In fact I'm frequency modulating the sample signal (d/dt of sin(t) is cos(t)), so I think I should expect the noise signal to occupy an FM type spectrum with extra harmonics from the step functions. Mix in any non-linearities in the system and that could become problematic!
Thinking of this, the better solution may be a fixed sample rate that is fast enough not to allow the noise amplitude to become too large as the waveform ramps quickly crossing zero. (That would be effectively amplitude modulating the noise). The fixed sample rate does also have the advantage of simpler code and less resource usage on the microcontroller, and noise is easy to filter in the analogue stage.
Maybe this is why we don't see variable sample rate synthesis. Searching for commercial direct synthesis solutions it looks like effort has been spent achieving very fast fixed sample rates.
The results of a DIY project writing custom code for a Node MCU micro-controller to control addressable LEDs.
Evil Mad Scientist Laboratories staff photo, featuring an alphanumeric persistence of vision display. Exposure time: 2.5 s.
A modified Olimex Dev board, holding an ATmega168 8-bit microcontroller. I've added a few things to it: a 6-pin ISP interface (11:30), two RC low-pass filters for the analog outputs (1:00), and eight tactile button switches (5:00-7:00).
This is part of the Evil Mad Scientist Analog PlotBot project, which features a DIY E-Paper display! Read more about this project here.