Оглавление:

Чтение и отображение данных датчика освещенности и температуры с помощью Raspberry Pi: 5 шагов
Чтение и отображение данных датчика освещенности и температуры с помощью Raspberry Pi: 5 шагов

Видео: Чтение и отображение данных датчика освещенности и температуры с помощью Raspberry Pi: 5 шагов

Видео: Чтение и отображение данных датчика освещенности и температуры с помощью Raspberry Pi: 5 шагов
Видео: Основы цифровой электроники с Raspberry Pi и Python 2024, Июль
Anonim
Чтение и отображение данных датчика освещенности и температуры с помощью Raspberry Pi
Чтение и отображение данных датчика освещенности и температуры с помощью Raspberry Pi

В этом руководстве вы узнаете, как считывать показания датчика освещенности и температуры с помощью raspberry pi и аналого-цифрового преобразователя ADS1115 и строить график с помощью matplotlib. Начнем с необходимых материалов.

Запасы

  1. Raspberry pi (подойдет любой, хотя я использую 4)
  2. Карта MicroSD с установленным Raspbian (хорошее руководство:
  3. HDMI-монитор и источник питания
  4. Кабель Micro USB
  5. Аналого-цифровой преобразователь Adafruit ADS 1115:
  6. Провода перемычки
  7. датчик освещенности (LDR)
  8. Датчик температуры
  9. потенциометр x2 (значение будет средней точкой диапазона сопротивления ваших датчиков температуры и света, которые мы измерим позже)
  10. Макетная плата

Шаг 1. Настройте Raspberry Pi

1. Следуйте этому руководству, чтобы настроить Raspberry Pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Включите I2C: щелкните символ Raspberry Pi в верхнем левом углу. Перейдите в настройки> конфигурация raspberry pi> интерфейсы> и установите флажок «включить» на I2C. Затем нажмите ОК 3. Теперь откройте окно терминала. В командной строке введите:

sudo apt-get upgrade

sudo pip3 установить adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Шаг 2: Измерьте датчики света и температуры

Теперь нам нужно измерить сопротивление датчиков света и температуры. Возьмите вольтметр и измерьте сопротивление между выводами датчика освещенности в темноте и свете. Запишите значения. Теперь возьмите вольтметр на проводах вашего датчика температуры в горячем и холодном (я использовал воду). Запишите значения. Мы будем использовать их позже в нашей схеме.

Шаг 3: Подключите вашу схему

Подключите вашу схему
Подключите вашу схему

1. Соберите материалы, перечисленные в списке расходных материалов. Для потенциометров используйте среднее значение максимумов и минимумов (светлое и темное, горячее и холодное).

(высокий-низкий) / 2

2. Следуйте приведенной выше принципиальной схеме:

  1. Подключите SDA на аналого-цифровом преобразователе к SDA на пи
  2. Подключите SCL аналого-цифрового преобразователя к SCL на пи
  3. Подключите VDD аналого-цифрового преобразователя к 3,3 В на пи
  4. Подключите GND аналого-цифрового преобразователя к земле на пи
  5. Остальные компоненты подключите согласно принципиальной схеме.

Шаг 4: Код

1. Введите терминал:

nano digital.py

2. Вставьте код, который есть у меня ниже или на Github, в текстовый редактор, который должен появиться.

импортировать matplotlib.pyplot как plt

import numpy as np import board import busio import time import adafruit_ads1x15.ads1115 as ADS from adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C (board. SCL, board. SDA) ads = ADS. ADS1115 (i2c) x = 0 light = AnalogIn (ads, ADS. P0) temp = AnalogIn (ads, ADS. P1) X1 = X2 = Y1 = Y2 = plt.ylim (-50, 1000) plt.plot (X1, Y1, label = "light", color = '# 0069af') plt.plot (X2, Y2, label = "Temp", color = '# ff8000') plt.xlabel ('Время (минуты)') plt.ylabel (' Level ') plt.title (' Light and temp over time ') plt.legend () while True: x + = 5 Y1.append (light.value / 30) X1.append (x) Y2.append (temp.value / 3) X2.append (x) plt.plot (X1, Y1, label = "light", color = '# 0069af') plt.plot (X2, Y2, label = "Temp", color = '# ff8000') plt.pause (300)

3. Теперь нажмите CTRL + X для выхода, нажмите y для сохранения, затем нажмите Enter.

Запустите вашу программу, набрав в терминале:

sudo python3 digital.py

4. Отрегулируйте потенциометры так, чтобы график отображал широкий диапазон значений. Попробуйте направить свет на датчик и выключить свет в комнате, чтобы график отображал широкий диапазон значений.

Если какое-либо из значений опускается ниже дна, попробуйте уменьшить соответствующий делитель (строки 29 и 31).

Если какое-либо из значений превышает верхнее значение, попробуйте увеличить соответствующий делитель (строки 29 и 31).

Шаг 5. Устранение неполадок

1. Дважды проверьте все соединения на принципиальной схеме.

2. Обнаружение I2C - покажет вам все устройства, подключенные через i2c:

Введите терминал:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Рекомендуемые: