My Account

Wish List (0)

Saved Carts

Compare

GPIO & Python (8/9) - LDR

February 22, 2017

In this project you will learn how to wire and program a light sensor and see how bright it is in your room.

Things you will need:

Raspberry Pi + SD Card
Keyboard + Mouse
Monitor + HDMI Cable
Power Supply
Breadboard
1x Red LED
1x Blue LED
2x 330Ω Resistor
5x M/M Jumper Wire
8x M/F Jumper Wire
1x Button
1x Buzzer
1x DS18B20 Temperature Sensor
1x 4k7Ω Resistor
1x 1uF Capacitor
1x Light Dependent Resistor (LDR)

Prerequisites:

Latest version of Rasbian installed on your SD Card
Raspberry Pi setup with a keyboard, mouse and monitor

1. Change the current directory to our gpio_python_code directory:

cd gpio_python_code

2. Start by creating a file for our ldr script

 touch 8_ldr.py

3. We will also need another file for logging data to, lets create a file called foo.txt (you can all this what you like)

touch foo.txt

4. Edit the 8_ldr.py script using nano 8_ldr.py add the following code:

#!/usr/bin/python

import os
import datetime
from time import sleep
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

def RCtime (RCpin):
    reading = 0
    GPIO.setup(RCpin, GPIO.OUT)
    GPIO.output(RCpin, GPIO.LOW)
    sleep(.1)

    GPIO.setup(RCpin, GPIO.IN)
    # This takes about 1 millisecond per loop cycle
    while (GPIO.input(RCpin) == GPIO.LOW):
        reading += 1
    return reading

while True: 
    GetDateTime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    LDRReading = RCtime(3)
    print RCtime(3)

    # Open a file
    fo = open("/home/pi/gpio_python_code/foo.txt", "wb")
    fo.write (GetDateTime)
    LDRReading = str(LDRReading)
    fo.write ("\n")
    fo.write (LDRReading)

    # Close opend file
    fo.close()
    sleep(1)

4. Execute your 8_ldr.py script

sudo python 8_ldr.py

5. We can also check our foo.txt and see the logged data

more foo.txt

Last update: February 22, 2017

Comments

Leave a Comment

Leave a Reply

* Name:
* Comment:
* E-mail: (Not Published)
Website: (Site url with http://)
Verification code: