In Chapter 5, Reading from Analog Sensors, we used a LDR (Light Dependent Resistor) to measure light intensity. Let's write a Python program to do the same.
Connect the LDR to
P9_38
as shown in the diagram in Chapter 5. It includes a voltage divider to reduce the high magnitude of output voltage. Type the following program in Cloud9, save it as LDR.py
and run. It will print the output voltage. If the LDR is exposed to bright sunlight, you may get the output message – Looks like a bright sunny day. If this is not possible, point a torch on the LDR surface. You should see voltage has increased. In case it detects a high voltage, it will print that it is a sunny day.
#!/usr/bin/python import Adafruit_BBIO.ADC as ADC from time import sleep LDR = "P9_38" ADC.setup() while True: volts = ADC.read(LDR)* 1.8 print "Voltage at input pin = " + str(volts) if (volts > 1.6): print "Looks like bright sunny day" sleep(1)
This program has a similar logic to the last program. It does ADC.setup()
to initialize and uses ADC.read()
to read the voltage at pin P9_38
in an infinite loop. Here, luminosity is directly proportional to voltage measured. Please refer to Chapter 5, Reading from Analog Sensors, for more details.
3.138.106.233