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
Next revisionBoth sides next revision
gpio_inputs_-_button_led_control_using_an_interrupt [2016/08/09 23:04] walkeradmingpio_inputs_-_button_led_control_using_an_interrupt [2016/08/09 23:09] walkeradmin
Line 3: Line 3:
 \\  \\ 
 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. 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) 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 library 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,
Line 44: 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%.
 +\\ 
 +\\ 
 +