User Tools

Site Tools


gpio_inputs_-_button_led_control_using_an_interrupt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
gpio_inputs_-_button_led_control_using_an_interrupt [2016/08/09 23:00] walkeradmingpio_inputs_-_button_led_control_using_an_interrupt [2016/12/13 21:28] – external edit 127.0.0.1
Line 2: Line 2:
 \\  \\ 
 \\  \\ 
-blah blah+The previous example of using a button to light an LED, everything worked fine, but our processor was at 100%, this needs fixing, so in this example instead of constantly polling and setting GPIO pins, we are using a interrupt where by we do nothing until a button is actually pressed.
 \\  \\ 
 \\  \\ 
 +Create a new file in the normal way ( you can download the python file {{ :led-button-i.zip |here}} to save time)
 +\\ 
 +    sudo nano LED-Button-i.py
 +
     #import modules     #import modules
-    import RPi.GPIO as GPIO    # This imports the GPIO libarary that allows the use of the GPIO pins, +    import RPi.GPIO as GPIO    # This imports the GPIO library that allows the use of the GPIO pins, 
-    import time                # This imports the time libarary (for delays among other things)+    import time                # This imports the time library (for delays among other things)
                                # These libraries are built in to Raspbian.                                # These libraries are built in to Raspbian.
          
Line 43: Line 47:
          
     #End     #End
 +\\ 
 +Once you have your file saved, you can run it by using:
 +\\ 
 +    sudo python LED-Button-i.py
 +\\ 
 +===== Example Output =====
 +\\ 
 +Here you can see the code running {{ :led-button-i.mp4 |(video)}}
 +\\ 
 +The main advantage using the **interrupt** is that my processor occupancy on the Pi Zero is now around 10% normal, and 14% when I press the button. That's much better than the previous constant 100%.
 +\\ 
 +\\ 
 +