My name is Ryosuke Kamei and I am an IT consultant based on the idea of "gentle IT"! Currently, in my work, I am doing upstream processes focusing on requirements analysis and requirements definition, but I also write programs! As part of our friendly IT activities, we will introduce "Raspberry Pi 3" (commonly known as Raspberry Pi), which has the philosophy of "providing inexpensive PCs that can be programmed for education"!
This time, let the LED light up when it gets dark! It seems that it can be applied to security equipment and light management of crops! [Razpai Magazine-August 2016 Special Feature 1 Basic Pattern of Electronic Work 12 ② Turn on the LED when it gets dark](https://www.amazon.co.jp/%E3%83%A9%E3%82] % BA% E3% 83% 91% E3% 82% A4% E3% 83% 9E% E3% 82% AC% E3% 82% B8% E3% 83% B3-2016% E5% B9% B48% E6% 9C % 88% E5% 8F% B7-% E6% 97% A5% E7% B5% 8CBP% E3% 83% 91% E3% 82% BD% E3% 82% B3% E3% 83% B3% E3% 83% 99% E3% 82% B9% E3% 83% 88% E3% 83% A0% E3% 83% 83% E3% 82% AF-% E6% 97% A5% E7% B5% 8CLinux / dp / 4822237710 / ref = as_li_ss_tl? ie = UTF8 & qid = 1471057119 & sr = 8-4 & keywords =% E3% 83% A9% E3% 82% BA% E3% 83% 91% E3% 82% A4 & linkCode = ll1 & tag = sr2smail-22 & linkId = c42c3f78bd8af3af14 However, I have arranged it a lot. (In Raspeye Magazine, a semi-fixed resistor is used for the darkness threshold, but here the brightness is acquired using an A / D converter and the threshold is set by the argument of the program.)
If you get an image like this, referring to the picture of the circuit
Text version From the Raspberry Pi side
--Raspberry Pi Pin 1 (3.3V) --AD Converter 8 Vdd --Illuminance sensor left side --Raspberry Pi 19th pin (MOSI) --AD converter 5 MOSI --Raspberry Pi 21st pin (MISO) --AD converter 6 MISO --Raspberry Pi 23rd pin (SCLK) --AD converter 7 CLK --Raspberry Pi 24th pin (CE0) --AD converter 1 CS --Raspberry Pi 6th pin (GND) --AD converter 4 Vss --Raspberry Pi 16th pin (GPIO23) --LED positive side --LED negative side --Resistance (100Ω)
From AD converter (difference only)
--AD converter pin 2 (CH0) --Illuminance sensor right side --Resistance (10kΩ) --GND
The source is uploaded to GitHub, so please use it as you like.
Clone with git
$ git clone https://github.com/RyosukeKamei/raspberrypi3.git
illuminance_led.py
#Library to control GPIO
import wiringpi
#Timer library
import time
#Get arguments
import sys
#GPIO definition LED
led1_pin = 23 #Terminal 16
#GPIO initialization
wiringpi.wiringPiSetupGpio()
wiringpi.pinMode( led1_pin, 1 )
# MCP3002(A/Specify the channel to which the D converter) is connected
SPI_CH = 0
#MCP3002 to be read (A/Specify the analog input channel of the D converter)
READ_CH = 0
#Specify the brightness threshold as an argument
param = sys.argv
set_illuminance = int(param[1])
#SPI initialization
wiringpi.wiringPiSPISetup( SPI_CH, 1000000 )
while True:
#Turn off the LED
wiringpi.digitalWrite( led1_pin, 0 )
# MCP3002(A/Create data to send to D converter)
buffer = 0x6800 | ( 0x1800 * READ_CH )
buffer = buffer.to_bytes( 2, byteorder='big' )
#Get the value of CH0 using SPI
wiringpi.wiringPiSPIDataRW( SPI_CH, buffer )
#The values are sent in 2 bytes, so combine them into one value.
illuminance_value = ( buffer[0] * 256 + buffer[1] ) & 0x3ff
#Output brightness threshold and illuminance
print ("Brightness threshold: " + str(set_illuminance) )
print ("Illuminance: " + str(illuminance_value) )
#"Bright" is displayed when the brightness exceeds the standard value, and "Dark" is displayed when the brightness falls below the standard value.
if ( illuminance_value > set_illuminance ):
print ("Because it is bright, turn off the LED")
wiringpi.digitalWrite( led1_pin, 0 )
else:
print ("LED is lit because it is dark")
wiringpi.digitalWrite( led1_pin, 1 )
#Detected by 1 second
time.sleep(1)
I recorded the video of how it is moving.
Set the brightness threshold to 500
$ sudo python3 illuminance_led.py 500
Install Raspberry Pi 3 → Wireless LAN → Japanese input / output → Operate from Mac
Install Docker on RaspberryPi3 Build a Python + bottle + MySQL environment with Docker on RaspberryPi3![Easy construction] Build a Python + bottle + MySQL environment with Docker on RaspberryPi3![Trial and error]
Make an air conditioner integrated PC "airpi" with Raspberry Pi 3!
Programming with Node-RED programming with Raspberry Pi 3 and programming normally Light the LED with python on Raspberry Pi 3 (Hello World) Detect switch status on Raspberry Pi 3 Run a servo motor using python on Raspberry Pi 3 Control the motor with a motor driver using python on Raspberry Pi 3! Detect slide switch using python on Raspberry Pi 3! Detect magnet switch using python on Raspberry Pi 3! Detect temperature using python on Raspberry Pi 3! Sound the buzzer using python on Raspberry Pi 3! Detect analog signals with A / D converter using python on Raspberry Pi 3! Detect "brightness" using python on Raspberry Pi 3! Detect "temperature (using A / D converter)" using python on Raspberry Pi 3! Output to "7-segment LED" using python on Raspberry Pi 3! Use python on Raspberry Pi 3 to light the LED with switch control! Use python on Raspberry Pi 3 and turn on the LED when it gets dark!
Coding rules "Let's write gentle code" (FuelPHP) Naming convention "Friendly to yourself, team-friendly, and unseen members after 3 months"
PHP environment + Eclipse is linked to Apache using Docker Building FuelPHP development environment using Docker Create CRUD skeleton using initial settings of FuelPHP development environment using Docker and scaffold FuelPHP database migration
Recommended Posts