Thanks to my brother for giving me an Arduino I've been playing around with it ever since Christmas. It took me a bit to figure out a first 'real' project to start with but I think I found an interesting one.
So having a GPRS radio (like an FRS but stronger and requires a license) I always hear quick blips of morse code coming across the channels. It probably has to do with being near a few air fields but I'm interested in what it is saying. So without becoming an expert in morse code I'm writing a program for the arduino to decode it :)
There's a few things that need to work for this:
1. Sample rate: the arduino needs to sample the analog signal fast enough to convert it into dots and dashes. This can be accomplished by counting the milliseconds that the tone is active and storing it for each 'bit'. A completed phrase will have a significant pause when done. I'll take this array and send it to the decoder for processing.
2. Decoding: Assuming this is a computer transmitting it makes it somewhat easier since the dot and dashes will be consistent. For instance I could assume a dash is 2x the time of a dot. If I wanted to decode a human operated control I would need to dynamically detect time segments between each beep as they can vary.
3. Text interface: Since I dont have a LCD display yet I'll just dump it to the serial port and require a computer to communicate.
4. Transmitter/receiver: I have a few GPRS radios around and will interface with the headphone port to get what I need for input/output. I will need to find a way to convert the tone into a semi-digital signal but that can be done with a bridge and a very small cap. For the output I will need to make a tone generator of around 700Hz (maybe faster for a quick transmit) which will be controlled by a pule form the arduino**.
5. Interface: I need to come up with some key words to control the transmission rate and other variables. I.E. typing "rate=60" in the com console to set the time on-off for a dot. That way if I'm talking to someone manually operating (highly unlikely) they can decode it.
**I don't plan on transmitting/responding to those signals I'm hearing since it could be the military base near by! HAHA, I wouldn't want an invasion in the middle of the night :)
EDIT: I've noticed a lot of hits for this project and thought I would link part 2:
http://davidgrundmann.blogspot.com/2010/06/arduino-project-morse-code-part-2.html
Subscribe to:
Post Comments (Atom)
I have a scanner and keep picking up Morse code transmitted from a nearby university. I want to do the exact same thing as your application. It sounds like you have more experience with designing the electronics that will interface an audio signal to a digital one. I've got a headphone out on the scanner and can easily build the interface circuitry, just not design it.
ReplyDeleteI am looking forward to your progress on the project, and wish that I could contribute to the effort. My expertise is more mechanical design than circuit design or coding.