Can Arduino Uno run a tacho and a thermostat controlled heater at the same time.

Im trying to monitor the speed of a break beam sensor and control temperature at the same time. This project is not unlike what happens when a three d printer maintains hot end temperature while also Controlling a stepper. Instead we want to monitor a thermostat, control a heater, and read out the speed of a break beam. It is of course possible to do each one with a dedicated chip, but my question is can an UNO handle the code and support the wiring to do both? The Tacho does not need to feedback loop to a motor. Just read speed to an led. (Guess we will need Pinout for that too...) Not also needing to feedback may simplify the code and free up chip pins to help allow for the heater to run on the same chip as a tacho and led.

C-Looper: Im trying to monitor the speed of a break beam sensor and control temperature at the same time. This project is not unlike what happens when a three d printer maintains hot end temperature while also Controlling a stepper. Instead we want to monitor a thermostat, control a heater, and read out the speed of a break beam. It is of course possible to do each one with a dedicated chip, but my question is can an UNO handle the code and support the wiring to do both? The Tacho does not need to feedback loop to a motor. Just read speed to an led. (Guess we will need Pinout for that too...) Not also needing to feedback may simplify the code and free up chip pins to help allow for the heater to run on the same chip as a tacho and led.

Maybe.

The uC is a single threaded device ... so if your two applications were written as functions then the mail loop{} would simple by something like:

loop()
{
     function1();
     Function2();
}

So looking at the above you can see that the two processes are separate. If they BOTH run very fast and never get interrupted, then loop() repeats very fast.

Is it fast enough is the question you should be asking....

Ray

Sure... Look at the "sticky" at the top of the forum about doing more than one thing at a time.

The processor can only execute one instruction at a time so in order to "multitask" you have to switch between tasks. But, you don't have to read the temperature thousands of times per second... For example, ever second or so, you can break-away from the reading the tach to do some temperature control for a few milliseconds.

You also don't need to update the display thousands of times per second (and you probably don't want to 'cause you can get a blur), but you may want to update the display a few times per second.

And if you think about it, you don't need to read RPM continuously because motor speed doesn't change instantly. (Think about how you glance at the tach & speedometer periodically... You don't continuously stare at them...)