View allAll Photos Tagged microcontroller
Perpetual Electro mechanical Calendar Clock powered by an Arduino Microcontroller. Full Westminster Chime of Quarter Hours and Hours.
All the parts are now soldered to the PCB for the persistence-of-vision gadget. The LED wand connects to the two brown connectors at the bottom of the board.
The Digilent Pmod MTDS is a gorgeous 2.8" touchscreen display with a powerful on-board microcontroller that performs graphics processing tasks. The display is a capacitive touchscreen with QVGA resolution (320×240) and 2 finger multi-touch support.
The most compelling aspect of the Pmod MTDS is the programming experience provided by its Multi-Touch Display System (MTDS) Firmware and the associated libraries. These allow you to design sleek, stylish user interfaces very quickly and with very little code. The timing dependent tasks are handled by the firmware, so integrating the display into existing projects is also a snap. Some of the key functionality provided by the libraries include the ability to draw basic shapes and text, draw images stored on microSD with binary transparency, draw buttons and easily check if they have been pressed, and check the status and location of the user's two fingers. The libraries are supported in Arduino IDE and Xilinx SDK, and have been tested with Ardiuno, chipKIT, and Arty host boards.
This is an laser cut enclosure for mobile arduino prototyping. I will start selling this soon. A bit more testing is needed.
Check:
The 20x4 LCD for the Arduino, on its new brass stand. It's made out of a 100mm brass hinge, the type with steel washers. It has enough friction to stay at the angle you want, and it's heavy enough to make a stable base for the LCD. The LCD is held on by two M3 bolts and the hinge has three non-slip plastic feet under it to protect the table-top.
Not so interesting or material this week - need to write the software for the die roller. Though electronic component fiddling does resemble playing with Legos, microcontroller-based projects also have a programming side that needs to be done and in which I am more at home, being a long-time software guy and a novice hardware engineer.
I'm pretty busy this week, too, so I doubt I'll finish it today, but it shouldn't take long.
In case you were wondering, this is what the software development environment for the Microchip PIC microcontrollers looks like, if you develop in assembly language. Details on request. This is a slightly weird angle on it, since it is a Windows program and I'm running it under "wine", which is a pretend-Windows environment that runs under Linux. It's a little bit hiccupy that way but lets me do the typing and some testing. I haven't tried actually sending the program to the chip from this Linux laptop - I use the tiny Windows netbook for that since it fits handily on my cluttered hobby table - but I like the Linux machine for the software part since it has a much bigger screen.
The reference to "Nigel code" in the comments is due to a now somewhat dated but still live and useful PIC Tutorial site by Nigel Goodwin. It has several useful examples of applications of the PIC chips, from which I've cribbed a fair amount for some of my projects. Its attached forum shows activity as recently as last August but mostly it went dormant around 2006. Great site for beginners even still.
First step: gather up the parts and decide what kind of connectors to use. Also decide what kind of switch to use for the all-important reset button. Since taking this photo, I've changed my mind about the Molex KK connectors (having had another look at the Arduino), and substituted 32-pin DIN41612 connectors.
Completed circuit showing the status LED on.
Blog Entry:
cmpalmer.blogspot.com/2007/09/arduino-beakmans-motor-and....
Instructables
The milled PCB for the ball-bearing tangible interface, with some of the LEDs attached.
Photographed at the Bristol Hackspace: bristol.hackspace.org.uk/
Product image of components from the Jennic range - www.sequoia.co.uk/components/manufacturer_list.php?m=12&a...
Jennic is a market leader in ZigBee, 6LoWPAN, IEEE802.15.4 wireless microcontrollers, modules and evaluation kits.
Wired up two of the AVR's I/O ports (Port B and Port D) to the left-hand connector. Also wired up power: 12V, 5V, 3.3V, 0V and -12V. The 3.3V regulator is yet to be fitted.
The push button in the diagram is the manual water valve control for purging the line (momentary switch, normally open), otherwise the valve only opens when the microcontroller sends out a positive pulse on its output pin to activate the transistor switch and allow current to flow through the solenoid. A diode is placed across the solenoid power lines to prevent damage to the transistor from reverse voltage generated from the inductive load when the power is turned off. This recirculates it back into the solenoid coil instead of into the transistor.
My second printed board, this one much simpler-- a relay circuit for triggering via a microcontroller. 3-pin female header, L-R:
1) Signal
2) +
3) -
I'm happy to provide the complete EAGLE file if anybody is interested.
This uses a Futurlec JQC-3FF-05 relay, and I didn't drill the NC output pad-- just figured I should have a trace for it (?).
I think I turned around this board in under an hour, from the PDF. I'll never use perfboard again, if I don't have to!
UPDATE: re: mightohm's question: the process for making the pcb:
* switch layers in Eagle to display only the top layer, pads, and dimensions,
* "print" and save to PDF,
* in Photoshop, open the PDF at 1200dpi,
* run an action to fill the pad holes and make B+W,
* print with Samsung ML1740:
* 8.5x11 piece of paper with a glossy catalog page taped to it (Sur La Table fwiw),
* printer output set to "transparency" to (hopefully) get more toner,
* cut the pattern out of the middle of the page
* iron onto a slightly over-sized piece of single-sided copper-clad:
* lightly sand with ~220 grit (finest I had around) and cleaned with acetone,
* pre-heated board with iron (piece of paper in between) for ~30s,
* CAREFULLY drop the glossy printout onto the copper, then just as CAREFULLY drop on another (blank) piece of paper, then a paper towel on top of that,
* put the iron on and let it sit for ~30s,
* gently move the iron around, applying pressure for ~1 min,
* remove the paper towel and keep ironing on the paper over the glossy printout for another ~2-10 min (?), maybe moving it around.
* let board cool for a minute,
* drop board into a container with water,
* after a minute, pull paper off and gently scrub off the rest of the pulp with a toothbrush,
* fill gaps/dropouts with an etch-resistant pen,
* drop into ferric chloride bath for a few minutes, checking periodically,
* remove the board and drop immediately into a container with water,
* rinse,
* drill,
* solder,
* circuit check-- pretty much involves cutting solder and scraping down to the fiberglass where solder blobs bridge traces/pads.
* Bob == uncle.
Red wire connects +5V to pull-up resistors. By the way, for a sense of scale, the squared paper in these photos is 5mm.
The chipKIT™ Pro MX4 is a microcontroller development board based on the Microchip® PIC32MX460F512L, a member of the 32-bit PIC32 microcontroller family. It is compatible with Digilent's line of Pmods, and is suitable for use with the Microchip MPLAB® IDE tools. The chipKIT Pro MX4 is also compatible for use with the chipKIT MPIDE development environment.
The chipKIT Pro MX4 provides 74 I/O pins that support a number of peripheral functions, such as USB controller, UART, SPI, and I2C ports as well as five pulse-width modulated outputs and five external interrupt inputs. Fifteen of the I/O pins can be used as analog inputs in addition to their use as digital inputs and outputs.
store.digilentinc.com/chipkit-pro-mx4-embedded-systems-tr...
A sound generator (algorithmic music) based on an ATTINY 85.
Features:
- ALGO pot: choice of algorithm.
- X, Y pots: variables of the algorithms.
- LDR: Light-Dependent Resistor
- Switch: choice between Y and LDR.
- Volume pot.
- Sound output: mono 6.35mm plug.
- Yellow LED: sound LED.
- Red LED: ON/BATT
- Power supply: DC 9V external power supply or battery.
- Powered only when output sound jack inserted.
Holy crap! I don't deserve the oxygen I'm currently consuming, and this weekend was the biggest single waste of borrowed programmer time in the history of microcontroller hobbying.
I literally spent no fewer than 14 hours hovered over my breadboard, reading datasheets, reading blogs, reading forums, and generally rubbing my bald spot (because there's no hair to pull, see), trying to figure out how I could screw up something so simple as this:
Vcc = 5V
AVcc = 5V
AREF = 5V
GND = Ground
AGND = Ground
RESET = 5V, through 22K ohm resistor
Well, as it happens, even I can't screw that up. That, at least, is good.
No, what I screwed up was so much more colossally and fundamentally stupid. On a chip with 40 pins, I could have plugged the blinky light into any one of 8 of them. And I chose poorly. I wish I could lie, and say that I got the pin configuration confused, but no, I *intentionally* plugged that sucker into pin 21, Bit 7 on Port D.
The problem, of course, is that I wrote the code to toggle the output on Bits 0 through 7 on Port B. I remember now, of course, that I changed my mind after writing the code to toggle the bits (pins) on Port D, because the Port B bank is very close to the LEDs bank on the programmer, so I went back and changed DDRD to DDRB in the code. Except, when I pulled the chip off the programmer, and stuck it on the breadboard, I plugged the LED into Port D. Because that had been the plan all along, see?
"JOE" spells "idiot that wastes a weekend of borrowed programmer time reading datasheets when he could be soldering and writing code".
Yes, I *could* have had a simple delay flash trigger Saturday afternoon. Yes, I *could* be posting cool pictures of exploding eggs and light bulbs right now. But instead, I'm posting a picture of my blinky lights (I hooked up two extra for some joy, at least - you should see them in action, it's very cool looking), that should have been posted Saturday afternoon.
Oh well, payday cometh, I get my own programmer, and maybe I can borrow this one again sometime between now and then. Anyway, I can at least write code, now, and build the keypad and display.
Oh, I suppose I should also say, "WOOOOOHOOOOO! My microcontroller is running my code on my breadboard!!!" I'd be lying if I suggested that through my self-insulting rant that I were anything less than elated. If only it were 1:20 Sunday morning, instead of Monday morning... I'd have a whole day of microcontroller fun ahead...
Well, pretending to solder, for the BBC promotional photos. The PCB is a FIGnition microcomputer running the Forth programming language.
Finished video is here: www.bbc.co.uk/news/technology-13206756
And text write-up here: www.bbc.co.uk/news/technology-13201254
Lissajous figures are interesting curves that occur in systems where oscillation happens in more than one direction, for example when a pendulum hanging from a string moves in the plane.
These pictures are from an easy persistence of vision approach to playing with Lissajous figures. Read more about this project here.
Microcontroller board with Atmel ATmega8 processor chip. ThePCB also has two 74HC595 shift register for driving either a POV wand or (as shown) a dual 5x7 LED matrix.
Taken with Centon MR20 ring flash on Canon 50mm macro lens on 30D body.
The Digilent Pmod MTDS is a gorgeous 2.8" touchscreen display with a powerful on-board microcontroller that performs graphics processing tasks. The display is a capacitive touchscreen with QVGA resolution (320×240) and 2 finger multi-touch support.
The most compelling aspect of the Pmod MTDS is the programming experience provided by its Multi-Touch Display System (MTDS) Firmware and the associated libraries. These allow you to design sleek, stylish user interfaces very quickly and with very little code. The timing dependent tasks are handled by the firmware, so integrating the display into existing projects is also a snap. Some of the key functionality provided by the libraries include the ability to draw basic shapes and text, draw images stored on microSD with binary transparency, draw buttons and easily check if they have been pressed, and check the status and location of the user's two fingers. The libraries are supported in Arduino IDE and Xilinx SDK, and have been tested with Ardiuno, chipKIT, and Arty host boards.