diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle index 1be610d42e0b52207c0ac72e7759212d7e5179f7..fc06bd3fd53069e9c17089c9ccf70e9300d54479 100644 Binary files a/doc/build/doctrees/environment.pickle and b/doc/build/doctrees/environment.pickle differ diff --git a/doc/build/doctrees/source_rst/v1.xx/V1_01.doctree b/doc/build/doctrees/source_rst/v1.xx/V1_01.doctree index 6af62847154df95d17a287380aa235180ca69572..1322858b88f4bd093f11f25f6d831a74a4b0289c 100644 Binary files a/doc/build/doctrees/source_rst/v1.xx/V1_01.doctree and b/doc/build/doctrees/source_rst/v1.xx/V1_01.doctree differ diff --git a/doc/source/schema_measurement_board.jpg b/doc/build/html/_images/schema_measurement_board1.jpg similarity index 100% rename from doc/source/schema_measurement_board.jpg rename to doc/build/html/_images/schema_measurement_board1.jpg diff --git a/doc/build/html/_sources/source_rst/v1.xx/V1_01.rst.txt b/doc/build/html/_sources/source_rst/v1.xx/V1_01.rst.txt index 474ea7091e8488a305cecd947b1db10e4ec4c63c..3c8d95940b68fcd85dd5ff435d394a3a4e4cfaf4 100644 --- a/doc/build/html/_sources/source_rst/v1.xx/V1_01.rst.txt +++ b/doc/build/html/_sources/source_rst/v1.xx/V1_01.rst.txt @@ -62,7 +62,7 @@ For this step, the installation instructions are well described on the Raspberry .. note:: All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian: - .. figure:: raspbian_version.jpg + .. figure:: ../../img/raspbian_version.jpg :width: 800px :align: center :height: 400px @@ -162,7 +162,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt 2- Thonny opens, Python runs on the root (Python 3.7.3 (/usr/bin/python3)) -.. figure:: thonny_first_interface.jpg +.. figure:: ../../img/thonny_first_interface.jpg :width: 600px :align: center :height: 450px @@ -171,7 +171,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt 3-Click on **Run>select interpreter**, a new window opens click on interpret -.. figure:: thonny_option.jpg +.. figure:: ../../img/thonny_option.jpg :width: 600px :align: center :height: 450px @@ -180,7 +180,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt 4-On the new open windows select **alternative Python3 or virtual environment** -.. figure:: thonny_interpreter.jpg +.. figure:: ../../img/thonny_interpreter.jpg :width: 600px :align: center :height: 450px @@ -193,7 +193,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt 7- In the **known interpreter** tab the path of the virtual environment should appear -.. figure:: thonny_interpreter_folder.jpg +.. figure:: ../../img/thonny_interpreter_folder.jpg :width: 600px :align: center :height: 450px @@ -246,7 +246,7 @@ A shortcut between Electrodes A and B will generate excessive currents, whose in A lithium ion battery or automobile-type lead-acid battery can deliver a strong enough current to damage the board and, as such, constitutes a potential hazard. We therefore recommend adding a 1.5-A fuse between the battery and resistor R9. -.. figure:: schema_measurement_board.jpg +.. figure:: ../../img/schema_measurement_board.jpg :width: 800px :align: center :height: 400px @@ -303,7 +303,7 @@ Once all the components have been soldered together, the measurement board can b battery terminal, according to Figure 9. Between the battery and the TX+ terminal of the measurement board, remember to place a fuse holder with a 1.5-A fuse for safety purposes. -.. figure:: measurement_board.jpg +.. figure:: ../../img/v1.xx/measurement_board.jpg :width: 800px :align: center :height: 500px @@ -312,7 +312,7 @@ place a fuse holder with a 1.5-A fuse for safety purposes. Measurement circuit board assembly: a) printed circuit board, b) adding the 1-KOhm resistors ± 1%, c)adding the 1.5-KOhm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers -.. figure:: measurement_board-2.jpg +.. figure:: ../../img/v1.xx/measurement_board-2.jpg :width: 800px :align: center :height: 700px @@ -336,7 +336,7 @@ the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by t the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized, they remain in the normally closed position. This set-up offers a simple and robust solution to inject current. -.. figure:: current_board.jpg +.. figure:: ../../img/v1.xx/current_board.jpg :width: 800px :align: center :height: 400px @@ -353,7 +353,7 @@ the relay card’s 4 channels respectively to the GND pin and 5Vcc of the Raspbe shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively to terminals B and A of the measurement board. -.. figure:: installation_current_board.jpg +.. figure:: ../../img/v1.xx/installation_current_board.jpg :width: 800px :align: center :height: 700px @@ -390,7 +390,7 @@ configuration enables making smaller multiplexers (8 or 16 electrodes only). On which is entirely possible, a GPIO channel multiplier will have to be used. To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown below. -.. figure:: multiplexer_implementation.jpg +.. figure::../../img/v1.xx/multiplexer_implementation.jpg :width: 800px :align: center :height: 500px @@ -409,7 +409,7 @@ Once the operation has been completed, the 16 control pins of each 16-channel re for activating each relay (Fig. 12). However, we will be activating several relays with a single GPIO (to limit the number of GPIOs used on Raspberry Pi, see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Figure. - .. figure:: connection.jpg + .. figure:: ../../img/v1.xx/connection.jpg :width: 800px :align: center :height: 400px @@ -451,7 +451,7 @@ At this point, all that remains is to connect the electrodes of each multiplexer According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in the following Figure. -.. figure:: cable.jpg +.. figure:: ../../img/v1.xx/cable.jpg :width: 800px :align: center :height: 300px @@ -464,7 +464,7 @@ the next figure provides an example of multiplexer relay connections for electro must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block. This operation must be repeated for all 32 electrodes. -.. figure:: electrode_cable.jpg +.. figure:: ../../img/v1.xx/electrode_cable.jpg :width: 800px :align: center :height: 800px diff --git a/doc/build/html/searchindex.js b/doc/build/html/searchindex.js index a9bed32ad68e934d4f1dacc7cc1b0d7827e89417..1512b69069adaf016b1492ac4d88c2a95e7fd5a9 100644 --- a/doc/build/html/searchindex.js +++ b/doc/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["developing_hardware_components", "index", "source_rst/Ohmpi", "source_rst/V2023.x.x/V2023", "source_rst/V2023.x.x/V2023_step_01", "source_rst/V2023.x.x/V2023_step_02", "source_rst/V2023.x.x/V2023_step_03", "source_rst/V2023.x.x/V2023_step_04", "source_rst/V2024.x.x/V2024", "source_rst/api", "source_rst/v1.xx/V1_01", "source_rst/v1.xx/V1_02"], "filenames": ["developing_hardware_components.rst", "index.rst", "source_rst\\Ohmpi.rst", "source_rst\\V2023.x.x\\V2023.rst", "source_rst\\V2023.x.x\\V2023_step_01.rst", "source_rst\\V2023.x.x\\V2023_step_02.rst", "source_rst\\V2023.x.x\\V2023_step_03.rst", "source_rst\\V2023.x.x\\V2023_step_04.rst", "source_rst\\V2024.x.x\\V2024.rst", "source_rst\\api.rst", "source_rst\\v1.xx\\V1_01.rst", "source_rst\\v1.xx\\V1_02.rst"], "titles": ["Software interface to new hardware components", "OHMPI: Open source and open hardware resistivity-meter", "OhmPi project", "OhmPi V2023 (64 electrodes and 12V)", "<strong>STEP n\u00b01</strong> : Raspberry Pi configuration", "<strong>STEP n\u00b02</strong>: Measurement board", "<strong>STEP n\u00b03:</strong> MUX board", "<strong>STEP n\u00b04:</strong> assemble the OhmPi", "OhmPi V2023 (64 electrodes and 12V)", "API reference", "OhmPi V 1.01 (limited to 32 electrodes)", "OhmPi V 1.02 (limited to 32 electrodes)"], "terms": {"r\u00e9mi": [1, 2], "clement": [1, 2], "vivien": [1, 2], "duboi": [1, 2], "nicola": [1, 2], "forquet": [1, 2], "inra": 2, "reversa": [2, 10, 11], "villeurbann": 2, "franc": 2, "yannick": [1, 2], "fargier": [1, 2], "ger": 2, "rro": 2, "univ": 2, "gustav": 2, "eiffel": 2, "ifsttar": 2, "lyon": 2, "h\u00e9l\u00e8ne": [1, 2], "guyard": [1, 2], "ig": 2, "grenobl": 2, "universit\u00e9": 2, "alp": 2, "olivi": [1, 2], "kaufmann": [1, 2], "arnaud": [1, 2], "watlet": [1, 2], "de": 2, "mon": 2, "belgium": 2, "guillaum": [1, 2], "blanchi": [1, 2], "ilvo": 2, "merelbek": 2, "julien": 2, "ganc": 2, "emil": 2, "gro": 2, "et": [2, 5], "al": 2, "an": [0, 2, 4, 5, 6, 7, 10, 11], "open": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "sourc": [0, 2, 4, 10, 11], "data": [1, 2, 3, 8], "logger": [2, 10, 11], "dedic": [2, 3, 8], "applic": [0, 2], "electr": [2, 5], "resist": [2, 3, 5, 7, 8], "imag": [2, 4], "small": [2, 3, 5, 7, 8, 10, 11], "laboratori": [2, 3, 7, 8, 10, 11], "scale": 2, "hardwarex": 2, "elsevi": 2, "2020": 2, "8": [2, 3, 4, 5, 6, 7, 8, 10, 11], "24": [2, 5, 7, 10, 11], "p": [2, 5], "ff10": 2, "1016": 2, "j": 2, "ohx": 2, "e00122ff": 2, "particip": [2, 3, 4, 5, 6, 7, 8, 10, 11], "all": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "requir": [0, 2, 3, 4, 7, 8, 10, 11], "skill": [2, 3, 4, 5, 6, 7, 8, 10, 11], "electron": [2, 3, 4, 5, 6, 7, 8, 10, 11], "respect": [2, 3, 4, 5, 6, 7, 8, 10, 11], "safeti": [2, 3, 4, 5, 6, 7, 8, 10, 11], "rule": [2, 3, 4, 5, 6, 7, 8, 10, 11], "must": [2, 3, 4, 5, 6, 7, 8, 10, 11], "assembl": [1, 2, 3, 4, 8], "profession": [2, 3, 4, 5, 6, 7, 8, 10, 11], "context": [2, 3, 4, 5, 6, 7, 8, 10, 11], "peopl": [2, 3, 4, 5, 6, 7, 8, 10, 11], "compet": [2, 3, 4, 5, 6, 7, 8, 10, 11], "The": [0, 1, 2, 4, 5, 6, 7], "team": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "cannot": [2, 3, 4, 5, 6, 7, 8, 10, 11], "held": [2, 3, 4, 5, 6, 7, 8, 10, 11], "respons": [2, 3, 4, 5, 6, 7, 8, 10, 11], "ani": [2, 3, 4, 5, 6, 7, 8, 10, 11], "materi": [2, 3, 4, 5, 6, 7, 8, 10, 11], "human": [2, 3, 4, 5, 6, 7, 8, 10, 11], "damag": [2, 3, 4, 5, 6, 7, 8, 10, 11], "which": [2, 3, 4, 5, 6, 7, 8, 10, 11], "would": [2, 3, 4, 5, 6, 7, 8, 10, 11], "associ": [2, 3, 4, 5, 6, 7, 8, 10, 11], "us": [2, 3, 4, 5, 6, 7, 8, 10, 11], "equip": [2, 3, 4, 5, 6, 7, 8, 10, 11], "doe": [2, 3, 4, 5, 6, 7, 8, 10, 11], "work": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "after": [2, 3, 4, 5, 6, 7, 8, 10, 11], "you": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "mai": [2, 3, 4, 8, 10, 11], "redistribut": 2, "modifi": [0, 2, 10, 11], "thi": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "document": [2, 3, 8, 10], "make": [0, 2, 3, 6, 8, 10, 11], "product": [2, 5], "under": [2, 7, 10, 11], "term": [0, 2], "cern": 2, "ohl": 2, "v2": 2, "http": [3, 4, 5, 8, 10, 11], "ch": [], "distribut": 2, "without": [2, 6, 10, 11], "express": [0, 2], "OR": 2, "impli": [2, 6], "warranti": 2, "includ": [0, 2, 3, 4, 6, 8, 10, 11], "OF": 2, "merchant": 2, "satisfactori": 2, "qualiti": 2, "AND": 2, "fit": 2, "FOR": 2, "A": [0, 2, 3, 7, 8, 10, 11], "particular": 2, "purpos": [2, 7, 10, 11], "pleas": [2, 3, 7, 8, 10, 11], "see": [2, 3, 8, 10, 11], "condit": 2, "present": [0, 2, 6, 7, 10, 11], "develop": [0, 1, 2, 3, 4, 5, 8, 10, 11], "low": [2, 3, 8, 10, 11], "cost": [0, 2, 5, 11], "hardwar": [2, 10, 11], "meter": [2, 3, 7, 8, 10, 11], "provid": [2, 3, 8, 10, 11], "scientif": 2, "commun": [2, 3, 8], "robust": [2, 3, 8, 10, 11], "flexibl": 2, "tool": [2, 3, 8], "experi": [2, 3, 8, 10, 11], "call": [2, 3, 4, 6, 7, 8], "basic": [0, 2], "meterfeatur": 2, "current": [1, 2, 3, 5, 8], "inject": [1, 2, 3, 8], "measur": [1, 2, 3, 4, 6, 7, 8], "function": [0, 2, 3, 8, 10, 11], "multiplex": [1, 2, 3, 6, 7, 8], "allow": [2, 3, 5, 6, 8, 10, 11], "perform": [0, 2, 4, 10, 11], "automat": [2, 3, 8, 10, 11], "up": [2, 3, 4, 6, 8, 10, 11], "64": [1, 2, 6, 10, 11], "electrod": [1, 2, 5, 6, 7], "s": [2, 3, 5, 6, 8, 10, 11], "philosophi": [1, 2], "fulli": 2, "toolto": 2, "surfac": 2, "anyon": 2, "who": 2, "want": [2, 11], "get": [2, 3, 4, 5, 8, 10, 11], "involv": [2, 3, 8], "welcom": [0, 2], "join": 2, "ohmpi": [0, 4, 5, 6], "project": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11], "compon": [1, 3, 4, 8], "quantiti": 4, "4": [3, 4, 5, 6, 8, 10, 11], "model": [4, 5, 10, 11], "micro": [3, 4, 8, 10, 11], "sd": [3, 4, 7, 8, 10, 11], "32": [1, 3, 4, 7, 8], "go": [3, 4, 6, 8], "hdmi": [4, 7], "cabl": [4, 5, 6, 7, 10, 11], "comput": [4, 10, 11], "mous": [4, 7, 10, 11], "keyboard": [4, 7, 10, 11], "first": [0, 3, 4, 6, 7, 8], "start": [0, 1, 3, 4, 6, 8, 10, 11], "board": [0, 3, 4, 7, 8], "oper": [0, 1, 4, 5, 7], "system": [0, 4, 10, 11], "For": [3, 4, 5, 6, 8, 10, 11], "instruct": [1, 3, 4, 8], "ar": [0, 3, 4, 5, 7, 8, 10, 11], "well": [3, 4, 8, 10, 11], "describ": [0, 4, 5, 7, 10, 11], "websit": [4, 10, 11], "watch": [4, 10, 11], "video": [4, 10, 11], "how": [4, 10, 11], "set": [3, 4, 5, 8, 10, 11], "your": [0, 4, 5, 6, 10, 11], "author": [1, 4, 10, 11], "recommend": [0, 3, 4, 8, 10, 11], "latest": [4, 10, 11], "stabl": [4, 10, 11], "complet": [1, 3, 4, 5, 8], "version": [0, 3, 4, 5, 8, 10, 11], "previous": [4, 7, 10, 11], "raspbian": [4, 10, 11], "can": [3, 4, 7, 8, 10, 11], "visit": 4, "raspberrypi": 4, "org": [3, 4, 8], "en": 4, "test": [0, 3, 4, 5, 6, 7, 8, 10, 11], "were": [4, 5, 10, 11], "3": [0, 3, 4, 5, 7, 8, 10, 11], "we": [3, 4, 5, 6, 8, 10, 11], "follow": [0, 3, 4, 5, 6, 7, 8, 10, 11], "onc": [3, 4, 8, 10, 11], "ha": [3, 4, 6, 8, 10, 11], "been": [3, 4, 6, 8, 10, 11], "wire": [4, 6, 7, 10, 11], "spi": [4, 10, 11], "gpio": [4, 6, 7, 10, 11], "remot": [3, 4, 8, 10, 11], "option": [3, 4, 8, 10, 11], "deactiv": [4, 10, 11], "i2c": [4, 5, 6], "via": [4, 10, 11], "gui": [4, 10, 11], "menu": [4, 10, 11], "failur": [4, 10, 11], "carri": [4, 10, 11], "out": [4, 7, 10, 11], "task": [4, 10, 11], "caus": [4, 10, 11], "relai": [4, 5, 6, 10, 11], "shield": [4, 10, 11], "card": [1, 3, 4, 6, 7, 8], "dure": [4, 10, 11], "wai": [0, 4, 10, 11], "have": [0, 3, 4, 5, 6, 8, 10, 11], "multipl": [3, 4, 8], "parallel": 4, "instanc": 4, "interpret": [4, 5, 10, 11], "each": [4, 6, 7, 10, 11], "differ": [3, 4, 5, 6, 7, 8, 10, 11], "contain": [3, 4, 7, 8, 10, 11], "discret": 4, "copi": [0, 3, 4, 8], "its": [3, 4, 6, 7, 8, 10, 11], "support": 4, "util": [3, 4, 8], "It": [0, 3, 4, 6, 8, 10, 11], "also": [0, 3, 4, 8, 10, 11], "protect": 4, "case": [0, 3, 4, 8, 10, 11], "problem": 4, "depend": [3, 4, 8, 10, 11], "specifi": [4, 10, 11], "txt": [3, 4, 8, 10, 11], "below": [3, 4, 7, 8, 10, 11], "should": [0, 3, 4, 5, 6, 7, 8, 10, 11], "type": [0, 3, 4, 6, 8, 10, 11], "termin": [3, 4, 5, 6, 7, 8, 10, 11], "necessari": [0, 4, 6, 7, 10, 11], "ensur": [4, 10, 11], "libatla": [4, 10, 11], "base": [0, 3, 4, 6, 8, 10, 11], "dev": [4, 10, 11], "librari": [4, 10, 11], "sudo": [4, 10, 11], "apt": [4, 10, 11], "strongli": [4, 10, 11], "user": [1, 3, 4, 8, 10, 11], "creat": [0, 3, 4, 8, 10, 11], "run": [3, 4, 5, 6, 7, 8, 10, 11], "code": [0, 4, 6, 10, 11], "done": [3, 4, 8, 10, 11], "either": [4, 10, 11], "directori": [0, 3, 4, 8, 10, 11], "gather": [4, 10, 11], "within": [0, 3, 4, 8, 10, 11], "python3": [4, 10, 11], "m": [4, 5, 6, 7, 10, 11], "venv": [4, 10, 11], "command": [3, 4, 8, 10, 11], "bin": [4, 10, 11], "suffici": [4, 10, 11], "meet": [4, 10, 11], "export": 4, "cflag": 4, "fcommon": 4, "pip": [4, 10, 11], "rpi": [4, 7, 10, 11], "adafruit": [4, 5, 6, 10, 11], "blinka": [4, 10, 11], "numpi": [3, 4, 8, 10, 11], "panda": [4, 10, 11], "circuitpython": [4, 10, 11], "ads1x15": [4, 10, 11], "tca9548a": [4, 6], "mcp230xx": 4, "gpiozero": 4, "check": [3, 4, 8, 10, 11], "met": [4, 10, 11], "list": [1, 4], "leav": [4, 10, 11], "simpli": [4, 7, 10, 11], "If": [0, 4, 5, 10, 11], "decid": [4, 10, 11], "setup": [4, 10, 11], "time": [3, 4, 6, 8, 10, 11], "softwar": [1, 4, 10, 11], "click": [4, 10, 11], "access": [3, 4, 7, 8, 10, 11], "program": [4, 7, 10, 11], "pythonid": [4, 10, 11], "2": [0, 3, 4, 6, 7, 8, 10, 11], "root": [4, 10, 11], "7": [4, 5, 6, 7, 10, 11], "usr": [4, 10, 11], "select": [4, 6, 10, 11], "new": [3, 4, 8, 10, 11], "window": [3, 4, 8, 10, 11], "On": [4, 10, 11], "altern": [4, 10, 11], "5": [3, 4, 5, 6, 7, 8, 10, 11], "button": [4, 10, 11], "appear": [4, 5, 6, 10, 11], "locat": [4, 10, 11], "anoth": [4, 10, 11], "execut": [3, 4, 8, 10, 11], "6": [4, 5, 6, 7, 10, 11], "find": [4, 10, 11], "folder": [4, 10, 11], "where": [0, 3, 4, 8, 10, 11], "file": [0, 4, 5, 10, 11], "home": [3, 4, 8, 10, 11], "In": [0, 3, 4, 5, 6, 8, 10, 11], "known": [4, 10, 11], "tab": [3, 4, 8, 10, 11], "path": [0, 4, 10, 11], "close": [4, 10, 11], "ok": [4, 10, 11], "9": [3, 4, 5, 6, 7, 8, 10, 11], "save": [4, 10, 11], "modif": [4, 7, 10, 11], "number": [3, 5, 8, 10, 11], "per": [5, 10, 11], "unit": [3, 5, 8, 10, 11], "total": [5, 10, 11], "manufactur": [5, 6], "refer": [1, 3, 5, 7, 8, 10, 11], "web": 5, "raspberri": [1, 3, 5, 6, 7, 8], "pi": [1, 3, 5, 7, 8], "1": [0, 1, 3, 5, 6, 7, 8], "58": 5, "75": 5, "www": [5, 10, 11], "mouser": 5, "fr": [5, 10, 11], "productdetail": 5, "seeed": 5, "studio": 5, "102110421": 5, "qs": 5, "7mvldsj5uaxen3lyyh3sqw": 5, "3d": 5, "lm158n": 5, "amp": 5, "o": [3, 5, 8, 10, 11], "14": [5, 6, 7], "texa": 5, "instrument": [3, 5, 8], "lm358an": 5, "nopb": 5, "lm158j": 5, "x1j7hmvl2zh8vpefml8": 5, "2ffq": 5, "print": [3, 5, 8, 10, 11], "circuit": [3, 5, 8, 10, 11], "12": [3, 5, 6, 7, 8, 10, 11], "asler": 5, "ads1115": [5, 10, 11], "11": [5, 7, 10, 11], "23": [5, 7, 10, 11], "1085": 5, "2fha2pyfaduh": 5, "2fogzutwiq9iz5vjaqfoyugqalgxpeckigrqvf4hn": 5, "252bg": 5, "capacitor": [5, 11], "100nf": [5, 11], "50vdc": [5, 11], "10": [3, 5, 6, 7, 8, 10, 11], "ceram": [5, 11], "0": [3, 5, 8, 10, 11], "kemet": 5, "c320c104k1": 5, "c320c104k1r5ta7303": 5, "c4uyot": 5, "2flq1th4mcyoetma": 5, "resistor": [5, 6, 10, 11], "kohm": [5, 6, 10, 11], "5w": 5, "te": 5, "connect": [1, 3, 5, 6, 7, 8], "h81k0bya": 5, "holsworthi": 5, "2fha2pyfaduhuylh7az": 5, "2fmjfh2xjoums6wztux4som": 5, "252bii": 5, "h81k5bya": 5, "2fha2pyfadugy9twham3ru9hmijohywhbin95knm": 5, "252bx": 5, "2fm": 5, "vishai": 5, "ccf071k50gke36": 5, "dale": 5, "qkeozdl6eqpa6lzrlqfvow": 5, "mohm": [3, 5, 8, 10, 11], "762": 5, "524": 5, "cmf651m0000fkek143": 5, "ciayqk2gdckzia2levalkg": 5, "ohm": [3, 5, 8, 10, 11], "shunt": 5, "42": 5, "ohmit": 5, "41f2r0e": 5, "im6toxqzgoauedprb19mha": 5, "dual": [5, 6, 10, 11], "screw": [5, 6, 7, 10, 11], "08": 5, "mm": [5, 7, 10, 11], "pitch": [5, 10, 11], "648": 5, "cui": 5, "devic": [0, 5], "tb009": 5, "508": 5, "02be": 5, "vlwxofp3u2wcfk5uckwtka": 5, "dc": [5, 10, 11], "convert": [5, 10, 11], "24v": 5, "15": [5, 7, 10, 11], "31": [5, 7], "16": [5, 6, 7, 10, 11], "tracopow": 5, "trn": 5, "1215": [5, 11], "traco": [5, 11], "power": [3, 5, 6, 7, 8, 10, 11], "yca": 5, "2faaymw02gquicgqj0ta": 5, "dip": [5, 6], "line": [5, 6, 10, 11], "socket": [5, 6], "72": 5, "mill": 5, "max": 5, "110": 5, "43": [5, 10, 11], "308": 5, "41": 5, "001000": 5, "iggadovctstu": 5, "2fqaur8narg": 5, "mgh": 5, "vip": 5, "gclid": 5, "eaiaiqobchmin_taxbcx8wivq5nvch2qaqfpeayyccabegjk1_d_bw": 5, "aqy211eh": 5, "84": 5, "36": [5, 7, 10, 11], "panason": 5, "industri": 5, "wktuvitrialgiu8hcm7dvq": 5, "449": 5, "796": 5, "preci": 5, "83": 5, "304": 5, "001101": 5, "2fha2pyfadujqkqx4wauig": 5, "2fmgndxmcnv": 5, "2f33nj0gbxroculucynpyong": 5, "mcp23008": 5, "593": 5, "sgaepimzzmskedp9slc0yyv4kpdpmd1hts4slctivmw": 5, "header": [5, 6, 10, 11], "1x10": 5, "samtec": 5, "ssw": 5, "02": [1, 5], "g": [5, 10, 11], "ru5fayqh": 5, "252be0w1orxzibqpw": 5, "smt": 5, "breakout": 5, "pcb": [0, 5, 6, 10, 11], "soic": 5, "1212": 5, "gurawfaegucaqqfvnvtyeg": 5, "eaiaiqobchmit8zjzr6x8wivgdnvch2vbwvseaqyayabegjqg_d_bw": 5, "ina282aid": 5, "ze4": 5, "2fufuz19ilfayzxocfra": 5, "thd": 5, "1211n": 5, "39": [5, 7, 10, 11], "2fha2pyfadugpyeg4idvm": 5, "2fmsr": 5, "252b7an": 5, "2f0t3ruis9pcaqjlt4": 5, "252bnrpuooeq": 5, "20": [5, 7, 10, 11], "53": 5, "ssq": 5, "120": 5, "d": [5, 10, 11], "252be1bmvd": 5, "252bdzonqg": 5, "pin": [5, 6, 10, 11], "strip": [5, 6, 7, 10, 11], "ejector": 5, "35": [5, 7], "blk": 5, "10120550": 5, "conrad": 5, "com": [3, 5, 8, 10, 11], "bkl": 5, "contact": [3, 5, 6, 8, 10, 11], "space": 5, "254": 5, "row": 5, "pc": 5, "741435": 5, "searchterm": 5, "searchtyp": 5, "suggest": [5, 6, 10, 11], "searchsuggest": 5, "male": [5, 6], "femal": [5, 10, 11], "spacer": [5, 7], "5m": [5, 7], "hexagonal": 5, "87": 5, "48": 5, "harwin": 5, "r25": 5, "3002002": 5, "w0yvoo0ixfenuv0hsdc4": 5, "2fq": 5, "86": 5, "437": 5, "1108331841001101": 5, "318": 5, "ftmup6kvi2tnqoeziaq": 5, "2fpa": 5, "figur": [3, 5, 8, 10, 11], "show": [5, 10, 11], "gener": [1, 3, 5, 6, 8, 10, 11], "schemat": [5, 10, 11], "plug": [5, 10, 11], "plai": 5, "To": [3, 5, 6, 8, 10, 11], "two": [0, 3, 5, 6, 8, 10, 11], "one": [3, 5, 7, 8, 10, 11], "voltag": [3, 5, 7, 8, 10, 11], "propos": [5, 10, 11], "florsch": [5, 10, 11], "bit": [5, 10, 11], "adc": [5, 10, 11], "analog": [5, 10, 11], "digit": [5, 6, 10, 11], "adapt": [0, 3, 5, 8, 10, 11], "gain": [3, 5, 8, 10, 11], "advantag": 5, "input": [3, 5, 7, 8, 10, 11], "signal": [5, 10, 11], "valu": [5, 6, 10, 11], "could": [5, 7, 10, 11], "lie": [5, 10, 11], "between": [5, 6, 7, 10, 11], "114": [5, 10, 11], "v": [1, 3, 5, 7, 8], "directli": [5, 10, 11], "integr": 5, "ina282": 5, "realiz": 5, "precis": [5, 10, 11], "around": [3, 5, 8], "instal": [3, 5, 6, 7, 8], "solder": [5, 10, 11], "optic": 5, "suppli": [5, 6, 7, 10, 11], "12v": [1, 5, 6, 7, 11], "5v": [5, 10, 11], "tdh15": 5, "four": [3, 5, 8], "inpout": 5, "output": [3, 5, 7, 8, 10, 11], "three": [3, 5, 6, 8, 10, 11], "limit": [1, 3, 5, 8], "ma": [3, 5, 8, 10, 11], "higher": [5, 11], "than": [5, 10, 11], "just": [5, 11], "decreas": 5, "don": [3, 5, 8], "t": [3, 5, 8], "forget": [3, 5, 8], "chang": [0, 3, 5, 8], "config": [0, 3, 5, 8, 10, 11], "py": [0, 3, 5, 6, 8, 10, 11], "kei": 5, "r_shunt": 5, "ohmpi_config": 5, "dict": 5, "pre": [5, 7], "adjust": [5, 10, 11], "13": [5, 7, 10, 11], "17": [5, 7, 10, 11], "18": [3, 5, 7, 8, 10, 11], "19": [5, 7, 10, 11], "view": [5, 7], "fix": [5, 7], "dot": 5, "mark": [5, 7], "top": [3, 5, 7, 8], "left": [5, 7], "corner": 5, "21": [5, 7, 10, 11], "mount": [5, 6, 7, 10, 11], "22": [5, 7, 10, 11], "lm158": 5, "amplifi": [5, 10, 11], "ads115": [5, 10, 11], "right": [5, 7], "3x11": [], "wurth": [], "elektronik": [], "971110321": [], "305": [], "apm": [], "hexseal": [], "rm3x8mm": [], "2701": [], "jjse": [], "2f12mkns3vxsdryxuhw": [], "shutdown": 5, "unplug": 5, "bottom": [5, 10, 11], "11mm": 5, "m3": 5, "upper": 5, "port": [5, 7], "write": [0, 3, 5, 6, 8, 10, 11], "i2cdetect": [5, 6], "y": [5, 6], "everyth": 5, "address": [3, 5, 10, 11], "screen": [5, 10, 11], "equival": [5, 10, 11], "need": [3, 5, 6, 8, 10, 11], "1kohm": 5, "r2": [5, 10, 11], "220": 5, "r1": [5, 10, 11], "padboard": 5, "spool": 5, "prepar": [5, 6, 10, 11], "batteri": [3, 5, 7, 8, 10, 11], "red": [3, 5, 7, 8, 10, 11], "black": [5, 7, 10, 11], "ground": [5, 10, 11], "thonni": [3, 5, 8], "sample_measurement_exampl": 5, "exampl": [3, 5, 6, 7, 8, 10, 11], "result": [5, 10, 11], "channel": [6, 10, 11], "mechan": [3, 6, 8, 10, 11], "omron": 6, "g5le": 6, "vd": 6, "vdc": 6, "combin": 6, "zvn4206a": 6, "mofset": 6, "onli": [0, 6], "30": [6, 7, 10, 11], "enough": [6, 10, 11], "activ": [3, 6], "repres": [6, 10, 11], "512": 6, "expand": 6, "mcp23017": 6, "from": [3, 6, 7, 8, 10, 11], "128": [3, 6, 8], "own": 6, "0x70": 6, "0x77": 6, "0x71": 6, "0x72": 6, "0x73": 6, "140": [], "560": [], "62": [], "92": [], "1580994": [], "tru": [], "diod": 6, "1n4007": 6, "256": [], "091": [], "296": [], "incorpor": [3, 8], "sgaepimzzmueqxo7l": [], "2fbpyakboruumren": [], "56": [], "776": [], "205": [], "46": [], "103321": [], "5twgzeq9e7hsylqaljjyrw": [], "i": [3, 7, 8, 10, 11], "40": [3, 8, 10, 11], "732": [], "sgaepimzzmskedp9slc0yfx16nydmpxjueeogolbldi": [], "27": [7, 10, 11], "325": [], "over": [], "503811": [], "mosfet": 6, "nchannel": [], "471": [], "576": [], "vhuuswq2": [], "252bsz9b": [], "2ff6fcxt7g": [], "100k\u03c9": [], "061": [], "616": [], "beyschlag": [], "mba02040c1003frp00": [], "mzrxyrlhvdt9crf7zyf": [], "2f5q": [], "89": [], "2717": [], "sgaepimzzmsyydr3r27av4eqf73yoh": [], "252baqg": [], "252bz3hvktao": [], "10120558": [], "54": [], "No": [], "51": [], "741727": [], "10120862": [], "connector": [6, 7, 10, 11], "strain": [], "relief": [], "44": [], "742063": [], "10120158": [], "ribbon": 7, "x": [10, 11], "mm\u00b2": [10, 11], "multi": [3, 8, 10, 11], "colour": [], "1012015810": [], "127": [], "008": [], "1548658": [], "hex": 7, "25": [3, 7, 8, 10, 11], "79": [], "49": [], "keyston": [], "24300": [], "uwqyq": [], "2f2czwu0ejpozmzc2a": [], "745": [], "846": [], "614": [], "25515": [], "2f2czwuxuhumfr": [], "252bzuq": [], "55": [], "328": [], "uqd7xcvsscnr3hwd6fta8g": [], "100": [3, 6, 8, 10, 11], "duplic": 6, "everi": [3, 6, 8], "build": [6, 10, 11], "therefor": [6, 10, 11], "identifi": 6, "assign": 6, "alloc": 6, "here": [6, 7, 11], "default": [3, 6, 8], "jumper": 6, "note": [6, 7, 10, 11], "name": [0, 3, 6, 8, 10, 11], "zoom": [6, 7], "befor": [3, 6, 7, 8, 10, 11], "them": [3, 6, 8, 10, 11], "definit": 6, "simplifi": 6, "thing": [3, 6, 8], "do": [0, 3, 6, 7, 8], "50": [3, 6, 7, 8, 10, 11], "cm": [6, 7, 10, 11], "long": [6, 7], "flat": 6, "pole": [6, 10, 11], "detect": 6, "script": [0, 3, 6, 8], "test_mux_board": 6, "cut": 7, "compos": 7, "proper": 7, "length": [7, 10, 11], "about": 7, "correspond": [7, 10], "crimp": 7, "idc": 7, "suitabl": [3, 7, 8, 10, 11], "clamp": 7, "pai": [7, 10, 11], "attent": [7, 10, 11], "direct": [3, 7, 8, 10, 11], "unbalanc": 7, "perpendicular": 7, "possibl": [7, 10, 11], "same": [3, 7, 8, 10, 11], "flush": 7, "posit": [7, 10, 11], "abov": [7, 10, 11], "mux": [3, 7, 10, 11], "profil": 7, "color": 7, "yellow": 7, "tin": 7, "end": [7, 10, 11], "shown": [7, 10, 11], "pictur": 7, "ii": 7, "gnd": [7, 10, 11], "nois": 7, "often": 7, "heard": 7, "when": [0, 3, 7, 8, 10, 11], "clip": 7, "place": [0, 7, 10, 11], "second": [3, 7, 8, 10, 11], "b": [3, 7], "help": [0, 3, 7, 8], "previou": [3, 7, 8], "procedur": 7, "repeat": [3, 7, 8, 10, 11], "other": [3, 7, 8, 10, 11], "purpl": 7, "relev": [0, 7], "defin": [0, 3, 7, 8], "third": [3, 7, 8], "fourth": 7, "nylon": 7, "photograph": 7, "more": [3, 7, 8], "detail": [3, 7, 8, 10], "4th": 7, "togeth": [7, 10, 11], "tie": 7, "pvc": 7, "plate": 7, "minimum": 7, "dimens": 7, "200": 7, "150": [3, 7, 8, 10, 11], "drill": 7, "remain": [7, 10, 11], "metal": 7, "tighten": 7, "so": [7, 10, 11], "usb": 7, "hole": [7, 10, 11], "26": [7, 10, 11], "add": [7, 10, 11], "attach": 7, "washer": 7, "nut": 7, "28": [1, 7], "29": 7, "come": 7, "pass": [3, 7, 8], "brown": 7, "blue": [7, 10, 11], "block": [7, 10, 11], "secur": [3, 7, 8], "33": 7, "34": 7, "37": 7, "38": 7, "os": [3, 7, 8], "monitor": [3, 7, 8, 10, 11], "deliv": [7, 10, 11], "12vdc": 7, "enjoi": 7, "publish": [3, 8, 10], "journal": 10, "howev": [0, 10, 11], "correct": [10, 11], "bug": 10, "exist": [0, 10, 11], "explain": 10, "miss": 10, "point": [3, 8, 10, 11], "invit": 10, "v1": [3, 8, 10, 11], "offer": [3, 8, 10, 11], "commerci": [10, 11], "avail": [0, 3, 8, 10, 11], "field": [3, 8, 10, 11], "specif": [0, 10, 11], "temperatur": [3, 8, 10, 11], "c": [3, 8, 10, 11], "consumpt": [3, 8, 10, 11], "cpu": [3, 8, 10, 11], "control": [3, 8, 10, 11], "w": [3, 8, 10, 11], "min": [3, 8, 10, 11], "puls": [3, 8, 10, 11], "durat": [3, 8, 10, 11], "ms": [3, 8, 10, 11], "imped": [3, 8, 10, 11], "storag": [3, 8, 10, 11], "resolut": [3, 8, 10, 11], "o1": [10, 11], "step": [0, 10, 11], "youtub": [10, 11], "wjwzhv1v3pk": [10, 11], "noob": [10, 11], "simpl": [10, 11], "sure": [0, 3, 8, 10, 11], "unexpectedli": [10, 11], "boot": [10, 11], "cd": [10, 11], "gnu": [10, 11], "nano": [10, 11], "editor": [3, 8, 10, 11], "At": [10, 11], "op": [10, 11], "dl": [10, 11], "press": [10, 11], "ctrl": [10, 11], "enter": [10, 11], "escap": [10, 11], "return": [3, 8, 10, 11], "wa": [10, 11], "introduc": [0, 3, 8, 10, 11], "Its": [10, 11], "studi": [10, 11], "hous": [10, 11], "design": [0, 3, 8, 10, 11], "diagram": [10, 11], "displai": [10, 11], "mimic": [10, 11], "behavior": [10, 11], "soil": [10, 11], "subject": [10, 11], "r11": [10, 11], "r10": [10, 11], "r12": [10, 11], "constitut": [10, 11], "thei": [3, 8, 10, 11], "typic": [0, 3, 8, 10, 11], "made": [3, 8, 10, 11], "stainless": [10, 11], "steel": [10, 11], "seri": [10, 11], "part": [0, 3, 10, 11], "r9": [10, 11], "ad": [3, 8, 10, 11], "flow": [3, 8, 10, 11], "order": [0, 3, 8, 10, 11], "less": [10, 11], "sum": [10, 11], "inde": [10, 11], "000": [10, 11], "intens": [10, 11], "potenti": [10, 11], "calcul": [10, 11], "insert": [10, 11], "1115": [10, 11], "our": [3, 8, 10, 11], "a1": [10, 11], "a0": [10, 11], "increas": [10, 11], "track": [0, 10, 11], "divid": [10, 11], "bridg": [10, 11], "r5": [10, 11], "r8": [10, 11], "r6": [10, 11], "r7": [10, 11], "accord": [0, 10, 11], "n": [3, 8, 10, 11], "a2": [10, 11], "a3": [10, 11], "obtain": [10, 11], "ly": [10, 11], "rang": [0, 10, 11], "let": [10, 11], "equal": [10, 11], "multipli": [10, 11], "reduct": [10, 11], "section": [0, 3, 8, 10, 11], "despit": [10, 11], "high": [10, 11], "e": [3, 8, 10, 11], "accur": [10, 11], "still": [10, 11], "calibr": [10, 11], "voltmet": [10, 11], "variou": [10, 11], "These": [3, 8, 10, 11], "serv": [3, 8, 10, 11], "With": [10, 11], "disturb": [10, 11], "being": [10, 11], "estim": [10, 11], "mega": [10, 11], "shortcut": [10, 11], "excess": [10, 11], "whose": [3, 8, 10, 11], "lithium": [10, 11], "ion": [10, 11], "automobil": [10, 11], "lead": [10, 11], "acid": [10, 11], "strong": [10, 11], "hazard": [10, 11], "fuse": [10, 11], "repositori": [3, 8, 10, 11], "onto": [10, 11], "illustr": [3, 8, 10, 11], "ohmmet": [10, 11], "coeffici": [10, 11], "coef_p0": [10, 11], "coef_p1": [10, 11], "coef_p2": [10, 11], "coef_p3": [10, 11], "coef": [10, 11], "po": [10, 11], "p1": [10, 11], "r3": [10, 11], "r4": [10, 11], "p2": [10, 11], "p3": [10, 11], "r_ref": [10, 11], "slope": [10, 11], "convers": [10, 11], "p0": [10, 11], "accuraci": [10, 11], "both": [0, 10, 11], "addit": [3, 8, 10, 11], "lm358n": [10, 11], "appli": [10, 11], "prefer": [3, 8, 10, 11], "weaker": 10, "stronger": [10, 11], "tx": [10, 11], "rememb": [10, 11], "holder": [10, 11], "f": [10, 11], "consist": [10, 11], "circul": [10, 11], "through": [3, 8, 10, 11], "fig": [10, 11], "modul": [0, 10, 11], "switch": [10, 11], "common": [10, 11], "neg": [10, 11], "normal": [10, 11], "simultan": [10, 11], "role": [10, 11], "revers": [10, 11], "polar": [10, 11], "thu": [10, 11], "energ": [10, 11], "solut": [0, 10, 11], "manag": [3, 8, 10, 11], "next": [10, 11], "featur": [10, 11], "strict": [10, 11], "in1": [10, 11], "in2": [10, 11], "in3": [10, 11], "in4": [10, 11], "5vdc": [10, 11], "5vcc": [10, 11], "now": [10, 11], "mm2": [10, 11], "lastli": [10, 11], "congratul": [10, 11], "construct": [10, 11], "valid": [3, 10, 11], "conduct": [0, 10, 11], "manual": [3, 8, 10, 11], "practic": [0, 10, 11], "ert": [10, 11], "sever": [10, 11], "ten": [10, 11], "thousand": [10, 11], "arrai": [3, 8, 10, 11], "stuck": [10, 11], "enabl": [3, 8, 10, 11], "smaller": [10, 11], "hand": [10, 11], "entir": [3, 8, 10, 11], "cap": [10, 11], "produc": [10, 11], "clean": [10, 11], "distanc": [10, 11], "had": [10, 11], "extra": [10, 11], "As": [10, 11], "final": [10, 11], "actual": [10, 11], "singl": [0, 3, 8, 10, 11], "protocol": [3, 8, 10, 11], "horizont": [10, 11], "vertic": [10, 11], "06": [10, 11], "04": [10, 11], "09": [10, 11], "05": [10, 11], "din": [10, 11], "rail": [10, 11], "chosen": [10, 11], "consequ": [10, 11], "incom": [10, 11], "instead": [10, 11], "moreov": [10, 11], "turn": [10, 11], "bought": [10, 11], "down": [10, 11], "velleman": [10, 11], "wpm404": [10, 11], "potentiomet": [10, 11], "download": [3, 8, 10, 11], "scienc": [10, 11], "framework": [10, 11], "manuscript": [10, 11], "osf": [10, 11], "io": [10, 11], "dzwb4": [10, 11], "gitlab": [3, 8, 10, 11], "irstea": [10, 11], "unzip": [10, 11], "master": [10, 11], "readm": [10, 11], "assist": [10, 11], "disconnect": [10, 11], "handl": [3, 8, 10, 11], "charg": [10, 11], "full": [10, 11], "capac": [10, 11], "fewer": [10, 11], "bank": [10, 11], "2a": [10, 11], "ll": [10, 11], "insid": [10, 11], "abmn": [3, 8, 10, 11], "quadrupol": [3, 8, 10, 11], "numer": [10, 11], "some": [0, 1, 3, 8, 10, 11], "main": [3, 8, 10, 11], "optim": [10, 11], "attribut": [10, 11], "stack": [3, 8, 10, 11], "the9": [10, 11], "hear": [10, 11], "characterist": [10, 11], "sound": [10, 11], "permut": [10, 11], "csv": [10, 11], "nb_electrod": [3, 8, 10, 11], "maximum": [3, 8, 10, 11], "injection_dur": [3, 8, 10, 11], "nbr_mea": [3, 8, 10, 11], "sequenc": [3, 8, 10, 11], "sequence_delai": [3, 8, 10, 11], "delai": [10, 11], "repetit": [10, 11], "evolv": [10, 11], "littl": [10, 11], "public": [10, 11], "articl": [10, 11], "date": [1, 10, 11], "sainsmart": [], "canal": [], "pour": [], "arduino": [], "dsp": [], "avr": [], "pic": [], "arm": [], "99": [], "199": [], "sain": [], "smart": [], "101": [], "70": [], "103": [], "018": [], "1x1": [], "66": [], "1568649": [], "1x0": [], "71": [], "1565235": [], "68": [], "rs": [], "pro": [], "897": [], "1332": [], "858": [], "627": [], "52": [], "upw50b50rv": [], "1083": [], "7ah": [], "537": [], "5488": [], "lr20": [], "9v": [], "185": [], "4686": [], "ferrul": [], "500": [], "piec": [], "weidmul": [], "9004330000": [], "966067": [], "car": [], "littelfus": [], "fhac0002zxj": [], "96": [], "improv": [0, 3, 8, 11], "upgrad": [3, 8, 11], "01": [1, 3, 8, 11], "replac": [0, 11], "trn3": 11, "suppress": 11, "10v": 11, "fast": 11, "decoupl": 11, "last": 11, "veri": [0, 11], "prevent": 11, "overh": 11, "toler": 11, "orient": 11, "h": 11, "nf": 11, "tabl": [10, 11], "jason": 11, "ohmpi_param": 11, "json": [3, 8, 11], "export_path": 11, "desktop": 11, "0251001": [], "pat1l": [], "box": [3, 8], "mani": [3, 8], "dii": [3, 8], "laps": [3, 8], "seek": [3, 8], "share": [0, 3, 8], "wish": [3, 8], "2023": [1, 3, 8], "stop": [3, 8], "0x": [3, 8], "effort": [3, 8], "paramet": [3, 8], "80": [3, 8], "virtual": 3, "environ": 3, "packag": [3, 8], "id": [3, 8], "summar": [3, 8], "cover": [3, 8], "acquisit": [3, 8], "separ": [3, 8], "ohmpi_set": [3, 8], "central": [3, 8], "class": [0, 3, 8], "interact": [0, 3, 8], "handler": [3, 8], "layer": [3, 8], "releas": [1, 3, 8], "excel": [3, 8], "log": [3, 8], "implement": [0, 1, 3, 8], "broker": [3, 8], "zip": [3, 8], "rotat": [3, 8], "disk": [3, 8], "exec_logg": [3, 8], "data_logg": [3, 8], "plan": [3, 8], "state": [3, 8], "health": [3, 8], "soh": [3, 8], "futur": [3, 8], "By": [3, 8], "written": [3, 8], "consol": [3, 8], "like": [3, 8], "store": [0, 3, 8], "local": [3, 8], "dai": [3, 8], "size": [3, 8], "exce": [3, 8], "sent": [3, 8], "level": [3, 8], "advanc": [3, 8], "edit": [3, 8], "setup_logg": [3, 8], "custom": [3, 8], "desir": [3, 8], "usernam": [3, 8], "password": [3, 8], "One": [3, 8], "understand": [3, 8], "alter": [3, 8], "keep": [3, 8], "bash": [3, 8], "run_http_interfac": [3, 8], "sh": [3, 8], "api": [1, 3, 8], "import": [0, 3, 8], "iot": [3, 8], "messag": [3, 8], "friendli": [3, 8], "graphic": [3, 8], "quick": [3, 8], "easi": [3, 8], "wi": [3, 8], "fi": [3, 8], "ap": [3, 8], "webserv": [3, 8], "index": [3, 8], "html": [3, 8], "laptop": [3, 8], "mobil": [3, 8], "phone": [3, 8], "upload": [3, 8], "act": [3, 8], "raspap": [3, 8], "runonstart": [3, 8], "itself": [3, 8], "141": [3, 8], "8080": [3, 8], "pseudo": [3, 8], "evolut": [3, 8], "appar": [3, 8], "especi": [3, 8], "suit": [3, 8], "autom": [3, 8], "ipython": [3, 8], "ssh": [3, 8], "putti": [3, 8], "maco": [3, 8], "linux": [3, 8], "found": [3, 8], "np": [3, 8], "chdir": [3, 8], "object": [3, 8], "k": [3, 8], "load": [3, 8], "nb_stack": [3, 8], "half": [3, 8], "cycl": [3, 8], "updat": [3, 8], "update_set": [3, 8], "shape": [3, 8], "set_sequ": [3, 8], "n2": [3, 8], "string": [3, 8], "load_sequ": [3, 8], "rs_check": [3, 8], "synchron": [3, 8], "wait": [3, 8], "prompt": [3, 8], "run_sequ": [3, 8], "run_sequence_async": [3, 8], "thread": [3, 8], "immedi": [3, 8], "sleep": [3, 8], "interrupt": [3, 8], "kill": [3, 8], "asynchron": [3, 8], "given": [3, 8], "interv": [3, 8], "nb_mea": [3, 8], "run_multiple_sequ": [3, 8], "taken": [3, 8], "switch_mux_on": [3, 8], "run_measur": [3, 8], "switch_mux_off": [3, 8], "risk": [3, 8], "short": [3, 8], "argument": [3, 8], "autogain": [3, 8], "true": [3, 8], "good": [3, 8], "usag": [3, 8], "process": [3, 8], "sensor": [3, 8], "scope": [3, 8], "internet": [3, 8], "network": [3, 8], "auxiliari": [3, 8], "subscrib": [3, 8], "approach": [3, 8], "mosquitto": [3, 8], "server": [3, 8], "reachabl": [3, 8], "net": [3, 8], "servic": [3, 8], "install_local_mqtt_brok": [3, 8], "examin": [3, 8], "easili": [0, 3, 8], "parti": [3, 8], "explor": [3, 8], "receiv": [3, 8], "reboot": [3, 8], "further": [3, 8], "format": [3, 8], "kwarg": [3, 8], "cmd_id": [3, 8], "3fzxv121uitwgjwygcz4xw": [3, 8], "cmd": [3, 8], "3fzxv121uitwgjwygcz4yw": [3, 8], "tailor": [3, 8], "dashboard": [3, 8], "browser": [3, 8], "node": [3, 8], "complex": [3, 8], "properli": [3, 8], "palett": [3, 8], "noder": [3, 8], "doc": [3, 8], "guid": [3, 8], "ui": [3, 8], "visual": [3, 8], "cookbook": [3, 8], "draft": 0, "TO": 0, "BE": 0, "review": 0, "intend": 0, "advic": 0, "best": 0, "contribut": 0, "maintain": 0, "promot": 0, "exchang": 0, "reus": 0, "contributor": 0, "ideal": 0, "few": 0, "distinguish": 0, "deal": 0, "compli": 0, "Such": 0, "focu": 0, "reduc": 0, "newli": 0, "expos": 0, "minim": 0, "hardware_system": 0, "discuss": 0, "ohmpi_hardwar": 0, "initi": 0, "earli": 0, "stage": 0, "investig": 0, "strategi": 0, "readi": 0, "conceiv": 0, "kicad": 0, "schema": 0, "alwai": 0, "branch": 0, "python": 0, "similar": 0, "hardware_compon": 0, "abstract": 0, "abstract_hardware_compon": 0, "method": 0, "configur": [0, 1], "hardware_config": 0, "dictionari": 0, "config_xxx": 0, "xxx": 0, "nov": 1, "juli": 1, "2016": 1, "target": 1, "research": 1, "statu": 1, "matur": 1, "progress": 1, "offici": 1, "guidelin": 1, "tutori": 1, "content": 1, "partner": 1, "cite": 1, "introduct": 1, "technic": 1, "v2023": 1, "tow": 5, "led": 7, "consid": 7, "temporari": 7, "orang": 7}, "objects": {"": [[9, 0, 0, "-", "ohmpi"]]}, "objtypes": {"0": "py:module"}, "objnames": {"0": ["py", "module", "Python module"]}, "titleterms": {"ohmpi": [1, 2, 3, 7, 8, 10, 11], "project": 2, "author": 2, "partner": 2, "cite": 2, "introduct": 2, "step": [3, 4, 5, 6, 7, 8], "n": [4, 5, 6, 7], "1": [4, 10, 11], "raspberri": [4, 10, 11], "pi": [4, 10, 11], "configur": [3, 4, 8, 10, 11], "part": [4, 5, 6], "A": [4, 5, 6], "os": [4, 10, 11], "instal": [4, 10, 11], "b": [4, 5, 6, 10, 11], "virtual": [4, 10, 11], "environ": [4, 10, 11], "packag": [4, 10, 11], "c": [4, 5, 6], "activ": [4, 10, 11], "thonni": [4, 10, 11], "python": [3, 4, 8, 10, 11], "id": [4, 10, 11], "2": 5, "measur": [5, 10, 11], "board": [5, 6, 10, 11], "assembl": [5, 6, 7, 10, 11], "requir": [5, 6], "compon": [0, 5, 6, 10, 11], "list": [5, 10, 11], "descript": [5, 10, 11], "start": 5, "up": 5, "check": 5, "3": 6, "mux": 6, "address": 6, "valid": 6, "4": 7, "v": [10, 11], "01": 10, "limit": [10, 11], "32": [10, 11], "electrod": [3, 8, 10, 11], "The": [3, 8, 10, 11], "philosophi": [3, 8, 10, 11], "technic": [10, 11], "data": [10, 11], "current": [10, 11], "inject": [10, 11], "card": [10, 11], "connect": [10, 11], "electr": [10, 11], "resist": [1, 10, 11], "implement": [10, 11], "first": [10, 11], "four": [10, 11], "multiplex": [10, 11], "oper": [3, 8, 10, 11], "instruct": [10, 11], "preliminari": [10, 11], "procedur": [10, 11], "onli": [10, 11], "initi": [10, 11], "startup": [10, 11], "paramet": [10, 11], "complet": [10, 11], "tabl": [], "titl": [], "02": 11, "v2023": [3, 8], "64": [3, 8], "12v": [3, 8], "hardwar": [0, 1, 3, 8], "specif": [3, 8], "build": [3, 8], "an": [3, 8], "softwar": [0, 3, 8], "system": [3, 8], "architectur": [3, 8], "logger": [3, 8], "file": [3, 8], "interfac": [0, 3, 8], "applic": [3, 8], "web": [3, 8], "mqtt": [3, 8], "api": 9, "refer": 9, "new": 0, "open": 1, "sourc": 1, "meter": 1, "summari": 1, "document": 1, "center": 1}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["developing_hardware_components", "index", "source_rst/Ohmpi", "source_rst/V2023.x.x/V2023", "source_rst/V2023.x.x/V2023_step_01", "source_rst/V2023.x.x/V2023_step_02", "source_rst/V2023.x.x/V2023_step_03", "source_rst/V2023.x.x/V2023_step_04", "source_rst/V2024.x.x/V2024", "source_rst/api", "source_rst/v1.xx/V1_01", "source_rst/v1.xx/V1_02"], "filenames": ["developing_hardware_components.rst", "index.rst", "source_rst\\Ohmpi.rst", "source_rst\\V2023.x.x\\V2023.rst", "source_rst\\V2023.x.x\\V2023_step_01.rst", "source_rst\\V2023.x.x\\V2023_step_02.rst", "source_rst\\V2023.x.x\\V2023_step_03.rst", "source_rst\\V2023.x.x\\V2023_step_04.rst", "source_rst\\V2024.x.x\\V2024.rst", "source_rst\\api.rst", "source_rst\\v1.xx\\V1_01.rst", "source_rst\\v1.xx\\V1_02.rst"], "titles": ["Software interface to new hardware components", "OHMPI: Open source and open hardware resistivity-meter", "OhmPi project", "OhmPi V2023 (64 electrodes and 12V)", "<strong>STEP n\u00b01</strong> : Raspberry Pi configuration", "<strong>STEP n\u00b02</strong>: Measurement board", "<strong>STEP n\u00b03:</strong> MUX board", "<strong>STEP n\u00b04:</strong> assemble the OhmPi", "OhmPi V2023 (64 electrodes and 12V)", "API reference", "OhmPi V 1.01 (limited to 32 electrodes)", "OhmPi V 1.02 (limited to 32 electrodes)"], "terms": {"r\u00e9mi": [1, 2], "clement": [1, 2], "vivien": [1, 2], "duboi": [1, 2], "nicola": [1, 2], "forquet": [1, 2], "inra": 2, "reversa": [2, 10, 11], "villeurbann": 2, "franc": 2, "yannick": [1, 2], "fargier": [1, 2], "ger": 2, "rro": 2, "univ": 2, "gustav": 2, "eiffel": 2, "ifsttar": 2, "lyon": 2, "h\u00e9l\u00e8ne": [1, 2], "guyard": [1, 2], "ig": 2, "grenobl": 2, "universit\u00e9": 2, "alp": 2, "olivi": [1, 2], "kaufmann": [1, 2], "arnaud": [1, 2], "watlet": [1, 2], "de": 2, "mon": 2, "belgium": 2, "guillaum": [1, 2], "blanchi": [1, 2], "ilvo": 2, "merelbek": 2, "julien": 2, "ganc": 2, "emil": 2, "gro": 2, "et": [2, 5], "al": 2, "an": [0, 2, 4, 5, 6, 7, 10, 11], "open": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "sourc": [0, 2, 4, 10, 11], "data": [1, 2, 3, 8], "logger": [2, 10, 11], "dedic": [2, 3, 8], "applic": [0, 2], "electr": [2, 5], "resist": [2, 3, 5, 7, 8], "imag": [2, 4], "small": [2, 3, 5, 7, 8, 10, 11], "laboratori": [2, 3, 7, 8, 10, 11], "scale": 2, "hardwarex": 2, "elsevi": 2, "2020": 2, "8": [2, 3, 4, 5, 6, 7, 8, 10, 11], "24": [2, 5, 7, 10, 11], "p": [2, 5], "ff10": 2, "1016": 2, "j": 2, "ohx": 2, "e00122ff": 2, "particip": [2, 3, 4, 5, 6, 7, 8, 10, 11], "all": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "requir": [0, 2, 3, 4, 7, 8, 10, 11], "skill": [2, 3, 4, 5, 6, 7, 8, 10, 11], "electron": [2, 3, 4, 5, 6, 7, 8, 10, 11], "respect": [2, 3, 4, 5, 6, 7, 8, 10, 11], "safeti": [2, 3, 4, 5, 6, 7, 8, 10, 11], "rule": [2, 3, 4, 5, 6, 7, 8, 10, 11], "must": [2, 3, 4, 5, 6, 7, 8, 10, 11], "assembl": [1, 2, 3, 4, 8], "profession": [2, 3, 4, 5, 6, 7, 8, 10, 11], "context": [2, 3, 4, 5, 6, 7, 8, 10, 11], "peopl": [2, 3, 4, 5, 6, 7, 8, 10, 11], "compet": [2, 3, 4, 5, 6, 7, 8, 10, 11], "The": [0, 1, 2, 4, 5, 6, 7], "team": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "cannot": [2, 3, 4, 5, 6, 7, 8, 10, 11], "held": [2, 3, 4, 5, 6, 7, 8, 10, 11], "respons": [2, 3, 4, 5, 6, 7, 8, 10, 11], "ani": [2, 3, 4, 5, 6, 7, 8, 10, 11], "materi": [2, 3, 4, 5, 6, 7, 8, 10, 11], "human": [2, 3, 4, 5, 6, 7, 8, 10, 11], "damag": [2, 3, 4, 5, 6, 7, 8, 10, 11], "which": [2, 3, 4, 5, 6, 7, 8, 10, 11], "would": [2, 3, 4, 5, 6, 7, 8, 10, 11], "associ": [2, 3, 4, 5, 6, 7, 8, 10, 11], "us": [2, 3, 4, 5, 6, 7, 8, 10, 11], "equip": [2, 3, 4, 5, 6, 7, 8, 10, 11], "doe": [2, 3, 4, 5, 6, 7, 8, 10, 11], "work": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "after": [2, 3, 4, 5, 6, 7, 8, 10, 11], "you": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "mai": [2, 3, 4, 8, 10, 11], "redistribut": 2, "modifi": [0, 2, 10, 11], "thi": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "document": [2, 3, 8, 10], "make": [0, 2, 3, 6, 8, 10, 11], "product": [2, 5], "under": [2, 7, 10, 11], "term": [0, 2], "cern": 2, "ohl": 2, "v2": 2, "http": [3, 4, 5, 8, 10, 11], "ch": [], "distribut": 2, "without": [2, 6, 10, 11], "express": [0, 2], "OR": 2, "impli": [2, 6], "warranti": 2, "includ": [0, 2, 3, 4, 6, 8, 10, 11], "OF": 2, "merchant": 2, "satisfactori": 2, "qualiti": 2, "AND": 2, "fit": 2, "FOR": 2, "A": [0, 2, 3, 7, 8, 10, 11], "particular": 2, "purpos": [2, 7, 10, 11], "pleas": [2, 3, 7, 8, 10, 11], "see": [2, 3, 8, 10, 11], "condit": 2, "present": [0, 2, 6, 7, 10, 11], "develop": [0, 1, 2, 3, 4, 5, 8, 10, 11], "low": [2, 3, 8, 10, 11], "cost": [0, 2, 5, 11], "hardwar": [2, 10, 11], "meter": [2, 3, 7, 8, 10, 11], "provid": [2, 3, 8, 10, 11], "scientif": 2, "commun": [2, 3, 8], "robust": [2, 3, 8, 10, 11], "flexibl": 2, "tool": [2, 3, 8], "experi": [2, 3, 8, 10, 11], "call": [2, 3, 4, 6, 7, 8], "basic": [0, 2], "meterfeatur": 2, "current": [1, 2, 3, 5, 8], "inject": [1, 2, 3, 8], "measur": [1, 2, 3, 4, 6, 7, 8], "function": [0, 2, 3, 8, 10, 11], "multiplex": [1, 2, 3, 6, 7, 8], "allow": [2, 3, 5, 6, 8, 10, 11], "perform": [0, 2, 4, 10, 11], "automat": [2, 3, 8, 10, 11], "up": [2, 3, 4, 6, 8, 10, 11], "64": [1, 2, 6, 10, 11], "electrod": [1, 2, 5, 6, 7], "s": [2, 3, 5, 6, 8, 10, 11], "philosophi": [1, 2], "fulli": 2, "toolto": 2, "surfac": 2, "anyon": 2, "who": 2, "want": [2, 11], "get": [2, 3, 4, 5, 8, 10, 11], "involv": [2, 3, 8], "welcom": [0, 2], "join": 2, "ohmpi": [0, 4, 5, 6], "project": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11], "compon": [1, 3, 4, 8], "quantiti": 4, "4": [3, 4, 5, 6, 8, 10, 11], "model": [4, 5, 10, 11], "micro": [3, 4, 8, 10, 11], "sd": [3, 4, 7, 8, 10, 11], "32": [1, 3, 4, 7, 8], "go": [3, 4, 6, 8], "hdmi": [4, 7], "cabl": [4, 5, 6, 7, 10, 11], "comput": [4, 10, 11], "mous": [4, 7, 10, 11], "keyboard": [4, 7, 10, 11], "first": [0, 3, 4, 6, 7, 8], "start": [0, 1, 3, 4, 6, 8, 10, 11], "board": [0, 3, 4, 7, 8], "oper": [0, 1, 4, 5, 7], "system": [0, 4, 10, 11], "For": [3, 4, 5, 6, 8, 10, 11], "instruct": [1, 3, 4, 8], "ar": [0, 3, 4, 5, 7, 8, 10, 11], "well": [3, 4, 8, 10, 11], "describ": [0, 4, 5, 7, 10, 11], "websit": [4, 10, 11], "watch": [4, 10, 11], "video": [4, 10, 11], "how": [4, 10, 11], "set": [3, 4, 5, 8, 10, 11], "your": [0, 4, 5, 6, 10, 11], "author": [1, 4, 10, 11], "recommend": [0, 3, 4, 8, 10, 11], "latest": [4, 10, 11], "stabl": [4, 10, 11], "complet": [1, 3, 4, 5, 8], "version": [0, 3, 4, 5, 8, 10, 11], "previous": [4, 7, 10, 11], "raspbian": [4, 10, 11], "can": [3, 4, 7, 8, 10, 11], "visit": 4, "raspberrypi": 4, "org": [3, 4, 8], "en": 4, "test": [0, 3, 4, 5, 6, 7, 8, 10, 11], "were": [4, 5, 10, 11], "3": [0, 3, 4, 5, 7, 8, 10, 11], "we": [3, 4, 5, 6, 8, 10, 11], "follow": [0, 3, 4, 5, 6, 7, 8, 10, 11], "onc": [3, 4, 8, 10, 11], "ha": [3, 4, 6, 8, 10, 11], "been": [3, 4, 6, 8, 10, 11], "wire": [4, 6, 7, 10, 11], "spi": [4, 10, 11], "gpio": [4, 6, 7, 10, 11], "remot": [3, 4, 8, 10, 11], "option": [3, 4, 8, 10, 11], "deactiv": [4, 10, 11], "i2c": [4, 5, 6], "via": [4, 10, 11], "gui": [4, 10, 11], "menu": [4, 10, 11], "failur": [4, 10, 11], "carri": [4, 10, 11], "out": [4, 7, 10, 11], "task": [4, 10, 11], "caus": [4, 10, 11], "relai": [4, 5, 6, 10, 11], "shield": [4, 10, 11], "card": [1, 3, 4, 6, 7, 8], "dure": [4, 10, 11], "wai": [0, 4, 10, 11], "have": [0, 3, 4, 5, 6, 8, 10, 11], "multipl": [3, 4, 8], "parallel": 4, "instanc": 4, "interpret": [4, 5, 10, 11], "each": [4, 6, 7, 10, 11], "differ": [3, 4, 5, 6, 7, 8, 10, 11], "contain": [3, 4, 7, 8, 10, 11], "discret": 4, "copi": [0, 3, 4, 8], "its": [3, 4, 6, 7, 8, 10, 11], "support": 4, "util": [3, 4, 8], "It": [0, 3, 4, 6, 8, 10, 11], "also": [0, 3, 4, 8, 10, 11], "protect": 4, "case": [0, 3, 4, 8, 10, 11], "problem": 4, "depend": [3, 4, 8, 10, 11], "specifi": [4, 10, 11], "txt": [3, 4, 8, 10, 11], "below": [3, 4, 7, 8, 10, 11], "should": [0, 3, 4, 5, 6, 7, 8, 10, 11], "type": [0, 3, 4, 6, 8, 10, 11], "termin": [3, 4, 5, 6, 7, 8, 10, 11], "necessari": [0, 4, 6, 7, 10, 11], "ensur": [4, 10, 11], "libatla": [4, 10, 11], "base": [0, 3, 4, 6, 8, 10, 11], "dev": [4, 10, 11], "librari": [4, 10, 11], "sudo": [4, 10, 11], "apt": [4, 10, 11], "strongli": [4, 10, 11], "user": [1, 3, 4, 8, 10, 11], "creat": [0, 3, 4, 8, 10, 11], "run": [3, 4, 5, 6, 7, 8, 10, 11], "code": [0, 4, 6, 10, 11], "done": [3, 4, 8, 10, 11], "either": [4, 10, 11], "directori": [0, 3, 4, 8, 10, 11], "gather": [4, 10, 11], "within": [0, 3, 4, 8, 10, 11], "python3": [4, 10, 11], "m": [4, 5, 6, 7, 10, 11], "venv": [4, 10, 11], "command": [3, 4, 8, 10, 11], "bin": [4, 10, 11], "suffici": [4, 10, 11], "meet": [4, 10, 11], "export": 4, "cflag": 4, "fcommon": 4, "pip": [4, 10, 11], "rpi": [4, 7, 10, 11], "adafruit": [4, 5, 6, 10, 11], "blinka": [4, 10, 11], "numpi": [3, 4, 8, 10, 11], "panda": [4, 10, 11], "circuitpython": [4, 10, 11], "ads1x15": [4, 10, 11], "tca9548a": [4, 6], "mcp230xx": 4, "gpiozero": 4, "check": [3, 4, 8, 10, 11], "met": [4, 10, 11], "list": [1, 4], "leav": [4, 10, 11], "simpli": [4, 7, 10, 11], "If": [0, 4, 5, 10, 11], "decid": [4, 10, 11], "setup": [4, 10, 11], "time": [3, 4, 6, 8, 10, 11], "softwar": [1, 4, 10, 11], "click": [4, 10, 11], "access": [3, 4, 7, 8, 10, 11], "program": [4, 7, 10, 11], "pythonid": [4, 10, 11], "2": [0, 3, 4, 6, 7, 8, 10, 11], "root": [4, 10, 11], "7": [4, 5, 6, 7, 10, 11], "usr": [4, 10, 11], "select": [4, 6, 10, 11], "new": [3, 4, 8, 10, 11], "window": [3, 4, 8, 10, 11], "On": [4, 10, 11], "altern": [4, 10, 11], "5": [3, 4, 5, 6, 7, 8, 10, 11], "button": [4, 10, 11], "appear": [4, 5, 6, 10, 11], "locat": [4, 10, 11], "anoth": [4, 10, 11], "execut": [3, 4, 8, 10, 11], "6": [4, 5, 6, 7, 10, 11], "find": [4, 10, 11], "folder": [4, 10, 11], "where": [0, 3, 4, 8, 10, 11], "file": [0, 4, 5, 10, 11], "home": [3, 4, 8, 10, 11], "In": [0, 3, 4, 5, 6, 8, 10, 11], "known": [4, 10, 11], "tab": [3, 4, 8, 10, 11], "path": [0, 4, 10, 11], "close": [4, 10, 11], "ok": [4, 10, 11], "9": [3, 4, 5, 6, 7, 8, 10, 11], "save": [4, 10, 11], "modif": [4, 7, 10, 11], "number": [3, 5, 8, 10, 11], "per": [5, 10, 11], "unit": [3, 5, 8, 10, 11], "total": [5, 10, 11], "manufactur": [5, 6], "refer": [1, 3, 5, 7, 8, 10, 11], "web": 5, "raspberri": [1, 3, 5, 6, 7, 8], "pi": [1, 3, 5, 7, 8], "1": [0, 1, 3, 5, 6, 7, 8], "58": 5, "75": 5, "www": [5, 10, 11], "mouser": 5, "fr": [5, 10, 11], "productdetail": 5, "seeed": 5, "studio": 5, "102110421": 5, "qs": 5, "7mvldsj5uaxen3lyyh3sqw": 5, "3d": 5, "lm158n": 5, "amp": 5, "o": [3, 5, 8, 10, 11], "14": [5, 6, 7], "texa": 5, "instrument": [3, 5, 8], "lm358an": 5, "nopb": 5, "lm158j": 5, "x1j7hmvl2zh8vpefml8": 5, "2ffq": 5, "print": [3, 5, 8, 10, 11], "circuit": [3, 5, 8, 10, 11], "12": [3, 5, 6, 7, 8, 10, 11], "asler": 5, "ads1115": [5, 10, 11], "11": [5, 7, 10, 11], "23": [5, 7, 10, 11], "1085": 5, "2fha2pyfaduh": 5, "2fogzutwiq9iz5vjaqfoyugqalgxpeckigrqvf4hn": 5, "252bg": 5, "capacitor": [5, 11], "100nf": [5, 11], "50vdc": [5, 11], "10": [3, 5, 6, 7, 8, 10, 11], "ceram": [5, 11], "0": [3, 5, 8, 10, 11], "kemet": 5, "c320c104k1": 5, "c320c104k1r5ta7303": 5, "c4uyot": 5, "2flq1th4mcyoetma": 5, "resistor": [5, 6, 10, 11], "kohm": [5, 6, 10, 11], "5w": 5, "te": 5, "connect": [1, 3, 5, 6, 7, 8], "h81k0bya": 5, "holsworthi": 5, "2fha2pyfaduhuylh7az": 5, "2fmjfh2xjoums6wztux4som": 5, "252bii": 5, "h81k5bya": 5, "2fha2pyfadugy9twham3ru9hmijohywhbin95knm": 5, "252bx": 5, "2fm": 5, "vishai": 5, "ccf071k50gke36": 5, "dale": 5, "qkeozdl6eqpa6lzrlqfvow": 5, "mohm": [3, 5, 8, 10, 11], "762": 5, "524": 5, "cmf651m0000fkek143": 5, "ciayqk2gdckzia2levalkg": 5, "ohm": [3, 5, 8, 10, 11], "shunt": 5, "42": 5, "ohmit": 5, "41f2r0e": 5, "im6toxqzgoauedprb19mha": 5, "dual": [5, 6, 10, 11], "screw": [5, 6, 7, 10, 11], "08": 5, "mm": [5, 7, 10, 11], "pitch": [5, 10, 11], "648": 5, "cui": 5, "devic": [0, 5], "tb009": 5, "508": 5, "02be": 5, "vlwxofp3u2wcfk5uckwtka": 5, "dc": [5, 10, 11], "convert": [5, 10, 11], "24v": 5, "15": [5, 7, 10, 11], "31": [5, 7], "16": [5, 6, 7, 10, 11], "tracopow": 5, "trn": 5, "1215": [5, 11], "traco": [5, 11], "power": [3, 5, 6, 7, 8, 10, 11], "yca": 5, "2faaymw02gquicgqj0ta": 5, "dip": [5, 6], "line": [5, 6, 10, 11], "socket": [5, 6], "72": 5, "mill": 5, "max": 5, "110": 5, "43": [5, 10, 11], "308": 5, "41": 5, "001000": 5, "iggadovctstu": 5, "2fqaur8narg": 5, "mgh": 5, "vip": 5, "gclid": 5, "eaiaiqobchmin_taxbcx8wivq5nvch2qaqfpeayyccabegjk1_d_bw": 5, "aqy211eh": 5, "84": 5, "36": [5, 7, 10, 11], "panason": 5, "industri": 5, "wktuvitrialgiu8hcm7dvq": 5, "449": 5, "796": 5, "preci": 5, "83": 5, "304": 5, "001101": 5, "2fha2pyfadujqkqx4wauig": 5, "2fmgndxmcnv": 5, "2f33nj0gbxroculucynpyong": 5, "mcp23008": 5, "593": 5, "sgaepimzzmskedp9slc0yyv4kpdpmd1hts4slctivmw": 5, "header": [5, 6, 10, 11], "1x10": 5, "samtec": 5, "ssw": 5, "02": [1, 5], "g": [5, 10, 11], "ru5fayqh": 5, "252be0w1orxzibqpw": 5, "smt": 5, "breakout": 5, "pcb": [0, 5, 6, 10, 11], "soic": 5, "1212": 5, "gurawfaegucaqqfvnvtyeg": 5, "eaiaiqobchmit8zjzr6x8wivgdnvch2vbwvseaqyayabegjqg_d_bw": 5, "ina282aid": 5, "ze4": 5, "2fufuz19ilfayzxocfra": 5, "thd": 5, "1211n": 5, "39": [5, 7, 10, 11], "2fha2pyfadugpyeg4idvm": 5, "2fmsr": 5, "252b7an": 5, "2f0t3ruis9pcaqjlt4": 5, "252bnrpuooeq": 5, "20": [5, 7, 10, 11], "53": 5, "ssq": 5, "120": 5, "d": [5, 10, 11], "252be1bmvd": 5, "252bdzonqg": 5, "pin": [5, 6, 10, 11], "strip": [5, 6, 7, 10, 11], "ejector": 5, "35": [5, 7], "blk": 5, "10120550": 5, "conrad": 5, "com": [3, 5, 8, 10, 11], "bkl": 5, "contact": [3, 5, 6, 8, 10, 11], "space": 5, "254": 5, "row": 5, "pc": 5, "741435": 5, "searchterm": 5, "searchtyp": 5, "suggest": [5, 6, 10, 11], "searchsuggest": 5, "male": [5, 6], "femal": [5, 10, 11], "spacer": [5, 7], "5m": [5, 7], "hexagonal": 5, "87": 5, "48": 5, "harwin": 5, "r25": 5, "3002002": 5, "w0yvoo0ixfenuv0hsdc4": 5, "2fq": 5, "86": 5, "437": 5, "1108331841001101": 5, "318": 5, "ftmup6kvi2tnqoeziaq": 5, "2fpa": 5, "figur": [3, 5, 8, 10, 11], "show": [5, 10, 11], "gener": [1, 3, 5, 6, 8, 10, 11], "schemat": [5, 11], "plug": [5, 10, 11], "plai": 5, "To": [3, 5, 6, 8, 10, 11], "two": [0, 3, 5, 6, 8, 10, 11], "one": [3, 5, 7, 8, 10, 11], "voltag": [3, 5, 7, 8, 10, 11], "propos": [5, 10, 11], "florsch": [5, 10, 11], "bit": [5, 10, 11], "adc": [5, 10, 11], "analog": [5, 10, 11], "digit": [5, 6, 10, 11], "adapt": [0, 3, 5, 8, 10, 11], "gain": [3, 5, 8, 10, 11], "advantag": 5, "input": [3, 5, 7, 8, 10, 11], "signal": [5, 10, 11], "valu": [5, 6, 10, 11], "could": [5, 7, 10, 11], "lie": [5, 10, 11], "between": [5, 6, 7, 10, 11], "114": [5, 10, 11], "v": [1, 3, 5, 7, 8], "directli": [5, 10, 11], "integr": 5, "ina282": 5, "realiz": 5, "precis": [5, 10, 11], "around": [3, 5, 8], "instal": [3, 5, 6, 7, 8], "solder": [5, 10, 11], "optic": 5, "suppli": [5, 6, 7, 10, 11], "12v": [1, 5, 6, 7, 11], "5v": [5, 10, 11], "tdh15": 5, "four": [3, 5, 8], "inpout": 5, "output": [3, 5, 7, 8, 10, 11], "three": [3, 5, 6, 8, 10, 11], "limit": [1, 3, 5, 8], "ma": [3, 5, 8, 10, 11], "higher": [5, 11], "than": [5, 10, 11], "just": [5, 11], "decreas": 5, "don": [3, 5, 8], "t": [3, 5, 8], "forget": [3, 5, 8], "chang": [0, 3, 5, 8], "config": [0, 3, 5, 8, 10, 11], "py": [0, 3, 5, 6, 8, 10, 11], "kei": 5, "r_shunt": 5, "ohmpi_config": 5, "dict": 5, "pre": [5, 7], "adjust": [5, 10, 11], "13": [5, 7, 10, 11], "17": [5, 7, 10, 11], "18": [3, 5, 7, 8, 10, 11], "19": [5, 7, 10, 11], "view": [5, 7], "fix": [5, 7], "dot": 5, "mark": [5, 7], "top": [3, 5, 7, 8], "left": [5, 7], "corner": 5, "21": [5, 7, 10, 11], "mount": [5, 6, 7, 10, 11], "22": [5, 7, 10, 11], "lm158": 5, "amplifi": [5, 10, 11], "ads115": [5, 10, 11], "right": [5, 7], "3x11": [], "wurth": [], "elektronik": [], "971110321": [], "305": [], "apm": [], "hexseal": [], "rm3x8mm": [], "2701": [], "jjse": [], "2f12mkns3vxsdryxuhw": [], "shutdown": 5, "unplug": 5, "bottom": [5, 10, 11], "11mm": 5, "m3": 5, "upper": 5, "port": [5, 7], "write": [0, 3, 5, 6, 8, 10, 11], "i2cdetect": [5, 6], "y": [5, 6], "everyth": 5, "address": [3, 5, 10, 11], "screen": [5, 10, 11], "equival": [5, 10, 11], "need": [3, 5, 6, 8, 10, 11], "1kohm": 5, "r2": [5, 10, 11], "220": 5, "r1": [5, 10, 11], "padboard": 5, "spool": 5, "prepar": [5, 6, 10, 11], "batteri": [3, 5, 7, 8, 10, 11], "red": [3, 5, 7, 8, 10, 11], "black": [5, 7, 10, 11], "ground": [5, 10, 11], "thonni": [3, 5, 8], "sample_measurement_exampl": 5, "exampl": [3, 5, 6, 7, 8, 10, 11], "result": [5, 10, 11], "channel": [6, 10, 11], "mechan": [3, 6, 8, 10, 11], "omron": 6, "g5le": 6, "vd": 6, "vdc": 6, "combin": 6, "zvn4206a": 6, "mofset": 6, "onli": [0, 6], "30": [6, 7, 10, 11], "enough": [6, 10, 11], "activ": [3, 6], "repres": [6, 10, 11], "512": 6, "expand": 6, "mcp23017": 6, "from": [3, 6, 7, 8, 10, 11], "128": [3, 6, 8], "own": 6, "0x70": 6, "0x77": 6, "0x71": 6, "0x72": 6, "0x73": 6, "140": [], "560": [], "62": [], "92": [], "1580994": [], "tru": [], "diod": 6, "1n4007": 6, "256": [], "091": [], "296": [], "incorpor": [3, 8], "sgaepimzzmueqxo7l": [], "2fbpyakboruumren": [], "56": [], "776": [], "205": [], "46": [], "103321": [], "5twgzeq9e7hsylqaljjyrw": [], "i": [3, 7, 8, 10, 11], "40": [3, 8, 10, 11], "732": [], "sgaepimzzmskedp9slc0yfx16nydmpxjueeogolbldi": [], "27": [7, 10, 11], "325": [], "over": [], "503811": [], "mosfet": 6, "nchannel": [], "471": [], "576": [], "vhuuswq2": [], "252bsz9b": [], "2ff6fcxt7g": [], "100k\u03c9": [], "061": [], "616": [], "beyschlag": [], "mba02040c1003frp00": [], "mzrxyrlhvdt9crf7zyf": [], "2f5q": [], "89": [], "2717": [], "sgaepimzzmsyydr3r27av4eqf73yoh": [], "252baqg": [], "252bz3hvktao": [], "10120558": [], "54": [], "No": [], "51": [], "741727": [], "10120862": [], "connector": [6, 7, 10, 11], "strain": [], "relief": [], "44": [], "742063": [], "10120158": [], "ribbon": 7, "x": [10, 11], "mm\u00b2": [10, 11], "multi": [3, 8, 10, 11], "colour": [], "1012015810": [], "127": [], "008": [], "1548658": [], "hex": 7, "25": [3, 7, 8, 10, 11], "79": [], "49": [], "keyston": [], "24300": [], "uwqyq": [], "2f2czwu0ejpozmzc2a": [], "745": [], "846": [], "614": [], "25515": [], "2f2czwuxuhumfr": [], "252bzuq": [], "55": [], "328": [], "uqd7xcvsscnr3hwd6fta8g": [], "100": [3, 6, 8, 10, 11], "duplic": 6, "everi": [3, 6, 8], "build": [6, 10, 11], "therefor": [6, 10, 11], "identifi": 6, "assign": 6, "alloc": 6, "here": [6, 7, 11], "default": [3, 6, 8], "jumper": 6, "note": [6, 7, 10, 11], "name": [0, 3, 6, 8, 10, 11], "zoom": [6, 7], "befor": [3, 6, 7, 8, 10, 11], "them": [3, 6, 8, 10, 11], "definit": 6, "simplifi": 6, "thing": [3, 6, 8], "do": [0, 3, 6, 7, 8], "50": [3, 6, 7, 8, 10, 11], "cm": [6, 7, 10, 11], "long": [6, 7], "flat": 6, "pole": [6, 10, 11], "detect": 6, "script": [0, 3, 6, 8], "test_mux_board": 6, "cut": 7, "compos": 7, "proper": 7, "length": [7, 10, 11], "about": 7, "correspond": [7, 10], "crimp": 7, "idc": 7, "suitabl": [3, 7, 8, 10, 11], "clamp": 7, "pai": [7, 10, 11], "attent": [7, 10, 11], "direct": [3, 7, 8, 10, 11], "unbalanc": 7, "perpendicular": 7, "possibl": [7, 10, 11], "same": [3, 7, 8, 10, 11], "flush": 7, "posit": [7, 10, 11], "abov": [7, 10, 11], "mux": [3, 7, 10, 11], "profil": 7, "color": 7, "yellow": 7, "tin": 7, "end": [7, 10, 11], "shown": [7, 10, 11], "pictur": 7, "ii": 7, "gnd": [7, 10, 11], "nois": 7, "often": 7, "heard": 7, "when": [0, 3, 7, 8, 10, 11], "clip": 7, "place": [0, 7, 10, 11], "second": [3, 7, 8, 10, 11], "b": [3, 7], "help": [0, 3, 7, 8], "previou": [3, 7, 8], "procedur": 7, "repeat": [3, 7, 8, 10, 11], "other": [3, 7, 8, 10, 11], "purpl": 7, "relev": [0, 7], "defin": [0, 3, 7, 8], "third": [3, 7, 8], "fourth": 7, "nylon": 7, "photograph": 7, "more": [3, 7, 8], "detail": [3, 7, 8, 10], "4th": 7, "togeth": [7, 10, 11], "tie": 7, "pvc": 7, "plate": 7, "minimum": 7, "dimens": 7, "200": 7, "150": [3, 7, 8, 10, 11], "drill": 7, "remain": [7, 10, 11], "metal": 7, "tighten": 7, "so": [7, 10, 11], "usb": 7, "hole": [7, 10, 11], "26": [7, 10, 11], "add": [7, 10, 11], "attach": 7, "washer": 7, "nut": 7, "28": [1, 7], "29": 7, "come": 7, "pass": [3, 7, 8], "brown": 7, "blue": [7, 10, 11], "block": [7, 10, 11], "secur": [3, 7, 8], "33": 7, "34": 7, "37": 7, "38": 7, "os": [3, 7, 8], "monitor": [3, 7, 8, 10, 11], "deliv": [7, 10, 11], "12vdc": 7, "enjoi": 7, "publish": [3, 8, 10], "journal": 10, "howev": [0, 10, 11], "correct": [10, 11], "bug": 10, "exist": [0, 10, 11], "explain": 10, "miss": 10, "point": [3, 8, 10, 11], "invit": 10, "v1": [3, 8, 10, 11], "offer": [3, 8, 10, 11], "commerci": [10, 11], "avail": [0, 3, 8, 10, 11], "field": [3, 8, 10, 11], "specif": [0, 10, 11], "temperatur": [3, 8, 10, 11], "c": [3, 8, 10, 11], "consumpt": [3, 8, 10, 11], "cpu": [3, 8, 10, 11], "control": [3, 8, 10, 11], "w": [3, 8, 10, 11], "min": [3, 8, 10, 11], "puls": [3, 8, 10, 11], "durat": [3, 8, 10, 11], "ms": [3, 8, 10, 11], "imped": [3, 8, 10, 11], "storag": [3, 8, 10, 11], "resolut": [3, 8, 10, 11], "o1": [10, 11], "step": [0, 10, 11], "youtub": [10, 11], "wjwzhv1v3pk": [10, 11], "noob": [10, 11], "simpl": [10, 11], "sure": [0, 3, 8, 10, 11], "unexpectedli": [10, 11], "boot": [10, 11], "cd": [10, 11], "gnu": [10, 11], "nano": [10, 11], "editor": [3, 8, 10, 11], "At": [10, 11], "op": [10, 11], "dl": [10, 11], "press": [10, 11], "ctrl": [10, 11], "enter": [10, 11], "escap": [10, 11], "return": [3, 8, 10, 11], "wa": [10, 11], "introduc": [0, 3, 8, 10, 11], "Its": [10, 11], "studi": [10, 11], "hous": [10, 11], "design": [0, 3, 8, 10, 11], "diagram": [10, 11], "displai": [10, 11], "mimic": [10, 11], "behavior": [10, 11], "soil": [10, 11], "subject": [10, 11], "r11": [10, 11], "r10": [10, 11], "r12": [10, 11], "constitut": [10, 11], "thei": [3, 8, 10, 11], "typic": [0, 3, 8, 10, 11], "made": [3, 8, 10, 11], "stainless": [10, 11], "steel": [10, 11], "seri": [10, 11], "part": [0, 3, 10, 11], "r9": [10, 11], "ad": [3, 8, 10, 11], "flow": [3, 8, 10, 11], "order": [0, 3, 8, 10, 11], "less": [10, 11], "sum": [10, 11], "inde": [10, 11], "000": [10, 11], "intens": [10, 11], "potenti": [10, 11], "calcul": [10, 11], "insert": [10, 11], "1115": [10, 11], "our": [3, 8, 10, 11], "a1": [10, 11], "a0": [10, 11], "increas": [10, 11], "track": [0, 10, 11], "divid": [10, 11], "bridg": [10, 11], "r5": [10, 11], "r8": [10, 11], "r6": [10, 11], "r7": [10, 11], "accord": [0, 10, 11], "n": [3, 8, 10, 11], "a2": [10, 11], "a3": [10, 11], "obtain": [10, 11], "ly": [10, 11], "rang": [0, 10, 11], "let": [10, 11], "equal": [10, 11], "multipli": [10, 11], "reduct": [10, 11], "section": [0, 3, 8, 10, 11], "despit": [10, 11], "high": [10, 11], "e": [3, 8, 10, 11], "accur": [10, 11], "still": [10, 11], "calibr": [10, 11], "voltmet": [10, 11], "variou": [10, 11], "These": [3, 8, 10, 11], "serv": [3, 8, 10, 11], "With": [10, 11], "disturb": [10, 11], "being": [10, 11], "estim": [10, 11], "mega": [10, 11], "shortcut": [10, 11], "excess": [10, 11], "whose": [3, 8, 10, 11], "lithium": [10, 11], "ion": [10, 11], "automobil": [10, 11], "lead": [10, 11], "acid": [10, 11], "strong": [10, 11], "hazard": [10, 11], "fuse": [10, 11], "repositori": [3, 8, 10, 11], "onto": [10, 11], "illustr": [3, 8, 10, 11], "ohmmet": [10, 11], "coeffici": [10, 11], "coef_p0": [10, 11], "coef_p1": [10, 11], "coef_p2": [10, 11], "coef_p3": [10, 11], "coef": [10, 11], "po": [10, 11], "p1": [10, 11], "r3": [10, 11], "r4": [10, 11], "p2": [10, 11], "p3": [10, 11], "r_ref": [10, 11], "slope": [10, 11], "convers": [10, 11], "p0": [10, 11], "accuraci": [10, 11], "both": [0, 10, 11], "addit": [3, 8, 10, 11], "lm358n": [10, 11], "appli": [10, 11], "prefer": [3, 8, 10, 11], "weaker": 10, "stronger": [10, 11], "tx": [10, 11], "rememb": [10, 11], "holder": [10, 11], "f": [10, 11], "consist": [10, 11], "circul": [10, 11], "through": [3, 8, 10, 11], "fig": [10, 11], "modul": [0, 10, 11], "switch": [10, 11], "common": [10, 11], "neg": [10, 11], "normal": [10, 11], "simultan": [10, 11], "role": [10, 11], "revers": [10, 11], "polar": [10, 11], "thu": [10, 11], "energ": [10, 11], "solut": [0, 10, 11], "manag": [3, 8, 10, 11], "next": [10, 11], "featur": [10, 11], "strict": [10, 11], "in1": [10, 11], "in2": [10, 11], "in3": [10, 11], "in4": [10, 11], "5vdc": [10, 11], "5vcc": [10, 11], "now": [10, 11], "mm2": [10, 11], "lastli": [10, 11], "congratul": [10, 11], "construct": [10, 11], "valid": [3, 10, 11], "conduct": [0, 10, 11], "manual": [3, 8, 10, 11], "practic": [0, 10, 11], "ert": [10, 11], "sever": [10, 11], "ten": [10, 11], "thousand": [10, 11], "arrai": [3, 8, 10, 11], "stuck": [10, 11], "enabl": [3, 8, 10, 11], "smaller": [10, 11], "hand": [10, 11], "entir": [3, 8, 10, 11], "cap": [10, 11], "produc": [10, 11], "clean": [10, 11], "distanc": [10, 11], "had": [10, 11], "extra": [10, 11], "As": [10, 11], "final": [10, 11], "actual": [10, 11], "singl": [0, 3, 8, 10, 11], "protocol": [3, 8, 10, 11], "horizont": [10, 11], "vertic": [10, 11], "06": [10, 11], "04": [10, 11], "09": [10, 11], "05": [10, 11], "din": [10, 11], "rail": [10, 11], "chosen": [10, 11], "consequ": [10, 11], "incom": [10, 11], "instead": [10, 11], "moreov": [10, 11], "turn": [10, 11], "bought": [10, 11], "down": [10, 11], "velleman": [10, 11], "wpm404": [10, 11], "potentiomet": [10, 11], "download": [3, 8, 10, 11], "scienc": [10, 11], "framework": [10, 11], "manuscript": [10, 11], "osf": [10, 11], "io": [10, 11], "dzwb4": [10, 11], "gitlab": [3, 8, 10, 11], "irstea": [10, 11], "unzip": [10, 11], "master": [10, 11], "readm": [10, 11], "assist": [10, 11], "disconnect": [10, 11], "handl": [3, 8, 10, 11], "charg": [10, 11], "full": [10, 11], "capac": [10, 11], "fewer": [10, 11], "bank": [10, 11], "2a": [10, 11], "ll": [10, 11], "insid": [10, 11], "abmn": [3, 8, 10, 11], "quadrupol": [3, 8, 10, 11], "numer": [10, 11], "some": [0, 1, 3, 8, 10, 11], "main": [3, 8, 10, 11], "optim": [10, 11], "attribut": [10, 11], "stack": [3, 8, 10, 11], "the9": [10, 11], "hear": [10, 11], "characterist": [10, 11], "sound": [10, 11], "permut": [10, 11], "csv": [10, 11], "nb_electrod": [3, 8, 10, 11], "maximum": [3, 8, 10, 11], "injection_dur": [3, 8, 10, 11], "nbr_mea": [3, 8, 10, 11], "sequenc": [3, 8, 10, 11], "sequence_delai": [3, 8, 10, 11], "delai": [10, 11], "repetit": [10, 11], "evolv": [10, 11], "littl": [10, 11], "public": [10, 11], "articl": [10, 11], "date": [1, 10, 11], "sainsmart": [], "canal": [], "pour": [], "arduino": [], "dsp": [], "avr": [], "pic": [], "arm": [], "99": [], "199": [], "sain": [], "smart": [], "101": [], "70": [], "103": [], "018": [], "1x1": [], "66": [], "1568649": [], "1x0": [], "71": [], "1565235": [], "68": [], "rs": [], "pro": [], "897": [], "1332": [], "858": [], "627": [], "52": [], "upw50b50rv": [], "1083": [], "7ah": [], "537": [], "5488": [], "lr20": [], "9v": [], "185": [], "4686": [], "ferrul": [], "500": [], "piec": [], "weidmul": [], "9004330000": [], "966067": [], "car": [], "littelfus": [], "fhac0002zxj": [], "96": [], "improv": [0, 3, 8, 11], "upgrad": [3, 8, 11], "01": [1, 3, 8, 11], "replac": [0, 11], "trn3": 11, "suppress": 11, "10v": 11, "fast": 11, "decoupl": 11, "last": 11, "veri": [0, 11], "prevent": 11, "overh": 11, "toler": 11, "orient": 11, "h": 11, "nf": 11, "tabl": [10, 11], "jason": 11, "ohmpi_param": 11, "json": [3, 8, 11], "export_path": 11, "desktop": 11, "0251001": [], "pat1l": [], "box": [3, 8], "mani": [3, 8], "dii": [3, 8], "laps": [3, 8], "seek": [3, 8], "share": [0, 3, 8], "wish": [3, 8], "2023": [1, 3, 8], "stop": [3, 8], "0x": [3, 8], "effort": [3, 8], "paramet": [3, 8], "80": [3, 8], "virtual": 3, "environ": 3, "packag": [3, 8], "id": [3, 8], "summar": [3, 8], "cover": [3, 8], "acquisit": [3, 8], "separ": [3, 8], "ohmpi_set": [3, 8], "central": [3, 8], "class": [0, 3, 8], "interact": [0, 3, 8], "handler": [3, 8], "layer": [3, 8], "releas": [1, 3, 8], "excel": [3, 8], "log": [3, 8], "implement": [0, 1, 3, 8], "broker": [3, 8], "zip": [3, 8], "rotat": [3, 8], "disk": [3, 8], "exec_logg": [3, 8], "data_logg": [3, 8], "plan": [3, 8], "state": [3, 8], "health": [3, 8], "soh": [3, 8], "futur": [3, 8], "By": [3, 8], "written": [3, 8], "consol": [3, 8], "like": [3, 8], "store": [0, 3, 8], "local": [3, 8], "dai": [3, 8], "size": [3, 8], "exce": [3, 8], "sent": [3, 8], "level": [3, 8], "advanc": [3, 8], "edit": [3, 8], "setup_logg": [3, 8], "custom": [3, 8], "desir": [3, 8], "usernam": [3, 8], "password": [3, 8], "One": [3, 8], "understand": [3, 8], "alter": [3, 8], "keep": [3, 8], "bash": [3, 8], "run_http_interfac": [3, 8], "sh": [3, 8], "api": [1, 3, 8], "import": [0, 3, 8], "iot": [3, 8], "messag": [3, 8], "friendli": [3, 8], "graphic": [3, 8], "quick": [3, 8], "easi": [3, 8], "wi": [3, 8], "fi": [3, 8], "ap": [3, 8], "webserv": [3, 8], "index": [3, 8], "html": [3, 8], "laptop": [3, 8], "mobil": [3, 8], "phone": [3, 8], "upload": [3, 8], "act": [3, 8], "raspap": [3, 8], "runonstart": [3, 8], "itself": [3, 8], "141": [3, 8], "8080": [3, 8], "pseudo": [3, 8], "evolut": [3, 8], "appar": [3, 8], "especi": [3, 8], "suit": [3, 8], "autom": [3, 8], "ipython": [3, 8], "ssh": [3, 8], "putti": [3, 8], "maco": [3, 8], "linux": [3, 8], "found": [3, 8], "np": [3, 8], "chdir": [3, 8], "object": [3, 8], "k": [3, 8], "load": [3, 8], "nb_stack": [3, 8], "half": [3, 8], "cycl": [3, 8], "updat": [3, 8], "update_set": [3, 8], "shape": [3, 8], "set_sequ": [3, 8], "n2": [3, 8], "string": [3, 8], "load_sequ": [3, 8], "rs_check": [3, 8], "synchron": [3, 8], "wait": [3, 8], "prompt": [3, 8], "run_sequ": [3, 8], "run_sequence_async": [3, 8], "thread": [3, 8], "immedi": [3, 8], "sleep": [3, 8], "interrupt": [3, 8], "kill": [3, 8], "asynchron": [3, 8], "given": [3, 8], "interv": [3, 8], "nb_mea": [3, 8], "run_multiple_sequ": [3, 8], "taken": [3, 8], "switch_mux_on": [3, 8], "run_measur": [3, 8], "switch_mux_off": [3, 8], "risk": [3, 8], "short": [3, 8], "argument": [3, 8], "autogain": [3, 8], "true": [3, 8], "good": [3, 8], "usag": [3, 8], "process": [3, 8], "sensor": [3, 8], "scope": [3, 8], "internet": [3, 8], "network": [3, 8], "auxiliari": [3, 8], "subscrib": [3, 8], "approach": [3, 8], "mosquitto": [3, 8], "server": [3, 8], "reachabl": [3, 8], "net": [3, 8], "servic": [3, 8], "install_local_mqtt_brok": [3, 8], "examin": [3, 8], "easili": [0, 3, 8], "parti": [3, 8], "explor": [3, 8], "receiv": [3, 8], "reboot": [3, 8], "further": [3, 8], "format": [3, 8], "kwarg": [3, 8], "cmd_id": [3, 8], "3fzxv121uitwgjwygcz4xw": [3, 8], "cmd": [3, 8], "3fzxv121uitwgjwygcz4yw": [3, 8], "tailor": [3, 8], "dashboard": [3, 8], "browser": [3, 8], "node": [3, 8], "complex": [3, 8], "properli": [3, 8], "palett": [3, 8], "noder": [3, 8], "doc": [3, 8], "guid": [3, 8], "ui": [3, 8], "visual": [3, 8], "cookbook": [3, 8], "draft": 0, "TO": 0, "BE": 0, "review": 0, "intend": 0, "advic": 0, "best": 0, "contribut": 0, "maintain": 0, "promot": 0, "exchang": 0, "reus": 0, "contributor": 0, "ideal": 0, "few": 0, "distinguish": 0, "deal": 0, "compli": 0, "Such": 0, "focu": 0, "reduc": 0, "newli": 0, "expos": 0, "minim": 0, "hardware_system": 0, "discuss": 0, "ohmpi_hardwar": 0, "initi": 0, "earli": 0, "stage": 0, "investig": 0, "strategi": 0, "readi": 0, "conceiv": 0, "kicad": 0, "schema": 0, "alwai": 0, "branch": 0, "python": 0, "similar": 0, "hardware_compon": 0, "abstract": 0, "abstract_hardware_compon": 0, "method": 0, "configur": [0, 1], "hardware_config": 0, "dictionari": 0, "config_xxx": 0, "xxx": 0, "nov": 1, "juli": 1, "2016": 1, "target": 1, "research": 1, "statu": 1, "matur": 1, "progress": 1, "offici": 1, "guidelin": 1, "tutori": 1, "content": 1, "partner": 1, "cite": 1, "introduct": 1, "technic": 1, "v2023": 1, "tow": 5, "led": 7, "consid": 7, "temporari": 7, "orang": 7}, "objects": {"": [[9, 0, 0, "-", "ohmpi"]]}, "objtypes": {"0": "py:module"}, "objnames": {"0": ["py", "module", "Python module"]}, "titleterms": {"ohmpi": [1, 2, 3, 7, 8, 10, 11], "project": 2, "author": 2, "partner": 2, "cite": 2, "introduct": 2, "step": [3, 4, 5, 6, 7, 8], "n": [4, 5, 6, 7], "1": [4, 10, 11], "raspberri": [4, 10, 11], "pi": [4, 10, 11], "configur": [3, 4, 8, 10, 11], "part": [4, 5, 6], "A": [4, 5, 6], "os": [4, 10, 11], "instal": [4, 10, 11], "b": [4, 5, 6, 10, 11], "virtual": [4, 10, 11], "environ": [4, 10, 11], "packag": [4, 10, 11], "c": [4, 5, 6], "activ": [4, 10, 11], "thonni": [4, 10, 11], "python": [3, 4, 8, 10, 11], "id": [4, 10, 11], "2": 5, "measur": [5, 10, 11], "board": [5, 6, 10, 11], "assembl": [5, 6, 7, 10, 11], "requir": [5, 6], "compon": [0, 5, 6, 10, 11], "list": [5, 10, 11], "descript": [5, 10, 11], "start": 5, "up": 5, "check": 5, "3": 6, "mux": 6, "address": 6, "valid": 6, "4": 7, "v": [10, 11], "01": 10, "limit": [10, 11], "32": [10, 11], "electrod": [3, 8, 10, 11], "The": [3, 8, 10, 11], "philosophi": [3, 8, 10, 11], "technic": [10, 11], "data": [10, 11], "current": [10, 11], "inject": [10, 11], "card": [10, 11], "connect": [10, 11], "electr": [10, 11], "resist": [1, 10, 11], "implement": [10, 11], "first": [10, 11], "four": [10, 11], "multiplex": [10, 11], "oper": [3, 8, 10, 11], "instruct": [10, 11], "preliminari": [10, 11], "procedur": [10, 11], "onli": [10, 11], "initi": [10, 11], "startup": [10, 11], "paramet": [10, 11], "complet": [10, 11], "tabl": [], "titl": [], "02": 11, "v2023": [3, 8], "64": [3, 8], "12v": [3, 8], "hardwar": [0, 1, 3, 8], "specif": [3, 8], "build": [3, 8], "an": [3, 8], "softwar": [0, 3, 8], "system": [3, 8], "architectur": [3, 8], "logger": [3, 8], "file": [3, 8], "interfac": [0, 3, 8], "applic": [3, 8], "web": [3, 8], "mqtt": [3, 8], "api": 9, "refer": 9, "new": 0, "open": 1, "sourc": 1, "meter": 1, "summari": 1, "document": 1, "center": 1}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/doc/build/html/source_rst/v1.xx/V1_01.html b/doc/build/html/source_rst/v1.xx/V1_01.html index 9cd21884a541e33ae477467144c2896cdb27ad00..7ad64b08ba1a525fe09c9c7b2a03c3de48522dad 100644 --- a/doc/build/html/source_rst/v1.xx/V1_01.html +++ b/doc/build/html/source_rst/v1.xx/V1_01.html @@ -189,7 +189,7 @@ For this step, the installation instructions are well described on the Raspberry <p class="admonition-title">Note</p> <p>All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian:</p> <figure class="align-center"> -<a class="reference internal image-reference" href="source_rst/v1.xx/raspbian_version.jpg"><img alt="alternate text" src="source_rst/v1.xx/raspbian_version.jpg" style="width: 800px; height: 400px;" /></a> +<a class="reference internal image-reference" href="../../_images/raspbian_version1.jpg"><img alt="alternate text" src="../../_images/raspbian_version1.jpg" style="width: 800px; height: 400px;" /></a> </figure> </div> <div class="admonition warning"> @@ -267,21 +267,21 @@ to leave the virtual environment simply type:</p> <p>1- Run the Thonny Python IDE software, Click on raspberry access <strong>menu > programming> Thonny pythonIDE</strong></p> <p>2- Thonny opens, Python runs on the root (Python 3.7.3 (/usr/bin/python3))</p> <figure class="align-center"> -<a class="reference internal image-reference" href="source_rst/v1.xx/thonny_first_interface.jpg"><img alt="alternate text" src="source_rst/v1.xx/thonny_first_interface.jpg" style="width: 600px; height: 450px;" /></a> +<a class="reference internal image-reference" href="../../_images/thonny_first_interface2.jpg"><img alt="alternate text" src="../../_images/thonny_first_interface2.jpg" style="width: 600px; height: 450px;" /></a> </figure> <p>3-Click on <strong>Run>select interpreter</strong>, a new window opens click on interpret</p> <figure class="align-center"> -<a class="reference internal image-reference" href="source_rst/v1.xx/thonny_option.jpg"><img alt="alternate text" src="source_rst/v1.xx/thonny_option.jpg" style="width: 600px; height: 450px;" /></a> +<a class="reference internal image-reference" href="../../_images/thonny_option1.jpg"><img alt="alternate text" src="../../_images/thonny_option1.jpg" style="width: 600px; height: 450px;" /></a> </figure> <p>4-On the new open windows select <strong>alternative Python3 or virtual environment</strong></p> <figure class="align-center"> -<a class="reference internal image-reference" href="source_rst/v1.xx/thonny_interpreter.jpg"><img alt="alternate text" src="source_rst/v1.xx/thonny_interpreter.jpg" style="width: 600px; height: 450px;" /></a> +<a class="reference internal image-reference" href="../../_images/thonny_interpreter1.jpg"><img alt="alternate text" src="../../_images/thonny_interpreter1.jpg" style="width: 600px; height: 450px;" /></a> </figure> <p>5- New buttons appeared, selected <strong>“locate another python executable “</strong></p> <p>6- A new window opens, find the folder where there is the python 3 file in the virtual environment folder previously created <strong>/home/pi/ohmpi/bin/python3</strong>.</p> <p>7- In the <strong>known interpreter</strong> tab the path of the virtual environment should appear</p> <figure class="align-center"> -<a class="reference internal image-reference" href="source_rst/v1.xx/thonny_interpreter_folder.jpg"><img alt="alternate text" src="source_rst/v1.xx/thonny_interpreter_folder.jpg" style="width: 600px; height: 450px;" /></a> +<a class="reference internal image-reference" href="../../_images/thonny_interpreter_folder1.jpg"><img alt="alternate text" src="../../_images/thonny_interpreter_folder1.jpg" style="width: 600px; height: 450px;" /></a> </figure> <p>8- Close the window by clicking on <strong>ok</strong>.</p> <p>9- Close thonny to save modifications</p> @@ -325,7 +325,7 @@ A shortcut between Electrodes A and B will generate excessive currents, whose in A lithium ion battery or automobile-type lead-acid battery can deliver a strong enough current to damage the board and, as such, constitutes a potential hazard. We therefore recommend adding a 1.5-A fuse between the battery and resistor R9.</p> <figure class="align-center" id="id1"> -<a class="reference internal image-reference" href="source_rst/v1.xx/schema_measurement_board.jpg"><img alt="alternate text" src="source_rst/v1.xx/schema_measurement_board.jpg" style="width: 800px; height: 400px;" /></a> +<a class="reference internal image-reference" href="../../_images/schema_measurement_board1.jpg"><img alt="alternate text" src="../../_images/schema_measurement_board1.jpg" style="width: 800px; height: 400px;" /></a> <figcaption> <p><span class="caption-text">Measurement board</span><a class="headerlink" href="#id1" title="Permalink to this image">ïƒ</a></p> </figcaption> @@ -374,13 +374,13 @@ Once all the components have been soldered together, the measurement board can b battery terminal, according to Figure 9. Between the battery and the TX+ terminal of the measurement board, remember to place a fuse holder with a 1.5-A fuse for safety purposes.</p> <figure class="align-center" id="id2"> -<a class="reference internal image-reference" href="source_rst/v1.xx/measurement_board.jpg"><img alt="alternate text" src="source_rst/v1.xx/measurement_board.jpg" style="width: 800px; height: 500px;" /></a> +<a class="reference internal image-reference" href="../../_images/measurement_board.jpg"><img alt="alternate text" src="../../_images/measurement_board.jpg" style="width: 800px; height: 500px;" /></a> <figcaption> <p><span class="caption-text">Measurement circuit board assembly: a) printed circuit board, b) adding the 1-KOhm resistors ± 1%, c)adding the 1.5-KOhm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers</span><a class="headerlink" href="#id2" title="Permalink to this image">ïƒ</a></p> </figcaption> </figure> <figure class="align-center" id="id3"> -<a class="reference internal image-reference" href="source_rst/v1.xx/measurement_board-2.jpg"><img alt="alternate text" src="source_rst/v1.xx/measurement_board-2.jpg" style="width: 800px; height: 700px;" /></a> +<a class="reference internal image-reference" href="../../_images/measurement_board-2.jpg"><img alt="alternate text" src="../../_images/measurement_board-2.jpg" style="width: 800px; height: 700px;" /></a> <figcaption> <p><span class="caption-text">Measurement board installation with Raspberry Pi</span><a class="headerlink" href="#id3" title="Permalink to this image">ïƒ</a></p> </figcaption> @@ -401,7 +401,7 @@ the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by t the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized, they remain in the normally closed position. This set-up offers a simple and robust solution to inject current.</p> <figure class="align-center" id="id4"> -<a class="reference internal image-reference" href="source_rst/v1.xx/current_board.jpg"><img alt="alternate text" src="source_rst/v1.xx/current_board.jpg" style="width: 800px; height: 400px;" /></a> +<a class="reference internal image-reference" href="../../_images/current_board.jpg"><img alt="alternate text" src="../../_images/current_board.jpg" style="width: 800px; height: 400px;" /></a> <figcaption> <p><span class="caption-text">Wiring of the 4-channel relay module board for current injection management</span><a class="headerlink" href="#id4" title="Permalink to this image">ïƒ</a></p> </figcaption> @@ -414,7 +414,7 @@ the relay card’s 4 channels respectively to the GND pin and 5Vcc of the Raspbe shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively to terminals B and A of the measurement board.</p> <figure class="align-center" id="id5"> -<a class="reference internal image-reference" href="source_rst/v1.xx/installation_current_board.jpg"><img alt="alternate text" src="source_rst/v1.xx/installation_current_board.jpg" style="width: 800px; height: 700px;" /></a> +<a class="reference internal image-reference" href="../../_images/installation_current_board.jpg"><img alt="alternate text" src="../../_images/installation_current_board.jpg" style="width: 800px; height: 700px;" /></a> <figcaption> <p><span class="caption-text">Current injection board installation with Raspberry Pi</span><a class="headerlink" href="#id5" title="Permalink to this image">ïƒ</a></p> </figcaption> @@ -439,12 +439,6 @@ modules with 16 channels each. On the first board, on each MUX, 15 relays out of configuration enables making smaller multiplexers (8 or 16 electrodes only). On the other hand, if you prefer upping to 64 electrodes, which is entirely possible, a GPIO channel multiplier will have to be used. To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown below.</p> -<figure class="align-center" id="id6"> -<a class="reference internal image-reference" href="source_rst/v1.xx/multiplexer_implementation.jpg"><img alt="alternate text" src="source_rst/v1.xx/multiplexer_implementation.jpg" style="width: 800px; height: 500px;" /></a> -<figcaption> -<p><span class="caption-text">Schematic diagram of the wiring of two 16-channel relay shields</span><a class="headerlink" href="#id6" title="Permalink to this image">ïƒ</a></p> -</figcaption> -</figure> <p>For this purpose, 0.5-mm² cables with end caps are used and their length adjusted for each connection in order to produce a clean assembly. The length was adjusted so that the distance between the two points to be connected could be directly measured on the board once they had been assembled one above the other, in adding an extra 3 cm. The wires at the ends need to be stripped and the end caps added. @@ -453,10 +447,10 @@ As a final step, connect the cables to the correct connectors. This operation mu for activating each relay (Fig. 12). However, we will be activating several relays with a single GPIO (to limit the number of GPIOs used on Raspberry Pi, see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Figure.</p> <blockquote> -<div><figure class="align-center" id="id7"> -<a class="reference internal image-reference" href="source_rst/v1.xx/connection.jpg"><img alt="alternate text" src="source_rst/v1.xx/connection.jpg" style="width: 800px; height: 400px;" /></a> +<div><figure class="align-center" id="id6"> +<a class="reference internal image-reference" href="../../_images/connection.jpg"><img alt="alternate text" src="../../_images/connection.jpg" style="width: 800px; height: 400px;" /></a> <figcaption> -<p><span class="caption-text">Connection to the 16-channel relay shield</span><a class="headerlink" href="#id7" title="Permalink to this image">ïƒ</a></p> +<p><span class="caption-text">Connection to the 16-channel relay shield</span><a class="headerlink" href="#id6" title="Permalink to this image">ïƒ</a></p> </figcaption> </figure> </div></blockquote> @@ -518,19 +512,19 @@ The next step consists of connecting the relay card inputs to the Raspberry Pi a <p>At this point, all that remains is to connect the electrodes of each multiplexer to a terminal block (Fig. 13). In our set-up, screw terminals assembled on a din rail were used. According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in the following Figure.</p> -<figure class="align-center" id="id8"> -<a class="reference internal image-reference" href="source_rst/v1.xx/cable.jpg"><img alt="alternate text" src="source_rst/v1.xx/cable.jpg" style="width: 800px; height: 300px;" /></a> +<figure class="align-center" id="id7"> +<a class="reference internal image-reference" href="../../_images/cable.jpg"><img alt="alternate text" src="../../_images/cable.jpg" style="width: 800px; height: 300px;" /></a> <figcaption> -<p><span class="caption-text">Wire cabling for multiplexer and terminal screw connection</span><a class="headerlink" href="#id8" title="Permalink to this image">ïƒ</a></p> +<p><span class="caption-text">Wire cabling for multiplexer and terminal screw connection</span><a class="headerlink" href="#id7" title="Permalink to this image">ïƒ</a></p> </figcaption> </figure> <p>the next figure provides an example of multiplexer relay connections for electrode no. 1: this electrode of multiplexer MUX A must be connected to electrode no. 1 of MUX B. Moreover, electrode no. 1 of MUX B must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block. This operation must be repeated for all 32 electrodes.</p> -<figure class="align-center" id="id9"> -<a class="reference internal image-reference" href="source_rst/v1.xx/electrode_cable.jpg"><img alt="alternate text" src="source_rst/v1.xx/electrode_cable.jpg" style="width: 800px; height: 800px;" /></a> +<figure class="align-center" id="id8"> +<a class="reference internal image-reference" href="../../_images/electrode_cable.jpg"><img alt="alternate text" src="../../_images/electrode_cable.jpg" style="width: 800px; height: 800px;" /></a> <figcaption> -<p><span class="caption-text">Example of a multiplexer connection to the screw terminal for electrode no. 1.</span><a class="headerlink" href="#id9" title="Permalink to this image">ïƒ</a></p> +<p><span class="caption-text">Example of a multiplexer connection to the screw terminal for electrode no. 1.</span><a class="headerlink" href="#id8" title="Permalink to this image">ïƒ</a></p> </figcaption> </figure> <div class="admonition warning"> diff --git a/doc/source/image_ohmpi_2.jpg b/doc/source/image_ohmpi_2.jpg deleted file mode 100644 index d496aff74e226f6b0c683b983230273f7dd078ec..0000000000000000000000000000000000000000 Binary files a/doc/source/image_ohmpi_2.jpg and /dev/null differ diff --git a/doc/source/Under-Construction.png b/doc/source/img/Under-Construction.png similarity index 100% rename from doc/source/Under-Construction.png rename to doc/source/img/Under-Construction.png diff --git a/doc/source/measurement_board_requirement.jpg b/doc/source/img/measurement_board_requirement.jpg similarity index 100% rename from doc/source/measurement_board_requirement.jpg rename to doc/source/img/measurement_board_requirement.jpg diff --git a/doc/source/raspbian_version.jpg b/doc/source/img/raspbian_version.jpg similarity index 100% rename from doc/source/raspbian_version.jpg rename to doc/source/img/raspbian_version.jpg diff --git a/doc/source/img/schema_measurement_board.jpg b/doc/source/img/schema_measurement_board.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da38456330fc28f6a1c562709c6dc4a4b3685922 Binary files /dev/null and b/doc/source/img/schema_measurement_board.jpg differ diff --git a/doc/source/schema_measurement_board_3.16.jpg b/doc/source/img/schema_measurement_board_3.16.jpg similarity index 100% rename from doc/source/schema_measurement_board_3.16.jpg rename to doc/source/img/schema_measurement_board_3.16.jpg diff --git a/doc/source/thonny_first_interface.jpg b/doc/source/img/thonny_first_interface.jpg similarity index 100% rename from doc/source/thonny_first_interface.jpg rename to doc/source/img/thonny_first_interface.jpg diff --git a/doc/source/thonny_interpreter.jpg b/doc/source/img/thonny_interpreter.jpg similarity index 100% rename from doc/source/thonny_interpreter.jpg rename to doc/source/img/thonny_interpreter.jpg diff --git a/doc/source/thonny_interpreter_folder.jpg b/doc/source/img/thonny_interpreter_folder.jpg similarity index 100% rename from doc/source/thonny_interpreter_folder.jpg rename to doc/source/img/thonny_interpreter_folder.jpg diff --git a/doc/source/thonny_option.jpg b/doc/source/img/thonny_option.jpg similarity index 100% rename from doc/source/thonny_option.jpg rename to doc/source/img/thonny_option.jpg diff --git a/doc/source/source_rst/v1.xx/V1_01.rst b/doc/source/source_rst/v1.xx/V1_01.rst index 474ea7091e8488a305cecd947b1db10e4ec4c63c..3c8d95940b68fcd85dd5ff435d394a3a4e4cfaf4 100644 --- a/doc/source/source_rst/v1.xx/V1_01.rst +++ b/doc/source/source_rst/v1.xx/V1_01.rst @@ -62,7 +62,7 @@ For this step, the installation instructions are well described on the Raspberry .. note:: All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian: - .. figure:: raspbian_version.jpg + .. figure:: ../../img/raspbian_version.jpg :width: 800px :align: center :height: 400px @@ -162,7 +162,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt 2- Thonny opens, Python runs on the root (Python 3.7.3 (/usr/bin/python3)) -.. figure:: thonny_first_interface.jpg +.. figure:: ../../img/thonny_first_interface.jpg :width: 600px :align: center :height: 450px @@ -171,7 +171,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt 3-Click on **Run>select interpreter**, a new window opens click on interpret -.. figure:: thonny_option.jpg +.. figure:: ../../img/thonny_option.jpg :width: 600px :align: center :height: 450px @@ -180,7 +180,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt 4-On the new open windows select **alternative Python3 or virtual environment** -.. figure:: thonny_interpreter.jpg +.. figure:: ../../img/thonny_interpreter.jpg :width: 600px :align: center :height: 450px @@ -193,7 +193,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt 7- In the **known interpreter** tab the path of the virtual environment should appear -.. figure:: thonny_interpreter_folder.jpg +.. figure:: ../../img/thonny_interpreter_folder.jpg :width: 600px :align: center :height: 450px @@ -246,7 +246,7 @@ A shortcut between Electrodes A and B will generate excessive currents, whose in A lithium ion battery or automobile-type lead-acid battery can deliver a strong enough current to damage the board and, as such, constitutes a potential hazard. We therefore recommend adding a 1.5-A fuse between the battery and resistor R9. -.. figure:: schema_measurement_board.jpg +.. figure:: ../../img/schema_measurement_board.jpg :width: 800px :align: center :height: 400px @@ -303,7 +303,7 @@ Once all the components have been soldered together, the measurement board can b battery terminal, according to Figure 9. Between the battery and the TX+ terminal of the measurement board, remember to place a fuse holder with a 1.5-A fuse for safety purposes. -.. figure:: measurement_board.jpg +.. figure:: ../../img/v1.xx/measurement_board.jpg :width: 800px :align: center :height: 500px @@ -312,7 +312,7 @@ place a fuse holder with a 1.5-A fuse for safety purposes. Measurement circuit board assembly: a) printed circuit board, b) adding the 1-KOhm resistors ± 1%, c)adding the 1.5-KOhm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers -.. figure:: measurement_board-2.jpg +.. figure:: ../../img/v1.xx/measurement_board-2.jpg :width: 800px :align: center :height: 700px @@ -336,7 +336,7 @@ the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by t the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized, they remain in the normally closed position. This set-up offers a simple and robust solution to inject current. -.. figure:: current_board.jpg +.. figure:: ../../img/v1.xx/current_board.jpg :width: 800px :align: center :height: 400px @@ -353,7 +353,7 @@ the relay card’s 4 channels respectively to the GND pin and 5Vcc of the Raspbe shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively to terminals B and A of the measurement board. -.. figure:: installation_current_board.jpg +.. figure:: ../../img/v1.xx/installation_current_board.jpg :width: 800px :align: center :height: 700px @@ -390,7 +390,7 @@ configuration enables making smaller multiplexers (8 or 16 electrodes only). On which is entirely possible, a GPIO channel multiplier will have to be used. To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown below. -.. figure:: multiplexer_implementation.jpg +.. figure::../../img/v1.xx/multiplexer_implementation.jpg :width: 800px :align: center :height: 500px @@ -409,7 +409,7 @@ Once the operation has been completed, the 16 control pins of each 16-channel re for activating each relay (Fig. 12). However, we will be activating several relays with a single GPIO (to limit the number of GPIOs used on Raspberry Pi, see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Figure. - .. figure:: connection.jpg + .. figure:: ../../img/v1.xx/connection.jpg :width: 800px :align: center :height: 400px @@ -451,7 +451,7 @@ At this point, all that remains is to connect the electrodes of each multiplexer According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in the following Figure. -.. figure:: cable.jpg +.. figure:: ../../img/v1.xx/cable.jpg :width: 800px :align: center :height: 300px @@ -464,7 +464,7 @@ the next figure provides an example of multiplexer relay connections for electro must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block. This operation must be repeated for all 32 electrodes. -.. figure:: electrode_cable.jpg +.. figure:: ../../img/v1.xx/electrode_cable.jpg :width: 800px :align: center :height: 800px