Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Тестирование датчика температуры DS18B20 на Raspberry Pi

Тестирование датчика температуры DS18B20 на Raspberry Pi

  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-Wire интерфейс может быть немного капризным, но он надежно сообщает, доступно ли значение температуры. Поскольку датчик раскрывает свои данные как простой текстовый файл, все, что нужно — просто прочитать файл.

Первая строка заканчивается либо YES, либо NO. Если YES, вторая строка содержит температуру в тысячных долях градуса Цельсия. В примере выше датчик сообщает 20,687 °C, а затем 26,125 °C.

Когда подключено несколько датчиков, каждый появится как отдельная директория 28-xxxx. Подключайте по одному за раз, запоминайте созданную директорию и маркируйте датчик для будущего использования.

Работа с ультразвуковыми датчиками

Ультразвуковой датчик HC‑SR04 питается от шины +5 В Pi (пин 2). Триггерный пин (GPIO 23) инициирует измерение, а эхо-пин возвращает высокий импульс, ширина которого соответствует расстоянию туда-обратно. Поскольку GPIO-пины терпят только 3,3 В, делитель резисторов защищает линию эхо.

Пример кода

#!/usr/bin/python
# Import required Python libraries
import time
import RPi.GPIO as GPIO
# Use BCM GPIO references instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
# Define GPIO to use on Pi
GPIO_TRIGGER = 23
GPIO_ECHO = 24
print("Ultrasonic Measurement")
# Set pins as output and input
GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # Trigger
GPIO.setup(GPIO_ECHO,GPIO.IN)     # Echo
# Set trigger to False (Low)
GPIO.output(GPIO_TRIGGER, False)
# Allow module to settle
time.sleep(0.5)
# Send 10us pulse to trigger
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()
# Calculate pulse length
elapsed = stop-start
# Distance pulse travelled in that time is time multiplied by the speed of sound (cm/s)
distance = elapsed * 34000
# That was the distance there and back so halve the value
distance = distance / 2
print("Distance : %.1f" % distance)
# Reset GPIO settings
GPIO.cleanup()

Ракетная установка, запускаемая ультразвуком

Следующий скрипт использует ультразвуковой датчик для запуска ракеты, когда объект ближе, чем пользовательское расстояние. Он также захватывает изображение и зажигает светодиод как визуальный индикатор.

#!/usr/bin/python
# Author : Julian and Kyle Milligan
# Date : 09/01/2013
# Import required Python libraries
import time
import RPi.GPIO as GPIO
from subprocess import call
# Use BCM GPIO references instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
# Define GPIO to use on Pi
GPIO_TRIGGER = 23
GPIO_ECHO = 24
GPIO_FIRE = 4
print("Ultrasonic Measurement")
# Set pins as output and input
GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # Trigger
GPIO.setup(GPIO_ECHO,GPIO.IN)     # Echo
GPIO.setup(GPIO_FIRE,GPIO.OUT)    # Fire
# Set trigger to False (Low)
GPIO.output(GPIO_TRIGGER, False)
# Allow module to settle
time.sleep(0.5)
# Set distance to trigger
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) # take a picture with Pi Camera
                print("Fire")
                GPIO.output(GPIO_FIRE, True) # Turn on GPIO pin 7 fire the rockets
    # Reset GPIO settings
    GPIO.cleanup()

Стриминг веб-камеры с Raspberry Pi

Для стриминга видео с USB-веб-камеры убедитесь, что ваш Pi подключен к сети. Подключите недавнюю веб-камеру и следуйте официальному руководству по настройке MJPEG-стриминга. Для более глубокого погружения см. документацию теста датчика DS18B20.

Производственный процесс

  1. Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
  2. Как подключить однопроводный датчик температуры DS1820 к Raspberry Pi через GPIO
  3. Подключение ультразвукового датчика HC‑SR04 к Raspberry Pi 3 — полное руководство
  4. Датчик слежения за линией на Raspberry Pi — простой детектор двери/линии KY‑033
  5. Подключение цифрового термометра DS18B20 1-Wire к Raspberry Pi — пошаговое руководство
  6. Создайте домашний монитор температуры на Raspberry Pi с MCP9808, InfluxDB и Grafana
  7. Мастерство GPIO Raspberry Pi: подключение PIR-датчика движения на B+/Model 2
  8. Система домашней безопасности на Raspberry Pi: обнаружение движения PIR + камера с email-уведомлениями
  9. Подключение, калибровка и программирование PIR-датчика HC‑SR501 с Raspberry Pi
  10. Датчик эмоций и ЭЭГ: низкобюджетное железо для детекции эмоций в реальном времени