Arduino Keyer
Here is the project that I was testing on Saturday...
The first board tested out pretty well. I made a short list of tweaks that I wanted to add to the next board. All-in-all I am extremely pleased with the project.
73 de NG0R
Here is the project that I was testing on Saturday...
The first board tested out pretty well. I made a short list of tweaks that I wanted to add to the next board. All-in-all I am extremely pleased with the project.
73 de NG0R
It has been a cool & damp start to June. In our area we should be averaging just over an inch of rain a week right now which has not been occurring so far this year. The areas around us are getting rain, just not at our home.
The garden is just starting to pop up (it was planted Memorial Day weekend which is a little later than previous years. The grass is growing extremely fast with the damp grey days. The bugs have been very minimal so far this season. Virtually no flying bugs through 6/9. The ticks seem worse than normal this year.
6/11 at 7pm. It is 74F outside. I just opened the doors to the garage to work on a project and I spotted the first mosquito of the season. --Wow, they are thick!
I am working on getting ready to test the first prototype board (beyond a simple breadboard layout.) --Check the end of the post for a updated notes
JP1 is a connection to an I2C LCD
JP2 is a connection to an I2C DS1307 real time clock
JP3 will header connection for a 1/8" stereo plug for the keyer
The mini-din is the PS2 keyboard
I am working on a board layout that I run on my CNC mill for the first PCB test of the project. With some luck maybe I can try to mill out a board tomorrow night after work.
73 de NG0R
PS.... three errors in the drawing that I am aware of right now.
We spent the weekend camping with friends at Myre Big Island State Park near Albert Lea, MN.
We were camping with a couple of other families (RV, Radios, Quilting) which is a once year trip for this group. We expected rain through-out the weekend so we projects and reading material to occupy us while it was raining.
I hacked out a method to extend a tarp from our awning beyond the end of the picnic table so that we had a nice dry area to hang out. I spent a couple of hours Saturday afternoon with the KX3 and Arduino based keyer that I am prototyping potentially for Field Day use. I figured that it was worthwhile to test it in the field. I brought an Ubuntu laptop with my project files so that I could tweak and upload code if needed. I tracked down a couple of items to tweak so the afternoon was pleasant and relaxing.
It drizzled and rained so the camping was less than stellar but it was nice to see our friends and I enjoyed some downtime away from work and the house.
I am working on an Arduino based based CW keyer for Field Day use. I want to be able to use a PS2 keyboard for CW, RTTY, and PSK31 with my KX3 without the need for a laptop. --So far so good.
I wanted to leverage an existing PS2 keyboard library vs. re-inventing the wheel. Get a hold of and installing the library only took a couple minutes. Here are two sites that will help walk you through the process:
I used the K3NG files (they have more detail) and dropped them into my Library folder in my Arduino directory and I was rolling.
As I started testing the extended keys that I would need for Field Day macros (Function keys, shifted function keys, etc) I noticed a problem. They would not show up in the serial debug display. I battled this problem off/on for about 4 hours. My friend Google was not much help. I knew that it had something to do with the library but I was not exactly sure what or why. Eventually I worked out the problem and a solution.
I hacked together some code to display the keyboard character (if known) then the hex representation, and then the decimal representation.
#include <PS2Keyboard.h>
const int DataPin = 7;
const int IRQpin = 2; //clock
PS2Keyboard keyboard;
void setup() {
delay(1000);
keyboard.begin(DataPin, IRQpin);
Serial.begin(9600);
Serial.println("Keyboard Test:");
}
void loop() {
if (keyboard.available()) {
// read the next key
char c = keyboard.read();
//print out the debug info
Serial.println ("--------------");
Serial.println ("Char, Hex, Dec");
Serial.print (c);
Serial.print (",");
Serial.print (c, HEX);
Serial.print (",");
Serial.println (c, DEC);
}
}
That piece of ugly code gave me the info that I needed. As it turned out there was no ASCI character mapped to those keys. To make this more difficult the raw Hex was a negative number so it did not match ANY of the references that I was looking at.
Using this new found knowledge I was able to edit the PS2Keyboard.h file in my library to include definitions for the newly found values. Here is the updated library. Here is the updated test harness showing the function keys. (With the new knowledge it only took about 20 minutes to map things out and test the solution.)
While my learning curve on this issue was kind of steep I did manage to find a way to solve it that I can re-use in future projects. Now I need to get back to my real project which was to interface a PS2 keyboard into my keyer software... Field Day 2013 is coming up quickly and I am ubber short on project time.
73 de NG0R
I need to hook-up a PS2 keyboard to an Arduino for a project that I am working on.
I milled a couple of pads on my CNC mill, then trimmed the board down to size with my brake, and then super-glued down the PS2 socket. I then soldered on some jumpers from the important pins to my pads.
All that is left is to connect wire jumpers from the pads to the pins on the Arduino.
73 de NG0R
This year the annual Hoaglun & Christie families camping trip was located at Maplewood State Park. (a Minnesota State Park)
The weekend worked out pretty nicely. The weather was cool and windy but we largely missed the rain over the weekend once we got through Friday evening. The kids caught multiple stringer-fulls of pan fish and a few northern-pike. We had fish for many of the meals through the weekend.
Summary for the month of May:
Other portions of the state are extremely wet this month but we have only gotten 3.625 inches of rain and lots of grey and wind at our home. We have had an extremely cool, damp, and windy spring (if you would even call it spring.)
Ben (12) and I spent the majority of our weekend working on our Kubota BX2350 tractor. A while back I broke off the plastic fan blades on the drive shaft in front of the transmission while I was landscaping at a friends house. Some small braches popped up at exactly the wrong time & spot and the plastic was no match since the mower deck was not installed during that project. This is a very typical repair on the BX1850, BX2350, and BX24 family of tractors.
The problem is the drive shaft runs through the center of the fan and there is NO easy way to remove it. It is a captive part. This is a $500-$1000 kind of repair at a shop, not because it is hard, but because it is labor intensive. I have more time than money so I decided to tackle it myself with the aid of one of my sons.
We spent most of Saturday removing the floor panel, the roll bar, the rear fenders, the hood, the engine surround, brackets, etc. Once that was done we loosened up the motor mounts and the radiator surround.
The motor was too heavy to move without an engine hoist so we made a run to the store for a new "tool." We now own a nice 1 ton engine hoist.
Sunday afternoon we lifted up the motor a couple of inches and shifted forward a couple of inches. A few minutes later the drive shaft was loose and the fan was swapped out. When started the reassembly process.
By the time the dinner bell rang Sunday night the tractor is about 90% reassembled. I need to tighten up all of the bolts for the floor & vendors then install the seat and battery.
I will need to order the little black plastic clips that hold the floor mat in place and a new fan belt. While we were working on the project I noticed that the engine fan belt is starting to separate at the seam. I discovered that the fan belt is captive which means that we will need to drop the front portion of that same drive shaft. Luckily I don't think that it will take more than an hour to complete that job. I need to change the engine oil and the tranny fluid as part of my spring maintenance so it is not a big deal.
With a little bit of luck I should be able to find some time one night this week after work finish up the initial project. It was awesome to have Ben(12) help out on the project. Having a second set of hands was priceless on the project and really reduce the time and frustration of tackling this project solo.
It appears that there are a lot of whisper stations on 20m.
The KX3 has been listening to 20m WSPR using my 160m antenna (shunt-loaded tower) for the better portion of the day. It is amazing how many people are playing with this week signal mode. (VE1JF was a 6m signal)
73 de NG0R