Here is a look at my Verge & Foliot escapement
in action
width="425" height="350">
value="http://www.youtube.com/v/YZE_34NTkZ8">
type="application/x-shockwave-flash" width="425" height="350">
Here is a look at how I am hooking up a PC KEYBOARD to my microcontroller - the PIC16F628.
I found an article on the inernet that explained the protocol of a PC keyboard. Not as bad as I thought! Only 2 lines for CLOCK and DATA. Other 2 lines for +5 volts and a return. The keyboard sends serially, but not the asciii codes themselvesw, but scan codes, which have to be translated. I had to do a lot of debugging of my code but I'm having success now.
I can also display alphanumeric data on my LCD, make it blink, and have it rotate across the screen. Much fun!!
SUCCESS with programming my alphanumeric LCD display!!!

Here is a picture of setup for experimenting with Ferromagnetic Core Memory.
On the left you will see a composition electronic card containing ferrite cores
which have been cemented right in the card. I have removed all the original wires from it. The next circuit to the right of it is a latching circuit with an LED which is designed to latch a signal coming in on the sense wire. There is other circuitry for the WRITE signal which magnetizes the core in one or the other polarity.

My purpose in doing these experiments is not for any practical reason such as using the core memory for data storage. Computer memory storage is already very much available today. But I wish to implement all the steps that are used in reading and writing this kind of memory. I have already a long list of terms and phenomena that are connected with magnetism in general, and ferrite cores in particular.
Hysteresis loop, domains, permeability, saturation, flux density, residual magnetism. A few years back, I was excited to learn that magnetism lies within the electromagnetic force, and actually stems from the spin of electrons in atoms, in very small areas called domains. In certain materials, the electrons can be forced to have the same spin, and this produces the magnetic force.
I am really excited in this new study and want to learn all about it. I might mention here coincident current, which is used to write to a particular core in a memory, by sending part of magnetizing current on one wire and part of it on another. Only where the 2 currents cross, is the threshold reached which is adequate to flip the core to the desired polarity.
Any way, there will be more!
I set up a circuit using one of my PIC microcontrollers to control an ADC0804LCN analog to digiital conversion chip. I measured the voltage on 2 AA batteries I had lying around. When I measured the batteries in series with my voltmeter, I got 2.81 volts. So after considerable circuit debugging and also debugging of my simple PIC program called ADPGM.ASM, I got the output which for the time was displayed in 8 LEDs. The output was as follows:
---MSB----------LSB
----1 0 0 1 0 0 0 1-----
In decimal that is 145. So:
-----145---- ---X-----
------------ = ---------------and X = 2.84
-----255--- ----5-----
Not bad ! My A/D chip can make a conversion in 100 usecs. So if I allow about 25 usecs for my computer pgm to store each sample voltage of an incoming signal, I could take 8000 samples a second !!!! Of course, my PIC program controls the number of samples I choose to take. I will be using this A/D converter to analyze speech and compare spoken words to some kind of template for comparing and identifying the words.
Well, I was looking for a new project, and decided I would use several PIC microcontrollers connected together. There would be some kinds of displays which would show menus to the users But the main thing would be that the computer would talk to the user, and the user would reply by voice.
So I have already mastered using the Chipcorder with which the computer can voice a variety of messages. But I also want the computer to be able to recognize "yes", "no" and maybe up to a dozen words and numbers.
So what is SPEECH RECOGNITION ?
Well, it entails accepting words spoken into a microphone, which will then be somehow processed electronically. So the analog sounds can be amplified and some kind of comparison made with a previously recorded template of some kind. One approach is to identify phonemes of which there are about 40 in the English language. Phonemes are the basic vowel and consonant sounds like oo,ah oh,ee, uh and k,t,p,ch,z,s sounds. Now I suspect my best tool for speech recognition will be DSP (digital signal processing). This involves changing the analog sounds to digitized form. It has been found that any analog values like
temperature, pressure, voltage can be processed much more effectively when they have been digitized. One computer byte of data has a binary range of value of from 0 to 255. So 2.5 volts on a scale of 5 volts might become a byte value of 127. After computer processing, the values can be changed back to regular voltage values.
So with analog sounds, we can digitize by taking numerous samples of the familiar waveforms. Sometimes it is hard to believe that the sounds of an entire symphony orchestra can be carried in a complex analog wave form. This sound
can evidently be effiiciently sampled and digitized as we realize when we listen to music on our IPOD.
I plan to experiment using my PIC microcontroller to sample sound signatures and find ways of comparing the digitized templates. It may even get to a case of pattern recogniton, since you can hardly expect to find exact matches. But it will be fun seeing what I find out.
I have already found there is a 40 pin speech recogniton chip for about $10. I may eventually wind up with something like that, but even setting that up will be very challenging as far as hardware and software implementation.
I'll let everyone know if I am having fun with this next project.
Here are some images I've generated on my
64 X 128 Graphic LCD
I have been using the PIC microcontroller to read the codes sent out from handheld remotes. I was even inspired to construct a maching that woulkd print out the various codes when I pressed one of the buttons on the remote. Here it is!
I got involved with this recently when Harold Parker of Parker Products in Reading, MA gave me a handheld remote and an IR receiver on a very small board to play with. I also found a good article in SERVO magazine for January 2005 on this subject. The IR signals are modulated on a 38khz carrier so that other stray signals can be filtered out. Other carrier frequencies are also used.
One favorite mode of sending the codes is PWM (pulse width modulation). In this method the 0's are send as a 400 usec pulse and the 1's are sent as a 1200 usec pulse. I programmed my PIC microcontroller to read these pulses and store the resulting data in memory. Note that this takes place in about 40 msecs. Once I have stored the data I can display it at my lesure with any means available. With my machine I chose to print out a red line on a strip of paper. Below is a sample.

Just yesterday I determined to find a way of producingelectronic bell sounds.
There are some challenges here. A bell sound is a damped oscillation, that is, the frequency remains the same but the amplitude diminishes to zero. Also, can I use simple square wave for frequency or do I have to produce a sine wave?
There is also the question of attack. I believe this is the high amplitude of the beginning of the bell sound.
What I invision are some very loud speakers and effectivey an electronic carillon system. Other challenges will be to set up one or more of my PIC microcontrollers to generate the original frequencies for different tones, and signals to drive relays that will turn power on and off in parts of the circuit to achieve the decay. I will be working with a range of big fat electrolytic capacitors
to provide a source of diminishing power when the main power is removed.
I will display some of my circuits as I go along. Eventually I hope to present some sound clips here on my blog. This should really be fun!!
Here is an e-mail I just sent to my friend George Gallant
all about a new area for me:
OBJECT DETECTION AND AVOIDANCE FOR ROBOTS
hi George
Last night I was writing some notes in my
journal and when I headed back to bed I
was saying to myself
"Larry Keegan - welcome to the world
of object detection and avoidance,
distance measuring,
wall-following and room corner navigating!!"
What I suddenly had a vision of was endless
complexities of working with 1,2 or 3 or more sensors
and the possible motions of the robot in identifying
and avoiding objects.
Yesterday I had just received in the mail
4 Sharp GP2Y0D340K sensors. You may be familiar with
this. It goes active low when it encounters an
object less than 40 centimeters in front of it.
I soldered one to a PC board, added a couple of components
and it tested nicely (but not hooked up to a robot yet).
What you have already been dealing with is
the vast amounts of software and accompanying algorithms
that may be necessary to utilize the sensing signals
and determine on a course of action for the robot.
There is also the possibility of one rotating sensing element
and the corresponding calculations that would be necessary
to ascertain the existing environment.
It also occurred to me that this might be an excellent area
for pattern recognition and neural network technology
which I have dabbled in years past.
After all this I will probably start out with a single
sensor up front, but I foresee a more practical
arrangement will be 3 sensors in front pointed in different
directions.
Well, George, if you don't mind I am going to throw this whole letter
out onto my BLOG, to let people interested know where I am
with the robots these days
Maybe you will share with me just how big a deal this business
of sensing obstructions and walls and mazes has been for you
and your sophisticated robot.
Hoping to hear from you,
Larry Keegan in Stoneham,MA
I am very much interested in building Stirling Engines. To start with I had 3 failures: a test tube Stirling Engine, a home brew Stirling Engine built out of a pneumatic cylinder, and a tin can Stirling Engine. Eventually, I got the tin can Stirling Engine to run for 15, 20 and 30 seconds.

I retired at the end of June, 1997. I have set up 2 six foot white countertops in my basement with overhead flourescent lighting. I have constructed some clock escapement mechanisms, a differential gear mechanism made of wood (which is like an analog adder), the Stirling Engines and a water pumping system with plastic tubing and a few solenoid valves for controlling the flow.
The Stirling Engine works on the idea that an enclosed parcel of air will expand when heated, and contract again when the heat is removed. When the air expands it can push an attached piston outward since the air pressure of the air parcel exceeds the outside air pressure. When the heat is withdrawn and the air contracts, the outside air pressure exceeds the pressure of the air parcel, and pushes the piston back in. Now the trick of a Stirling Engine is to move the air rapidly back and forth from the HOT END of an air cylinder to the COLD END of the cylinder. This is accomplished by a mass of material which moves back and forth in the cylinder. The material simply displaces the air from one end to the other for heating or cooling. Notice that the movement of the piston is approximately 90 degrees out of phase with the displacer motion.
For a STIRLING ENGINE project: http://www6.norfolk.infi.net/~babcock/stirling.html
Return to Main Page.