Git Product home page Git Product logo

inodaqv2's Introduction

InoDAQV2

Code style: black

A multifunction I/O device built atop the ATmega328P microprocessor.

Table of Contents

Setup

Step 1 - Install arduino-cli

This project uses arduino-cli to upload Arduino source code to the target device. To install arduino-cli, follow the Quickstart section provided by the arduino-cli developers. NOTE: This project was only tested with the Arduino Uno. Other boards may or may not be compatible.

Step 2 - Install package

To install the inodaqv2 Python package, run:

make setup

The installation process will produce some build artifacts. These artifacts can be cleaned up by running:

make clean

Step 3 - Upload source

To upload the source, run:

./upload

Which will prompt:

...
1. Select serial port for upload [default = COM3]:
>

Where this port would refer to a valid serial device, such as COM3 on Windows or /dev/ttyS2 on Linux. Hit enter and continue. The install script will then prompt:

...
2. Select Fully Qualified Board Name (FQBN) [default = arduino:avr:uno]:
>

Insert a valid FQBN and hit enter.

Step 4 - Start webserver

As a final sanity check, run the webserver:

inodaq --serial-port=<serial-port>

This command will host a site locally using Flask's internal development server. Note that this webserver should not be used in a production environment. A URL will be printed to the console if a connection to the serial device is successfully established. Navigate to this URL to use the product.

Usage

Window: Digital

This window is used to toggle digital pins 2 through 13 on the device. The pins toggle to either a HIGH or LOW state. Toggling pin 13 on an Uno device should turn the onboard LED either on or off. This behaviour can be used as a sanity check.

Window: PWM

This window can be used to emit a PWM wave on any PWM compatible digital pin. The slider is used to select the duty cycle of the emitted wave. The PWM output frequency is approximately 490 Hz.

Window: AnalogRead

This window can be used to read the analog voltages on analog pins A0 through A5.

Window: DigitalRead

This window can be used to read the binary states of analog pins A0 through A5.

inodaqv2's People

Contributors

dsw7 avatar

Watchers

 avatar

inodaqv2's Issues

Add command for disabling tone on all pins

Setting a tone on pin P makes P inaccessible to any other functions unless a call to noTone is made against P. Alternatively, a "state variable" can be defined. This variable can store which (if any) pin is emitting a tone. This variable can be queried in any commands referencing the digital pins and can be used to unset the tone if say a dig is being dispatched against P.

Switch back to Tkinter

Impetus

I set up a flask "frontend" for this project but I felt that a webserver was just too heavy for such a simple project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.