View allAll Photos Tagged microcontroller
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.
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/
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...
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.
Computer controlled shutter for the Automatic 100 series packfilm cameras with manual exposure control. See www.chemie.unibas.ch/~holder/shutterpic/index.html
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...
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.
The finished product consisting of an ATtiny2313 microcontroller, a 74HC125 tri-state buffer, a type-B USB socket, the 10-pin ISP connector and a handful of discrete components. With the exception of the red wire running between the USB socket and the ISP port, the red wires carry the programming signals, the blue are there to reverse the order of the USB signals, and the black wires are ground. (See decarchive.org/~prd/2009/11/a-veroboard-based-usbtinyisp-... and www.adafruit.com/usbtinyisp for more details.)
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.
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.
Ruined by the Flames of Excess, 2011, Wood, steel rod, epoxy clay and feathers.
A Phantom Torso, 2011, Silkscreen printed polystyrene, expanding foam, & microcontroller with servo.
Photo: Ola O Smit
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.
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...
The USBtinyISP AVR programmer from Adafruit Industries, hooked up to a minimalist AVR
target board powered by a battery box.
Read more here.
Kit contents, as dumped out of bag.
Testing out the USBtinyISP AVR programmer from Adafruit Industries.
Read more here.
An easy atmel programmer bodged from an ICSP programmer, an Arduino clone, and a ZIF socket. Because it was arduino compatible, it functions as a test-bed after programming.
spiffie.org/electronics/archives/microcontrollers/A High-Volume Atmega Arduino Programmer and Tester.html
3 drops into water/xanthan gum mix with a few drops of rinse aid and green ink. Water/xanthan gum with yellow ink in the drop.
Settings:
Exposure - 1/200sec
F-stop - f/16
ISO speed - 200
Speedlite - 1/128
Height 21"
Camera to drop 52cm
Protecting Inputs in Digital Electronics
www.digikey.com/us/en/techzone/microcontroller/resources/...?
A: MacBook Pro
B: Cookbooks
C: AVRISP mkII microcontroller programmer box
D: Star-shaped cookie cutter
E: The programmer itself (fits in the box)
F: USB cable for programmer
G: Olimex development board for 20-pin AVR chips
H: Power for the Olimex board
I: Ten Atmel ATtiny2313 microcontrollers
J: Microcontroller target board with 17-segment LED display and 2xAA battery box
K: Sheet from ATtiny2313 data sheet showing pinouts
L: Four fresh nutmeg nuts. (Meg nuts?)
Computer controlled shutter for the Automatic 100 series packfilm cameras with manual exposure control. See www.chemie.unibas.ch/~holder/shutterpic/index.html
The finished digital clock with 7-segment led-displays controlled by a attiny2313.
More at blog.gut-man.de/tag/7-segment/
Atmel AVR Butterfly microcontroller evaluation kit. Also has temperature sensor and speaker. The best thing - it's only $20!
I picked mine up from Smiley Micros because they threw in a serial header and wires for free.
I have recently purchased an Arduino microcontroller board. It will run software to control activation of lamps, polling of sensors and the dot matrix display.
At the bottom right you can see my new protoboard which I am usnig to test the lamp controlling circuits. I have already had some partial success. I am really an electronics newbie...
This is the master board for the display. It holds the microcontroller, the USB controller, and the two power supplies (3.6V for the display, and 5V for USB). The micro is responsible for powering everything up, instructing the USB controller to find the video file and start retrieving its contents, and to stream that video data out to the display boards. The displays can all be daisy-chained together, but I have them split between two identical headers just to reduce the current (and voltage drop) in the chain.
Breadboard circuit for Sound Flash Trigger With Delay (Mk I)
My long absence from Flickr has been due to me devoting a lot of my spare time to re-learning electronics and learning how to develop software for microcontrollers.
This prototype circuit was my first attempt to build a sound trigger for my Canon Speedlites -- as I had modified my OC-E2 flash extension cable I was able connect directly to any of my Speedlites.
Unfortunately, I discovered that the timing ICs I was hoping to use (NE555) are just too slow to respond to the sound of a balloon popping. The shortest delay I could get out of them was roughly 2ms which just wasn't fast enough.
So my next move was to use microcontrollers, initial the PIC 16F628A, but I migrated to the AVR ATmega8. The AVR has an open source GCC development environment and the AVR are available here in Portland (Surplus Gizmos on Cornelius Pass just off of Hwy 26).
The circuit has five stages:
1) The audio amplifier using a LM386 OpAmp IC
2) A comparator to convert the amplified audio into a distinct pulse to trigger the timer delay circuit
3) The first timer (NE555 IC) which is the delay part
4) The second timer (NE555 IC) which generates the trigger pulse for the Speedlite
5) The opto-isolator (MOC3020 IC) which triggers the Speedlite, but protects both this circuit and the Speedlite. With this setup I could use an older hot-shoe flash which are notorious for running 300V between the hot-shoe pins.
Like I said, unfortunately this prototype was just too slow, but I learned a lot in the process.
Side-note: Canon Speedlites can't be triggered repeatedly with just an opto-isolater by itself. Due to some quirk in their design you have to add resistor and capacitor in parallel (to each other) to help reset the Speedlite after it is triggered. I used a 1M ohm resistor with a 0.05uF capacitor rated for 600V.