i know you are already off and running, but i wanted to comment on this... maybe it will give someone else an idea of what is required.
Originally Posted by Adeering
Also not sure how many pins the things like temp probes and switches will take up
Heres the inputs I see having:
2 - temp probes
2 - basic on/off switches for pump
2 - ARM/DISARM switches for elements (idea will be when using them manually to flip these switches to arm the elements then use the LCD display/buttons to set temp and the PID library will control the output to turn elements on and off)
4 - buttons to control the LCD screen and set temps (Mode, Up, Down, Set)
1 - USB interface (this is already taken care of by the Arduino Mega ADK, this can interface with android devices through USB, which is perfect)
10 - total not counting the USB
Here are the outputs I see having:
2 - SSRs for the pump on/off control - assuming will need 2 pins
2 - SSRs for the element on/off that will be controlled by the PID library - 2 pins
1 - the USB interface can both send and receive so that will talk to the android
1 - LCD display to display whats happening and select temps for elements to hold - needs 11 pins
4 - Lights to show when pumps/elements are on
1 - Buzzer/Alarm for signalling temp has been reached
10 - total not counting the USB
there is a lot in that list that doesnt need to, or shouldnt, be taking up a pin on the microcontroller.
1-temp probes. you can chain up to several hundred DS18x20 temp sensors on a single input pin.
0- basic on/off switches for pump- pumps can be manually controlled, and probably should be
anyway so that they arent turned off when you arent around, lose prime, and start up and burn out on their own. you shouldnt need to be cycling the pumps more than a few times in a 6 hour brew day, so a manual switch should be fine. (unless you are going for 100% hands off automation...)
0 - ARM/DISARM switches for elements- this should be hard wired contactors with nothing in between to fail or have possible software bugs.
4 - buttons to control the LCD screen and set temps (Mode, Up, Down, Set)- OK
2 - USB interface- an atmega chip doesnt have on-board USB, so it uses two pins for TX/RX serial output. thisi is converted via intermediary chip to USB out
0 - SSRs for the pump on/off control- these should be on their own circuit; a simple on/off switch wired to power. an indicator light can be added directly after the switch.
2 - SSRs for the element on/off that will be controlled by the PID library -OK
11 - LCD display to display whats happening and select temps for elements to hold- OK (but there are many other ways to do this)
1- Buzzer/Alarm - OK
only thing im not sure about is the android interface. my guess would be that it will interface with either the serial TX/RX lines, or the FTDI chip that interfaces serial<>USB, so no additional pins are needed.
so you will need 10 pins, plus the LCD display for a total of 21. there are ways of driving an LCD with 5-8 pins, depending on the size of the display and on any intermediary controllers attached to it. you can also have the arduino stream the data to something else, so you wouldnt need 11 extra pins. so this number could be reduced if needed.
so this could be done with an arduino mega if you wanted to keep the 11-pin LCD display, or even with a arduino pro mini if you had some other way of displaying the data (like on a PC or something, streamed out via serial/USB).