산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

라즈베리 파이에서 DS18B20 온도 센서 테스트하기

라즈베리 파이에서 DS18B20 온도 센서 테스트하기

  1. sudo modprobe w1-gpio
  2. sudo modprobe w1-therm
  3. cd /sys/bus/w1/devices
  4. ls
  5. cd 28-xxxx (나타나는 시리얼 번호로 교체)
  6. cat w1_slave

1-와이어 인터페이스는 약간 변덕스러울 수 있지만 온도 값 사용 가능 여부를 신뢰성 있게 보고합니다. 센서가 데이터를 단순 텍스트 파일로 노출하므로 파일을 읽기만 하면 됩니다.

첫 줄은 YES 또는 NO로 끝납니다. YES면 두 번째 줄에 천분의 1도 섭씨 단위 온도가 포함됩니다. 위 예에서 센서는 20.687°C와 26.125°C를 보고합니다.

여러 센서 연결 시 각기 별도 28-xxxx 디렉토리로 나타납니다. 하나씩 꽂으며 생성된 디렉토리 기록하고 향후 참조용으로 센서에 라벨 붙이세요.

초음파 센서 작업

HC-SR04 초음파 센서는 파이의 +5V 레일(핀 2)에서 전원 공급. 트리거 핀(GPIO 23)이 측정 개시, 에코 핀이 왕복 거리에 해당하는 폭의 HIGH 펄스 반환. GPIO 핀은 3.3V만 견디므로 에코 라인에 저항 분배기로 보호.

예제 코드

#!/usr/bin/python
# 필수 파이썬 라이브러리 임포트
import time
import RPi.GPIO as GPIO

# 물리적 핀 번호 대신 BCM GPIO 참조 사용
GPIO.setmode(GPIO.BCM)

# 파이에서 사용할 GPIO 정의
GPIO_TRIGGER = 23
GPIO_ECHO = 24

print("Ultrasonic Measurement")

# 핀을 출력과 입력으로 설정
GPIO.setup(GPIO_TRIGGER, GPIO.OUT)  # 트리거
GPIO.setup(GPIO_ECHO, GPIO.IN)      # 에코

# 트리거를 False(Low)로 설정
GPIO.output(GPIO_TRIGGER, False)

# 모듈 안정화 대기
time.sleep(0.5)

# 트리거에 10us 펄스 전송
GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)

start = time.time()
while GPIO.input(GPIO_ECHO) == 0:
    start = time.time()
while GPIO.input(GPIO_ECHO) == 1:
    stop = time.time()

# 펄스 길이 계산
elapsed = stop - start
# 그 시간 동안 펄스가 이동한 거리는 시간 × 음속(cm/s)
distance = elapsed * 34000
# 왕복 거리이므로 절반으로 나눔
distance = distance / 2
print("Distance : %.1f" % distance)

# GPIO 설정 초기화
GPIO.cleanup()

초음파 구동 로켓 발사기

다음 스크립트는 사용자 정의 거리보다 물체가 가까우면 로켓 발사 트리거. 이미지 캡처와 LED 시각적 표시도 포함.

#!/usr/bin/python
# Author : Julian and Kyle Milligan
# Date : 09/01/2013
# 필수 파이썬 라이브러리 임포트
import time
import RPi.GPIO as GPIO
from subprocess import call

# 물리적 핀 번호 대신 BCM GPIO 참조 사용
GPIO.setmode(GPIO.BCM)

# 파이에서 사용할 GPIO 정의
GPIO_TRIGGER = 23
GPIO_ECHO = 24
GPIO_FIRE = 4

print("Ultrasonic Measurement")

# 핀을 출력과 입력으로 설정
GPIO.setup(GPIO_TRIGGER, GPIO.OUT)  # 트리거
GPIO.setup(GPIO_ECHO, GPIO.IN)      # 에코
GPIO.setup(GPIO_FIRE, GPIO.OUT)     # 발사

# 트리거를 False(Low)로 설정
GPIO.output(GPIO_TRIGGER, False)

# 모듈 안정화 대기
time.sleep(0.5)

# 트리거 거리 설정
setdistance = input('Please enter a value to trigger the camera:')

while True:
    time.sleep(0.1)
    GPIO.output(GPIO_TRIGGER, True)
    time.sleep(0.00001)
    GPIO.output(GPIO_TRIGGER, False)
    start = time.time()
    s = start
    quit = 0
    while quit == 0:
        quit = GPIO.input(GPIO_ECHO)
        start = time.time()
        if start - s > 0.1:
            quit = 1
        if start - s < 0.1:
            while GPIO.input(GPIO_ECHO) == 1:
                stop = time.time()
            elapsed = stop - start
            distance = elapsed * 34300
            distance = distance / 2
            print("Distance : %.1f" % distance)
            if distance < setdistance:
                call(["raspistill -o image.jpg"], shell=True)  # 파이 카메라로 사진 촬영
                print("Fire")
                GPIO.output(GPIO_FIRE, True)  # GPIO 핀 7 켜서 로켓 발사
    # GPIO 설정 초기화
    GPIO.cleanup()

라즈베리 파이에서 웹캠 스트리밍

USB 웹캠에서 비디오 스트리밍하려면 파이가 네트워크에 연결돼 있는지 확인. 최신 웹캠 연결 후 MJPEG 스트리밍 설정 공식 가이드 따름. 더 깊은 내용은 DS18B20 센서 테스트 문서 참조.

제조공정

  1. 라즈베리 파이 다중 DS18B20 1-와이어 센서 연결으로 정확한 온도 모니터링
  2. DS1820 원와이어 온도 센서를 라즈베리 파이 GPIO로 연결하는 방법
  3. HC-SR04 초음파 거리 센서를 라즈베리 파이 3에 연결하는 완벽 가이드
  4. 라즈베리 파이와 KY-033 라인 트래킹 센서로 문 열림/선 감지하기
  5. DS18B20 원와이어 디지털 온도계를 라즈베리 파이에 연결하기 – 단계별 가이드
  6. MCP9808, InfluxDB, Grafana로 라즈베리 파이 홈 온도 모니터 구축하기
  7. 라즈베리 파이 GPIO 마스터하기: B+/모델 2에서 PIR 모션 센서 인터페이싱
  8. 라즈베리파이 홈 보안 시스템: PIR 모션 감지 + 카메라 이메일 알림
  9. HC-SR501 PIR 모션 센서를 라즈베리파이에 연결, 보정, 프로그래밍하는 방법
  10. 감정 센서 & EEG: 실시간 감정 감지를 위한 저비용 하드웨어