Metadata-Version: 2.4
Name: pymodaq_plugins_arduino
Version: 5.0.1
Summary: Set of instrument plugins implemented using an Arduino Board
Project-URL: Homepage, https://pymodaq.cnrs.fr
Project-URL: Documentation , https://pymodaq.cnrs.fr
Project-URL: Repository , https://github.com/PyMoDAQ/pymodaq_plugins_arduino
Author-email: "Sebastien J. Weber" <sebastien.weber@cemes.fr>
Maintainer-email: "Sebastien J. Weber" <sebastien.weber@cemes.fr>
License: The MIT License (MIT)
        
        Copyright (c) 2021 Sebastien Weber <sebastien.weber@cemes.fr>
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in
        all copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
        THE SOFTWARE.
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: User Interfaces
Requires-Python: >=3.8
Requires-Dist: pymodaq>=5.0.0
Requires-Dist: pyvisa
Requires-Dist: pyvisa-py
Requires-Dist: telemetrix
Description-Content-Type: text/x-rst

pymodaq_plugins_arduino
#######################

.. the following must be adapted to your developed package, links to pypi, github  description...

.. image:: https://img.shields.io/pypi/v/pymodaq_plugins_arduino.svg
   :target: https://pypi.org/project/pymodaq_plugins_arduino/
   :alt: Latest Version

.. image:: https://readthedocs.org/projects/pymodaq/badge/?version=latest
   :target: https://pymodaq.readthedocs.io/en/stable/?badge=latest
   :alt: Documentation Status

.. image:: https://github.com/PyMoDAQ/pymodaq_plugins_arduino/workflows/Upload%20Python%20Package/badge.svg
   :target: https://github.com/PyMoDAQ/pymodaq_plugins_arduino
   :alt: Publication Status

.. image:: https://github.com/PyMoDAQ/pymodaq_plugins_arduino/actions/workflows/Test.yml/badge.svg
    :target: https://github.com/PyMoDAQ/pymodaq_plugins_arduino/actions/workflows/Test.yml


This package regroups a list of instrument created around an arduino board. Some instruments use the
Telemetrix library to use python together with the arduino board.


Authors
=======

* Sebastien J. Weber  (sebastien.weber@cemes.fr)
* Jérémie Margueritat


Instruments
===========

Below is the list of instruments included in this plugin

Actuators
+++++++++

* **LED**: control of a multicolor LED using three PWM digital outputs and the Telemetrix library.
  Allows the control of the three color channel independently
* **LEDwithLCD**: same as **LED** actuator but displaying the red, green, blue values on a standard 16x2 liquid crystal
  display
* **Analog**: data acquisition from analog inputs



Extensions
==========

* **ColorSynthesizer**: DashBoard extension using RBG LED actuators. Allows to quicly select a RGB value and apply those
  to the actuators


Installation instructions
=========================

* PyMoDAQ version > 4.1.0


LED actuator
++++++++++++

The LED actuator uses the telemetrix library. The corresponding sketch should therefore be uploaded
on the arduino board. This allows to control peripheral on an Arduino board from python objects on the connected
computer. See https://mryslab.github.io/telemetrix/

LEDwithLCD actuator
+++++++++++++++++++

The **LEDwithLCD** actuator uses the telemetrix library. The corresponding sketch should therefore be uploaded
on the arduino board. It then uses the telemetrix I2C communication protocol to control a LCD equipped with a
I2C backpack. The functionalities used to drive the LCD are adapted from a micropython code
(https://github.com/brainelectronics/micropython-i2c-lcd) itself adapted from
https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library

Analog 0D viewer
++++++++++++++++

The **Analog** 0D viewer uses the telemetrix library. The corresponding sketch should therefore be uploaded
on the arduino board. This allows to acquire data from the analog inputs on an Arduino board from python objects on
the connected computer. See https://mryslab.github.io/telemetrix/

