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, we will detect the temperature! !! !! [Razpai Magazine-June 2016 Special Feature 1 Akiba's Popular Parts Wiring Diagram Best 17 ⑥ Digital Temperature Sensor](https://www.amazon.co.jp/ Razpai Magazine-June 2016 Issue-Nikkei BP PC Best Mook - the Nikkei Linux-ebook / dp / B01EH2RX42 / ref = as_li_ss_tl ie = UTF8 & dpID = 61P3o6Agz + L & dpSrc = sims & preST = OU09__BG0,0,0,0_FMpng_AC_UL160_SR120,160 & psc = 1 & refRID = 31SKG5E0DGKBSF9BWNGV & linkCode = ll1 & tag = sr2smail-22 & linkId = 18fd04738627edef8d6fffd6c9b8f9c2)? I am referring to it. Finally, it's a story that seems to be a work story for my daughter (11 and 9) during the summer vacation! (I'm sorry for my personal cry)
The wiring diagram is [Razpai Magazine-June 2016 Issue Special Feature 1 Akiba's Popular Parts Wiring Diagram Best 17 ⑥ Digital Temperature Sensor](https://www.amazon.co.jp/ Razpai Magazine-June 2016 No.-Nikkei BP PC Best Mook-Nikkei Linux-ebook / dp / B01EH2RX42 / ref = as_li_ss_tl? = 18fd04738627edef8d6fffd6c9b8f9c2) As it is.
If you get an image like this, referring to the picture of the circuit
Text version
--Raspberry Pi Pin 1 (3.3V) --Digital Temperature Sensor VDD 4 --Raspberry Pi 6th pin (GND) --Digital temperature sensor GND 1 --Raspberry Pi Pin 3 (SCA) --Digital Temperature Sensor SCA 2 --Raspberry Pi Pin 5 (SCL) --Digital Temperature Sensor SCL 5
Install the required library (libi2c-dev).
libi2c-dev install
$ sudo apt-get install libi2c-dev
Write to the configuration file.
bash:/etc/modprobe.d/i2c.Write settings to conf
$ sudo sh -c 'echo "options i2c_bcm2708 combined=1" >> /etc/modprobe.d/i2c.conf'
Enables I2C.
Check if I2C can be used
Confirmed with i2cdetect (it seems to be 0 depending on the partial version of 1)
$ sudo /usr/sbin/i2cdetect -y 1
Program is also [Razpai Magazine-June 2016 Issue Special Feature 1 Akiba's Popular Parts Wiring Diagram Best 17 ⑥ Digital Temperature Sensor](https://www.amazon.co.jp/ Razpai Magazine-June 2016 Issue- Nikkei BP PC Best Mook -? Nikkei Linux-ebook / dp / B01EH2RX42 / ref = as_li_ss_tl ie = UTF8 & dpID = 61P3o6Agz + L & dpSrc = sims & preST = OU09__BG0,0,0,0_FMpng_AC_UL160_SR120,160 & psc = 1 & refRID = 31SKG5E0DGKBSF9BWNGV & linkCode = ll1 & tag = sr2smail-22 & linkId = 18fd04738627edef8d6fffd6c9b8f9c2 ) Was used as a reference. Almost as it is.
The source is uploaded to GitHub, so please use it as you like.
Clone with git
$ git clone https://github.com/RyosukeKamei/raspberrypi3.git
digital_temperature_sensor.py
#Library to control GPIO
import wiringpi
#Timer library
import time
#Call the library required to read from the I2C device
import os
import struct
#Create an instance of I2C
wiringpi.wiringPiSetup()
i2c = wiringpi.I2C()
#I2C settings
#Specify the I2C address of the device to communicate
temperture_dev = i2c.setup(0x48)
#Get 16-bit temperature data
#Others Set to register 0x03
i2c.writeReg8(temperture_dev, 0x03, 0x80)
while True:
#Read 2 bytes of temperature sensor
temperture_data = struct.unpack('2B', os.read(temperture_dev, 2))
#The value is divided into 2 bytes, so combine them into one.
temperture = ( ( temperture_data[0] << 8 ) + temperture_data[1] )
#Convert numbers for negative values
if ( temperture_data[0] >= 0x80 ):
temperture = temperture - 65536
#Calculate the temperature by dividing the acquired value by 128
temperture = temperture / 128
#Temperature display
print ( "temperature" , temperture , "C" )
#Every second
time.sleep(1)
I recorded the video of how it is moving.
Detect temperature
$ sudo python3 digital_temperature_sensor.py
The temperature is displayed in real time! I was surprised that the temperature was almost the same as the set temperature of the air conditioner (laughs). If you touch the sensor with your finger, the temperature will rise a little!
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!
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