{ "cells": [ { "cell_type": "markdown", "id": "9tc0hvg3nb", "metadata": {}, "source": [ "# Inheco ThermoShake\n", "\n", "The Inheco ThermoShake is a combined heater-cooler-shaker.\n", "\n", "All variants share the same serial firmware and are controlled through an Inheco TEC Control Box via HID.\n", "\n", "| Model | PLR Name | Cat. No. | Shaking (rpm) | Footprint (mm) | Status |\n", "|---|---|---|---|---|---|\n", "| ThermoShake RM | `inheco_thermoshake_rm` | 7100144 | 100--2000 | 147 x 104 x 116 | PLR-tested |\n", "| ThermoShake | `inheco_thermoshake` | 7100146 | 100--2000 | 147 x 104 x 118 | PLR-untested |\n", "| ThermoShake AC | `inheco_thermoshake_ac` | 7100160/61 | 300--3000 | 147 x 104 x 115.9 | PLR-untested |\n", "\n", "See the [ThermoShake user manual](https://www.inheco.com/data/pdf/thermoshake-manual-1013-1049-33.pdf) for hardware setup. Connect the ThermoShake to an Inheco TEC Control Box via HID (install `pip install pylabrobot[hid]`)." ] }, { "cell_type": "markdown", "id": "iyjhvd0ewmi", "metadata": {}, "source": [ "## Setup" ] }, { "cell_type": "code", "execution_count": null, "id": "jdb9stxlizk", "metadata": {}, "outputs": [], "source": [ "from pylabrobot.inheco import InhecoTECControlBox, inheco_thermoshake\n", "\n", "control_box = InhecoTECControlBox()\n", "await control_box.setup()\n", "\n", "ts = inheco_thermoshake(name=\"ts\", control_box=control_box, index=1)" ] }, { "cell_type": "markdown", "id": "zftm4fgc8uj", "metadata": {}, "source": [ "The `index` parameter selects which slot on the TEC Control Box the ThermoShake is connected to (1--8). If you have multiple Inheco devices on the same control box, give each a unique index." ] }, { "cell_type": "markdown", "id": "d09ekquz3y7", "metadata": {}, "source": [ "## Multiple devices\n", "\n", "When using multiple Inheco devices on one control box, create each with a unique `index`:" ] }, { "cell_type": "code", "execution_count": null, "id": "3wnpwaknynj", "metadata": {}, "outputs": [], "source": [ "ts1 = inheco_thermoshake(name=\"ts1\", control_box=control_box, index=1)\n", "ts2 = inheco_thermoshake(name=\"ts2\", control_box=control_box, index=2)" ] }, { "cell_type": "markdown", "id": "vvjbyllpl7", "metadata": {}, "source": [ "## Teardown" ] }, { "cell_type": "code", "execution_count": null, "id": "18p0yuw8kd3", "metadata": {}, "outputs": [], "source": [ "await control_box.stop()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.11.0" } }, "nbformat": 4, "nbformat_minor": 5 }