DS18B20 센서 테스트
<올>
sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices
이
cd 28-xxxx(표시되는 일련 번호와 일치하도록 변경)
고양이 w1_slave
인터페이스는 약간 신뢰할 수 없지만 다행히 읽을 수 있는 유효한 온도가 있는지 알려줍니다. 파일과 같으므로 읽기만 하면 됩니다.
응답의 첫 번째 줄 끝에 YES 또는 NO가 있습니다. 예인 경우 온도는 두 번째 줄의 끝에 1/000°C로 표시됩니다. 따라서 위의 예에서 온도는 실제로 20.687°C로 읽은 다음 26.125°C로 읽습니다.
센서가 두 개 이상 연결된 경우 여러 개의 28-xxx가 표시됩니다. 파일. 각각 고유한 일련 번호가 있으므로 한 번에 하나씩 연결하고 어떤 파일이 생성되는지 확인하고 센서에 레이블을 지정하는 것이 좋습니다.
<헤더 클래스="항목 헤더">
초음파 센서
헤더>
센서는 Pi의 핀 2에서 +5v 레일로 전원이 공급됩니다. 트리거 핀은 핀 16(Gpio23)에서 나오며 이는 센서에 측정을 시작하도록 지시합니다. 센서가 출력을 보낼 때까지 에코 핀은 일반적으로 낮고 센서가 거리를 측정하는 데 걸린 시간 동안 +5v가 됩니다. 이것이 GPIO가 +3.3v만 처리할 수 있기 때문에 저항이 필요한 이유입니다.
다이어그램
코드
#!/usr/bin/python
# 필요한 Python 라이브러리 가져오기
시간 가져오기
RPi.GPIO를 GPIO로 가져오기
# BCM GPIO 참조 사용
# 물리적 핀 번호 대신
GPIO.setmode(GPIO.BCM)
#
# Pi에서 사용할 GPIO 정의
GPIO_TRIGGER =23
GPIO_ECHO =24
#
print "초음파 측정"
#
# 핀을 출력과 입력으로 설정
GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # Trigger
GPIO.setup (GPIO_ECHO,GPIO.IN) # Echo
#
# 트리거를 False로 설정(낮음)
GPIO.output(GPIO_TRIGGER, False)
#
# 모듈 허용 정착하기 위해
time.sleep(0.5)
#
# 트리거에 10us 펄스 보내기
GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
시작 =time.time()
동안 GPIO.input(GPIO_ECHO)==0:
시작 =time.time()
#
while GPIO.input(GPIO_ECHO)==1:
stop =time.time()
#
# 펄스 길이 계산
elapsed =stop- 시작 #
# 해당 시간 동안 펄스가 이동한 거리는 시간입니다.
# 음속(cm/s)을 곱한 값입니다.
distance =elapsed * 34000
#
# 그것은 그곳과 그 사이의 거리이므로 값을 반으로 줄입니다.
distance =distance / 2
#
print "Distance :%.1f" % distance
#
# GPIO 설정 재설정
GPIO.cleanup()
<헤더 클래스="항목 헤더">
초음파 로켓 발사기
헤더>
이것은 Pi의 초음파 센서를 사용하여 대형 트랙 로켓을 발사하는 코드 및 다이어그램입니다. 목표는 전면에 센서가 있는 Big Trak에 로켓 포드를 부착하는 것입니다. 코드는 간단합니다. 일반적으로 80(8cm)이라고 말하는 거리를 묻습니다. 80 미만이면 로켓을 발사하고 호출 기능을 사용하여 사진을 찍고 LED를 켭니다. 이 코드는 진행 중인 작업이므로 개선할 수 있는 방법이 있으면 듣고 싶습니다.
<코드> PDF의 다이어그램
#!/usr/bin/python
#
#
# 작성자 :Julian and Kyle Milligan
# 날짜 :09/01/2013
# 가져오기 필수 Python 라이브러리
import time
import RPi.GPIO as GPIO
from subprocess import call
# 물리적 핀 번호 대신 BCM GPIO 참조 사용
# GPIO.setmode(GPIO.BCM)
# Pi에서 사용할 GPIO 정의
GPIO_TRIGGER =23
GPIO_ECHO =24
GPIO_FIRE =4
#
인쇄 "초음파 측정"
#
# 핀을 출력 및 입력으로 설정
GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # 트리거
GPIO.setup(GPIO_ECHO,GPIO.IN) # Echo
GPIO.setup(GPIO_FIRE,GPIO.OUT) # Fire
# 트리거를 False로 설정(낮음)
GPIO.output(GPIO_TRIGGER, False)
# GPIO.output (GPIO_FIRE, False)
#
# 모듈이 안정화되도록 허용
time.sleep(0.5)
#
# 트리거할 거리 설정
setdistance =입력 ('카메라를 트리거하려면 값을 입력하세요:')#화면 프롬프트가 실행되는
while True:
time.sle ep(0.1)
GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
시작 =time.time()
s =시작
종료 =0
#
종료 ==0:
종료 =GPIO.input(GPIO_ECHO)
시작 =time.time( )
if start - s> 0.1:
quit =1
#
if start - s <0.1:
while GPIO.input(GPIO_ECHO) ==1:
중지 =time.time()
#
경과된 =중지-시작
#
거리 =경과된 * 34300
거리 =거리 / 2
#
print "Distance :%.1f" % distance
#
if distance call(["raspistill -o image.jpg"], shell=True) # Pi Camera로 사진을 찍습니다.
print "Fire"
GPIO.output(GPIO_FIRE,True) ## GPIO 핀 7을 켜고 로켓을 발사합니다.
#
# 재설정 GPIO 설정
GPIO.cleanup(
<헤더 클래스="항목 헤더">
Pi에서 웹캠 스트리밍
헤더>
재료
1. 네트워크/인터넷 연결이 가능한 라즈베리 파이.
2. 웹캠은 최신 버전일 수록 좋습니다.
자세한 내용:DS18B20 센서 테스트