Comments on my project

Hi Guys,

I am a radio ham and I want to see if the Arduino Diecimila is suitable for my new project.

I want to make a tuning control for a radio. I am going to use a rotary encoder for the "knob" (3 digital pins), a 2 x 20 line Hitachi LCD display to display the frequency (6 digital pins), a 4x4 keypad (8 pins) for direct frequency entry and an Si570 oscillator chip to generate the frequency (I2C 2 pins). Getting the Si570 on the right frequency requires the calculation of a 32 bit number which is then passed to the Si570 via the I2C interface.

I also want to be able to control the Si570 from software running on the PC via the USB port on the Arduino. So I need to use one pin to tell the arduino if it, or the PC has control.

My initial thoughts are that I have insufficient digital IO pins, the Diecimilia has 14 and I need 18. One way around this might be to use an analog pin to interface with the keypad via an array of resistors configured so that when a button is pressed a unique resistance is presented to the pin. Or I could use a serial LCD but these are expensive, or an I2C lcd but i am not sure if these can share the same bus as the Si570.

Er, thats it...other than I have some "old school" programming skills...and this is my first Arduino project....

Comments, advice gratefully received...

All of the analog inputs can also be used for digital inputs. Problem solved.

It's probably also worth noting that rotary encoders only require two pins - the other one is either a ground or power pin. Also, if you want to be able to use the USART to communicate to the PC, pins 0 and 1 are already taken up. Thus, if you want to reduce pin count, it would be a good idea to use a shift register (you could drop your LCD to use only three pins, and probably use two shift registers with the keypad, making that lower as well).

Take a look at this arduino shield I made to teach myself Morse code. It has an LCD, 6 buttons, buzzer and you can put RJ45 connectors on to connect to other stuff. You could use an up and a down button to change frequency using my library. You don't have to use my hardware if you have similar hardware already.

Guys,

Thanks for all your help...I'll post my results here...

Steve