User Tools

Site Tools


gpio_led_control

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_led_control [2016/08/09 17:49] walkeradmingpio_led_control [2017/10/22 16:40] walkeradmin
Line 8: Line 8:
 \\  \\ 
 \\  \\ 
-**Please be aware, the GPIO pins are 3.3v Logic, and are restricted to 16mA**+**Please be aware, the GPIO pins are 3.3v Logic, and are restricted to 16mA - exceeding 16 mA will damage your Pi**
 \\  \\ 
 \\  \\ 
Line 20: Line 20:
 \\  \\ 
 \\  \\ 
 +When the Pin goes high (under our software control) it will provide 3.3v, and thus the LED will light (famous last words)
 +\\ 
 +\\ 
 +If you are using your Raspberry Pi via SSH or a Remote Desktop session, you need to enable remote access of the GPIO Pins, instructions for this are [[enable_remote_access_to_gpio_pins|here]]:
 +\\ 
 +\\ 
 +Once you have connected the circuit, we can create the Python programme, in this example we will be doing it from the command line using the editor nano:
 +\\ 
 +    sudo nano LED.py (starts the nano editor with a new file called LED.py)
 +\\ 
 +Now enter this code: (you can copy and paste by the way)
 +\\ 
 +    #import modules
 +    import RPi.GPIO as GPIO    # This imports the GPIO libarary that allows the use of the GPIO pins,
 +    import time                # This imports the time libarary (for delays among other things)
 +                               # These libraries are built in to Raspbian.
 +    
 +    
 +    GPIO.setmode (GPIO.BOARD)  # This sets the GPIO pin numbering. Our LED is connected to Pin 12,
 +                               # so we can reference it by using BOARD as pin 12. However there is
 +                               # another option (BCM) where we can reference a pin by it's name, pin
 +                               # 12 is called GPIO18 (a reference to its place on the chip).
 +    
 +    GPIO.setup(12, GPIO.OUT)   # Sets the GPIO pin as output. (as opposed to input, which would
 +                               # read in a voltage (but only in terms of a 0 or a 1))
 +    
 +    GPIO.output(12, 0)         # sets the GPIO Pin 12 to low (so 0v)
 +    
 +    time.sleep(1)              # waits one second (settling time)
 +    
 +    GPIO.output(12, 1)         # sets the GPIO Pin 12 to high (so 3.3v) LED will turn on
 +    
 +    time.sleep(3)              # waits 3 seconds, so LED will be on for 3 seconds
 +    
 +    GPIO.cleanup()             # Resets all the GPIO pins to their default state (LED will go off)
 +\\ 
 +\\ 
 +Because we are accessing the GPIO, we need to run our Python program as the sudo user:
 +\\ 
 +    sudo python LED.py
 +\\ 
 +The LED should come on for 3 seconds, then go off. The program will then end.
 +\\ 
 +\\ 
 +You can see it in operation Here: {{:led_video.mp4|950x574|autoplay,loop}}
 +\\ 
 +**Remember:**
 +
 +Pins are 3.3v
 +\\ 
 +16mA MAX
 +\\ 
 +\\ 
 +This guide is comprised of information from a youtube video by **Gaven MacDonald**. Thanks Gaven.
 +\\ 
 +\\ 
 +
gpio_led_control.txt · Last modified: 2023/03/09 22:35 by 127.0.0.1