Given that you can already program this is reasonable first project. But you do have some learning to do. We can help with that here.
Tools
-------
First you will need a programer. As a CS major you should have used a debugger. I suggest a PICkit2 or the Junebug (a PICkit2 clone with a built in tutor/target).
Hardware
----------
Getting a clean voltage supply in a car used to be a big deal. But since they put electronics in every car that coems off the line you can buy regulators for automotive use as standard and inexpensive parts. So start with a regulator designed to automotive use. Look at mouser, newark, or digikey. You need to start looking at datsheets for most every part you use.
For a processor I suggest you use a 18F PIC. An 18 pin unit should have enough IO pins to do what you need. If not step up to a 28 pin. I like the 18F1330 because it has 3 breakpoints instead of 1 like the 18F1320.
A graphic LCD display would be nice but start with a 4 line character display because they are easier to interface. You can upgrade latter.
To energize a relay you need a transistor to provide enough current to drive the coil.
Each switch input is connected to VDD (microprocessor power, +5V) through a pullup resistor. A switch between the resistor and the micro controller pin is used to ground the pin when pressed.
The rotory input is just a pot (variable resistor) connected to the micro controller analog to digital input. Think about useing a slide control instead of a rotory.
For the clock the easy way out is to use a I2C or SPI interfaced clock chip.
Parts cost should be about $30 excluding relays and the variable resistor/pot. Depending on you choice of relay I would expect an average of about $5 each. I would use a 500 mA automotive regulator maybe $3. The cost of LCD displays vary a lot. You may get buy with $5 to $10 for a surplus unit. The wrong new one could break the bank. Be sure to get one with a LED backlight. The clock chip is about $4. The PIC18 will be about $5 to $7. Newark has good prices on PICs.
Programming
--------------
I suggest the free student C18 compiler from Microchip.
This is simple enough that it can be written without interrupts.
Code:
...
void main(void)
{
// setup ports, ADC, and SPI or I2C
while(1)
{
// read clock chip
// display time
// read switches and other inputs
// set relays and any other outputs
// tickle watch dog timer
}
}
I suggest you start by getting a PICkit2, PICkit3, or a junebug. The Junebug has a 18F1320 (you can replace it with a 18F1330) with switches LEDs, and pots for working with adc. It would be a good choice for learning.
blueroomelectronics - Smart Kits Build Smart People
If you do not get a Junebug you will need an 18F target of some sorts. The PICkit's often come bundled with a target, make sure it is one you can use.
Once you have a programmer and target write a simple program to turn an LED on and off. The same code will turn on a relay. Learn to read a switch. Learn to send text to the LCD. Stir add a bit of salt.
EDIT: To monitor the cars working voltage you will also use the micro controllers ADC. You will either need a voltage divider to scale the voltage or maybe an opamp and some form of overvoltage protection. That can be ironed out after you make some progress.
3v0