I’m looking for confirmation if I’m going about this the right way. I have made the attached breadboard view, but getting weird results. So I’m doubting if I did something wrong or forgot certain connections or resistors.
The thing that is happening is that my RPM reading is way off most of the time, except when its off (0) and most of the time when its at full speed (800 rpm). I get reading from 15000 or 30000 when something changes. Now I noticed, when using another 5v power source than the Arduino, bypassing the breadboard, I get perfect readings. Of course the temperature readings do not work anymore, but when I manually switch the speed via the code its spot on.
So what’s happening here? I don’t get it. The used resistor is a 4.7k Ohm.
Eventually I want to have 4 tempsensors and 3 fans running, but first focus on getting everything right with the first one of each.
Here the situation with the bypass via a buck converter and not using the temp sensor.
And this is the "normal" situation with the issues but it does read the temp correct and switches the fan etc. Just does not report the rpm correct.
In the second one you seem to be switching 0V to the Arduino ground through the relay, if I am following it correctly. Also that ground takes a long and tortuous route through far too much breadboard conductor, which probably has a high resistance.
All that with the caveat that Frizzing diagrams are horrible to follow.
The relay requires too much current than an Arduino should be supplying. Use the first "setup' and add the 5V from the buck convertor to the breadboard rails and don't use the Arduino 5V for anything other than powering itself.
True ------ when working with circuits, it is beneficial to know in advance the power requirements ------- (voltage and current). Eg. how much power (linked to voltage and current) is required by a device that needs to be powered up by a power source, and how much power can the power source put out?
Or for a case of one circuit driving another circuit ------ can the source circuit (driving circuit) supply the required amount of power (linked to voltage and current). If a source or driver isn't able to supply the required amount of power, then there's going to be issues with system performance.
Can you post a picture of your project please so we can see you component layout.
Make sure your protoboard has continuous red and blue/black power lines down the edge, some break the lines halfway.