raspberrypi   3   4428
Programming on Raspberry Pi with Python: Controlling LED

In the first and second articles of the series 'Programming on Raspberry Pi with Python', we learned how to setup Raspberry Pi, configure WIFI and enable SSH.

In the third article, we created a python script to send the IP address of Raspberry Pi on reboot to a telegram channel and scheduled it in crontab.

Now is the time to start exploring the hardware side of Raspberry Pi. In this article, we will control the LED (light-emitting diode) via GPIO pins of Raspberry Pi by Python program.

Programming on Raspberry Pi with Python: Raspberry Pi Setup

Programming on Raspberry Pi with Python: WIFI and SSH configuration

Programming on Raspberry Pi with Python: Sending IP address on Telegram channel on Raspberry Pi reboot


We are using the Raspberry Pi 3 B+ model.



Requirements:

 - Raspberry Pi 3B+ 
 - Jumper wires
 - Breadboard
 - LED 
 - Resistors



Understanding GPIO pins:

I strongly recommend you to visit https://www.raspberrypi.org/documentation/usage/gpio/ for better understanding the GPIO pins of your Raspberry Pi.

Alternatively, you can go to the command prompt of your Raspberry Pi and run the command pinout which will present you a handy reference of GPIO pins.


gpio pins pinout command


You can refer the instruction card received along with canakit.


gpio pins pinout command



Connections:

Let's connect the components together.

- Connect pin 36 ( we will refer pins by literal sequence number, here pin 36 is GPIO pin 16 in above pic) with the live/voltage row on the breadboard.
- Connect pin 6 (ground) with ground row on the breadboard.
- Now connect a 220-ohm resistor with live row and the positive terminal of the LED.
- Connect the negative/ground terminal with ground row of the breadboard.
- Use jumper wires for the above connections. Refer my hand-drawn diagram below for connections.


breadboard connections raspberry pi


L and G stand for live and ground respectively. 



Python Program:

Use below python code to control the LED.

import RPi.GPIO as GPIO
import time

PIN = 36

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(PIN, GPIO.OUT)         #LED output pin

while True:
    GPIO.output(PIN, 0)  #Turn OFF LED
    time.sleep(1)
    GPIO.output(PIN, 1)  #Turn ON LED
    time.sleep(1)

First we imported the RPi.GPIO module.
Since we will be dealing with pin number 36, lets define it in a variable PIN.

Set the mode to GPIO.BOARD, which means we are referring pin number by their position on board.
Set the pin 36 to receive output.

Until loop is terminal, set the output to false/0/low on pin 36 and then sleep for 1 second. In next lines, set the output to true/1/high and then sleep for 1 second. 

I clicked the below pictures to show LED in two states i.e. on and off. Look closely and try to figure out the connections.

LED Turned Off:

led controll raspberry pi

LED Turned On:

breadboard connections raspberry pi


Try it out and if you are stuck anywhere feel free to comment.


Purchase Raspberry Pi Starter Kit Here.


References:



raspberrypi   3   4428

Related Articles:
Programming on Raspberry Pi with Python: WIFI and SSH configuration
How to setup Raspberry Pi, Installing Raspbian on Raspberry Pi 3 B+ model and configure settings, Starting with Raspberry Pi programming with Python, Configuring WIFI on Raspberry PI, Enabling SSH on Raspberry PI, RaspberryPi and Python...
Programming on Raspberry Pi with Python: Sending IP address on Telegram channel on Raspberry Pi reboot
How to setup Raspberry Pi, Starting with Raspberry Pi programming with Python, Sending IP address to Telegram channel on Raspberry Pi Boot up, SSH using Raspberry Pi, Raspberry Pi and python...

3 thoughts on 'Programming On Raspberry Pi With Python: Controlling Led'
Neil :
Awesome article liked it.

Anil :
This blog post is clear and really helpful

Piopi :
beautiful explanation with diagrams

Leave a comment:


*All Fields are mandatory. **Email Id will not be published publicly.


SUBSCRIBE
Please subscribe to get the latest articles in your mailbox.


Recent Posts:






© 2017-2019 Python Circle   Contact Us   Advertise with Us