# Dual magnetic stir controller ## Overview This is the Arduino sketch to build a double magnetic stirrer based on 2 fans, a 1602 LCD display, a KY-040 encoder and an Arduino (e.g. Uno, Leonardo, Pro Micro).

In order to put the stirrer into operation you have to change the settings in stir.ino according to your setup. ## Overview of Functions All functions are controlled by the KY-040 encoder: * **Press briefly:** change between menu, stirrer 1 and stirrer 2 * **Turn when menu is selected**: change between menu items (SPEED, BOOST, BTIME, CATCH, CTIME) * **Long press when menu is selected**: Lock all functions (unlock also by long press) * **When a stirrer is selected**: * **SPEED**: turn sets speed, long press switches stirrer on or off. * **BOOST**: turn sets boost speed, long press activates/deactivates the boost function (running time is shown in the display). * **BTIME**: turn sets the boost time in minutes. * **CATCH**: turn activates/deactivates the fishing function * **CTIME**: turn sets the interval in minutes for the fish catching function ## Display Indicators: * **Bottom Left**: Menu * **Bottom centre/right**: Displays the set values for the stirrers depending on the selected menu item. * **Top Center/Right**: Displays the current stirrer speed (or 'OFF' or 'CAT' (Fishing)). * **Top left**: shows the remaining time of the boost function. ## Settings (in stir.ino) |Value|Description| |:----|:----------| |SPEEDINC|increment of speed values when turning the encoder| |FANMIN|fan minimum speed| |FANMAX|maximum speed of the fan| |RINTERVAL|regulation interval (ms)| |RDELAY|extra regulation delay when value changes| |CATCHSTOP|stop interval for stir fish catch function| |PWM0, PWN1|PWM output pins| |I0, I1|interrupts for rpm measurement (2 and 3 for Leonardo and ProMicro / 0 and 1 for Uno)| |CLK, DT, SW|pins for KY-040 encoder| ## Schematics