Coder Social home page Coder Social logo

thiagosfsilva / gpiozero Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gpiozero/gpiozero

0.0 0.0 0.0 27.78 MB

A simple interface to GPIO devices with Raspberry Pi

Home Page: https://gpiozero.readthedocs.io/

License: Other

Python 99.64% Makefile 0.36%

gpiozero's Introduction

gpiozero

A simple interface to GPIO devices with Raspberry Pi, developed and maintained by Ben Nuttall and Dave Jones.

About

Component interfaces are provided to allow a frictionless way to get started with physical computing:

from gpiozero import LED
from time import sleep

led = LED(17)

while True:
    led.on()
    sleep(1)
    led.off()
    sleep(1)

With very little code, you can quickly get going connecting your components together:

from gpiozero import LED, Button
from signal import pause

led = LED(17)
button = Button(3)

button.when_pressed = led.on
button.when_released = led.off

pause()

You can advance to using the declarative paradigm along with provided to describe the behaviour of devices and their interactions:

from gpiozero import OutputDevice, MotionSensor, LightSensor
from gpiozero.tools import booleanized, all_values
from signal import pause

garden = OutputDevice(17)
motion = MotionSensor(4)
light = LightSensor(5)

garden.source = all_values(booleanized(light, 0, 0.1), motion)

pause()

See the chapter on Source/Values for more information.

The library includes interfaces to many simple everyday components, as well as some more complex things like sensors, analogue-to-digital converters, full colour LEDs, robotics kits and more. See the Recipes chapter of the documentation for ideas on how to get started.

Pin factories

GPIO Zero builds on a number of underlying pin libraries, including RPi.GPIO and pigpio, each with their own benefits. You can select a particular pin library to be used, either for the whole script or per-device, according to your needs. See the section on changing the pin factory.

A "mock pin" interface is also provided for testing purposes. Read more about this in the section on mock pins.

Installation

GPIO Zero is installed by default in the Raspberry Pi OS desktop image, available from raspberrypi.org. To install on Raspberry Pi OS Lite or other operating systems, including for PCs using remote GPIO, see the Installing chapter.

Documentation

Comprehensive documentation is available at https://gpiozero.readthedocs.io/. Please refer to the Contributing and Development chapters in the documentation for information on contributing to the project.

Issues and questions

If you have a feature request or bug report, please open an issue on GitHub. If you have a question or need help, this may be better suited to our GitHub discussion board, the Raspberry Pi Stack Exchange or the Raspberry Pi Forums.

Python 2 support

Warning

GPIO Zero 1.6.x is the last to support Python 2. GPIO Zero 2.x will support Python 3 only.

Contributors

See the contributors page on GitHub for more info.

gpiozero's People

Contributors

waveform80 avatar bennuttall avatar lurch avatar tuftii avatar steveamor avatar mrharcombe avatar martinohanlon avatar fangchenli avatar stewartadcock avatar fortoffee avatar sofiiakosovan avatar martchus avatar pmuller avatar chrisruk avatar ryanteck avatar ricksbt avatar jee1mr avatar notbobthebuilder avatar f9n avatar edwardbetts avatar dglaude avatar alexwlchan avatar mahallon avatar pcopa avatar goloplo avatar damosurfer avatar yisraeldov avatar tjguk avatar thijstriemstra avatar rmisev avatar

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.