Home || About || Blog || HTML || Journal || Links || Phillies || Squeak || Tech121

Chris' River Extension — Technology 121

appleCrateForth

technology.121: Microcontrollers and Embedded Micro-electronics

technology.121.0: Christopher W Hafey (chris)  Sat 24 Dec 05 08:53

 
 +---------------------------------------------------------------------------+
 |                                                                           |
 |               _                                                           |
 |   _ __ ___   (_)   ___   _ __    ___                                      |
 |  | '_ ` _ \  | |  / __| | '__|  / _ \   _____                             |
 |  | | | | | | | | | (__  | |    | (_) | |_____|                            |
 |  |_| |_| |_| |_|  \___| |_|     \___/                                     |
 |                                                                           |
 |                          _                    _   _                       |
 |    ___    ___    _ __   | |_   _ __    ___   | | | |   ___   _ __   ___   |
 |   / __|  / _ \  | '_ \  | __| | '__|  / _ \  | | | |  / _ \ | '__| / __|  |
 |  | (__  | (_) | | | | | | |_  | |    | (_) | | | | | |  __/ | |    \__ \  |
 |   \___|  \___/  |_| |_|  \__| |_|     \___/  |_| |_|  \___| |_|    |___/  |
 |                                                                           |
 |                                                                           |
 +---------------------------------------------------------------------------+
 
  Embedded microelectronics.  Construction of new types of computing devices.
  Revisitation of some old types of those devices.
 

technology.121.1: Christopher W Hafey (chris)  Sat 24 Dec 05 10:12

 I once saw a device that could be described as follows:
 
 A piece of plywood eighteen inches wide by perhaps 14 inches, set in a
 vertical plane, as to make a front panel.  Mounted on the panel were eight
 incandescent bulbs -- small ones, operating on perhaps 12 volts DC.  They
 were called pilot lamps, and had spring-loaded bayonet fixtures to hold
 them (each bulb has two small round tangs sticking out the sides of it,
 like the bolts on Frankenstein's Monster's neck).
 
 The lamps were in a single row, evenly spaced.
 
 Next to and below them was a telephone dial -- the round kind you put your
 finger in, and traced around a circle, to dial the phone.  It was
 spring-loaded, and had a finger stop at about the four o'clock position.
 
 I was invited to dial a single digit number, so I did.  As soon as I
 released my finger from the stop (I dialed a 7, maybe) -- the dial sprung
 back (counter-clockwise) to the neutral position, but this took a short
 while to complete -- there were gears (or something) in there that slowed
 it a bit.
 
 As the dial worked its way back to neutral, something I'd never seen
 happened.
 
 The lamps on the panel started glowing, but not all of them at once;
 instead, they'd blink on and off like Christmas tree lights sometimes do.
 Moreover, I could see there was some sort of a pattern to it -- that it
 wasn't just dumb blinking, but some interrelationship existed between all
 the lamps as they alternately turned on and off.   This all happened pretty
 fast, and I wanted to see it again!  I fooled with it for a while, and
 began to discern a pattern:
 
 
  1.   OFF  OFF  ON
 
  2.   OFF  ON   OFF
 
  3.   OFF  ON   ON
 
  4.   ON   OFF  OFF
 
  5.   ON   OFF  ON
 
  6.   ON   ON   OFF
 
  7.   ON   ON   ON
 
 That was crazy!  But it was neat.  And it would do it in a way that was
 entirely predictable.
 
 Now the truth is, I don't know if this ever really happened.  I don't
 remember a thing about it, other than I knew all about the .. the user
 interface I just described.  I don't know if I saw it in a magazine, or if
 someone had brought this thing to school -- or what.  The memory is gone
 of how I was exposed to this machine, but I am sure I understood all about
 it.
 
 Well, not everything -- it has bothered me for many years as to the very
 simplest way to construct an identically-functioning machine, just like
 the one I remember.  I've learned many ways to fake the same effects, but
 the charm of it .. the original ..  that's peculiar to the prototype I
 'saw'.
 
 All I can think of today is that the person constructing this machine must
 have used transistors (and not too many of them) and just a handful of what
 are called 'passive' components, such as resistors and capacitors (which
 even today are the building blocks of many kinds of electronic circuits).
 
 TODAY I am constructing a similar machine.  I do not have a proper phone
 dial, but I can simulate that with a standard computer keyboard, or in
 any number of ways.  The main feature will be the lights, which in this
 case will be colored light-emitting diodes, that have nice optical lenses
 on them to enhance their presence (the lenses spread the light a bit and
 one type, especially, gives a nice rounded appearance -- the light is
 diffused throughout a 3/16" half-sphere of translucent red plastic -- the
 so-called 'optics' of the single LED).
 
 The machine has 32 of them .. the LED devices .. on its front panel.  It
 is being constructed out of an apple crate I bought from bookcrates.com
 (I have about fifteen of their crates).  The crate is turned on its side
 (as if to make a bookshelf out of it) and occupies the left side of my
 workstation.  I took two pieces of white pine shelving and fashioned the
 front panel out of them (it's a bit thick).  As it turns out these crates
 are the exact dimension as 19" rack-mount .. a nice bonus; it means I can
 design for that form-factor and eventually transplant the insides to an
 aluminum rack-mount enclosure.
 
 I've worked out the details and have implemented already, several so-called
 'peripheral' devices, including a real PC-AT keyboard, a 40-character by
 2-line LCD (liquid crystal display), and have started construction of a
 6-digit 7-segment LED display (like many digital alarm clocks use).  Each
 thing has to be considered, a schematic drawn, and then the wiring and
 other construction has to take place before it's realized in a form that
 others can appreciate (or at least interact with).
 
 Between the keyboard and display, I've created a tiny word processor on
 the device -- all the PC-AT keyboard keys perform functions as one would
 expect; backspace moves to the left and erases; cursor arrow keys navigate
 the text without doing violence to it, and all the rest.  The function
 keys are currently 'mapped' to execute programs I've written for the
 machine.  For example, F5 invokes a 2-line calendar program for the
 current ISO week:
 
  +----------------------------------+
  | Mo Tu We Th Fr Sa Su CW December |
  | 19 20 21 22 23 24 25 51   2005   |
  +----------------------------------+
 
 and shift+F5 invokes the calendar for the week after this (current) one.
 There's a clock chip in the machine (I had to wire it up and hook it up
 to an 'iic' bus .. a 2-wire interface) that keeps the correct, current
 time, and it is also a 4-year calendar and knows what day of the week
 it is.  I've worked out how to display hours, minutes and seconds of
 the current time, on the LCD, in a pleasing way .. but have not yet
 worked out the details to display (or set!) the year, month or calendar
 date.  When I do, the calendar invoked with F5 will then track by itself;
 right now I fake it by programming it (anew) once a week!
 
 I found the 7-segment LED display to be a bit tedious to rig; there are
 an awful lot of connections to make to get up to 6 digits displayed on
 the front panel.  The displays themselves are simply 7 LEDs configured
 into a single plastic module, and shaped in a way that the segments, when
 lit, resemble numbers:
 
       a
      ---
   b |   | c
     | d |
      ---
   e |   | f
     | g |
      ---  .
 
 So to get a 7, light up segments a, c and f.  There's also a decimal point
 segment, so in fact it's an 8-segment display, but traditionally it is
 called a 7-segment display to indicate its special use in representing
 numerals in various computing devices.
 
 
 Right now, I have the entire front-panel torn down to the wood -- I needed
 to rework the wood to fit in both the 32-LED 'binary' display as well as
 the 7-segment display (6-digits).  The 6-digit 7-segment display was taking
 far too long to complete, so I decided to do the binary display in the
 interim, and made one more refinement -- I split the pine shelving for the
 front panel lengthwise, to get two narrower panels out of it.  That took a
 while because I did it by hand, starting with an x-acto knife, and when
 I'd grooved it deep enough, began with a (back-cut?) saw .. the kind they
 sell with mitre box saw sets (I don't have the mitre box).  I strapped the
 wood across my knees with a belt, and worked the saw back and forth in the
 groove, until it was nearly all the way through (at least 45 minutes work).
 Then I finished on a table, so I wouldn't cut into my blue jeans.
 
 I also used the saw in reverse, pulling on the end of the blade opposite
 of where the handle was, towards me; closing one eye and keeping the saw
 blade so the light fell on both sides exactly evenly.  It came out pretty
 good; both pieces stand on edge without falling over, which is my basic
 test for 'square' in a hand cut.
 
 
 What makes the whole electronics system go is a plastic package the size of
 my smallest fingernail -- all the programmable computer-like circuits are
 inside that package (which costs about six dollars today).  Getting that
 package mounted on a substrate so that all the wires that lead from it can
 be connected-to -- that proves to be more of a problem.  The soldering
 techniques required, and the fabrication of the circuit board it is 
 mounted on -- those tasks are beyond me today (I'm looking into options
 on how to proceed).  Instead I bought a completed module from a vendor;
 what they do is mount the chip on a postage-stamp-sized circuit board, with
 lots of pins (like the pin-headers a computer hard disk connects with).
 That gets plugged into a backplane that distributes the signals to the
 other parts of the system; all these things are done on a scale that the
 hobbyist can work with, without special tools or techniques (though any
 one task still seems a bit tedious to me).
 
 I haven't decided where I'm going with any of this; the initial point was
 to learn to connect a few peripherals to the microcontroller chip, and to
 program it efficiently (it has a 16,000-character memory in that fingernail-
 sized chip!)
 
 The chip is the silabs C8051F310 ( www.silabs.com ) and it is an 8051
 variant ( www.8052.com .. not a typo; apparently that's how they decided to
 name that domain).  The 8051 was introduced by Intel, I believe, quite a
 long time ago; it is a well-known industrial chip and is still (in its
 myriad of variations by many vendors) very much in use today.
 

technology.121.2: Earl Crabb (esoft)  Tue 27 Dec 05 23:28

 photos?

technology.121.3: Christopher W Hafey (chris)  Fri 30 Dec 05 23:12
 <response to #2>

 not yet.  Maybe in the spring.

W3C HTML Validation Service

W3C CSS Validation Service

HTML 4.01 Transitional validation URL for this page

CSS validation URL for this page

Valid HTML 4.01 Transitional   ||  Valid CSS   ||  OSUNY   ||  Twitter   ||  any browser


Current Terror Alert Level: Terror Alert Level 

 

 

 

    Solar X-rays:     Solar X-rays Status           Geomagnetic Field:     Geomagnetic Field Status

 


September 1, 2007
Copyright © 2005, 2006, 2007 Christopher W Hafey


md5sum for everything up to here: --->

... appears, below.

$ head -388 index.html | md5

eadd758f5532a436cc0c295776deb67e