Giter Club home page Giter Club logo

python-arduino-proto-api-v2's Introduction

Python Arduino Prototyping API v2

This is a project based on the original Python Arduino Prototyping API. I started a fork and after a while the whole thing was getting too different to make a pull request so I just put it here. The old project had wierd things going on to handle the communication, where I rely on parseInt() to do the work for me. There were also problems with analogWrite(), which is working in this version.

Major changes:

  • .pde is completely redone
  • Small changes in the arduino.py file
  • Added examples

Here follows the original README (with updated example):

© 2009-2010 Akash Manohar J [email protected] under the MIT License

The Python Arduino Prototyping API helps you to quickly prototype Arduino programs, without having to repeatedly load the program to the Arduino board.

Setup:

  1. Load prototype.pde onto your Arduino dev board.
  2. Import the arduino lib in your python script.

Methods

Arduino.output(list_of_output_pins) - set the output pins

Digital I/O

  1. Arduino.setHigh(pin_number)
  2. Arduino.setLow(pin_number)
  3. Arduino.getState(pin_number)
  4. Arduino.getState() - returns true if pin state is high, else it returns false.

Analog I/O

  1. Arduino.analogRead(pin_number) - returns the analog value
  2. Arduino.analogWrite(pin_number, value) - sets the analog value

Misc

1.) Arduino.turnOff() - sets all the pins to low state

2.) Arduino.close() - closes serial connection. Using this makes sure that you won't have to disconnect & reconnect the Arduino again to recover the serial port.

Usage example

from arduino import Arduino
import time

b = Arduino('/dev/ttyUSB0')
pin = 9

#declare output pins as a list/tuple
b.output([pin])

for xrange(10):
    b.setHigh(pin)
    time.sleep(1)
    print b.getState(pin)
    b.setLow(pin)
    print b.getState(pin)
    time.sleep(1)

b.close()

python-arduino-proto-api-v2's People

Contributors

ch-aurich avatar rodrigopmatias avatar s4mdf0o1 avatar vascop avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-arduino-proto-api-v2's Issues

How to set digital input pin and get pulseIn value?

b.output([3]) will set 3 as an output pin. I would like to know how do one assigns a pin as input pin and read the digital value from it?

I am trying to read value from Ultrasonic Sensor which is connected to pin 4 and 5 respectively.
4 is the output pin and 5 is the input pin.

b.output([4]) will now be the output pin, I can use b.setHigh(4) and b.setLow(4) to turn it on and off, but how do I set 5 as input pin and read the values?

and how would one get the values from pulseIn() method?

analogWrite to PWM pins not working

import the lib

from arduino import Arduino

import time

specify the port as an argument

my_board = Arduino('COM5')
print my_board

declare output pins as a list/tuple

my_board.output([9,10,11])

perform operations

i=0
while(i<10):
print 'Writing Value'
val = my_board.analogWrite(11,255)
time.sleep(10)
i+=1

my_board.close()

This code hangs after 'Writing Value'

sample_blink.py hangs

b = Arduino('/dev/tty.usbmodem1421')
pin = 9
b.output([pin]) // hangs on this line

anything i'm doing wrong?

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.