
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04

В этом руководстве вы узнаете, как считывать показания датчика освещенности и температуры с помощью raspberry pi и аналого-цифрового преобразователя ADS1115 и строить график с помощью matplotlib. Начнем с необходимых материалов.
Запасы
- Raspberry pi (подойдет любой, хотя я использую 4)
- Карта MicroSD с установленным Raspbian (хорошее руководство:
- HDMI-монитор и источник питания
- Кабель Micro USB
- Аналого-цифровой преобразователь Adafruit ADS 1115:
- Провода перемычки
- датчик освещенности (LDR)
- Датчик температуры
- потенциометр x2 (значение будет средней точкой диапазона сопротивления ваших датчиков температуры и света, которые мы измерим позже)
- Макетная плата
Шаг 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. Следуйте приведенной выше принципиальной схеме:
- Подключите SDA на аналого-цифровом преобразователе к SDA на пи
- Подключите SCL аналого-цифрового преобразователя к SCL на пи
- Подключите VDD аналого-цифрового преобразователя к 3,3 В на пи
- Подключите GND аналого-цифрового преобразователя к земле на пи
- Остальные компоненты подключите согласно принципиальной схеме.
Шаг 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
Рекомендуемые:
Интернет вещей: визуализация данных датчика освещенности с помощью Node-RED: 7 шагов

Интернет вещей: визуализация данных датчика освещенности с помощью Node-RED: в этом руководстве вы узнаете, как создать датчик, подключенный к Интернету! Я буду использовать датчик внешней освещенности (TI OPT3001) для этой демонстрации, но подойдет любой датчик по вашему выбору (температура, влажность, потенциометр и т. Д.). Значения датчиков
Отправка данных беспроводного датчика вибрации и температуры в Excel с помощью Node-RED: 25 шагов

Отправка данных беспроводного датчика вибрации и температуры в Excel с помощью Node-RED: представляем промышленный беспроводной датчик вибрации и температуры для Интернета вещей большого радиуса действия от NCD, обеспечивающий радиус действия до 2 миль за счет использования беспроводной ячеистой сетевой структуры. Это устройство, оснащенное прецизионным 16-битным датчиком вибрации и температуры, может
Чтение данных ультразвукового датчика (HC-SR04) на ЖК-дисплее 128 × 128 и их визуализация с помощью Matplotlib: 8 шагов

Считывание данных ультразвукового датчика (HC-SR04) на ЖК-дисплее 128 × 128 и их визуализация с помощью Matplotlib: в этой инструкции мы будем использовать MSP432 LaunchPad + BoosterPack для отображения данных ультразвукового датчика (HC-SR04) на экране 128 × 128. ЖК-дисплей и последовательно отправляйте данные на ПК и визуализируйте их с помощью Matplotlib
Чтение и запись данных во внешнюю EEPROM с помощью Arduino: 5 шагов

Чтение и запись данных во внешнюю EEPROM с использованием Arduino: EEPROM - это электрически стираемая программируемая постоянная память. EEPROM очень важна и полезна, потому что это энергонезависимая форма памяти. Это означает, что даже когда плата выключена, микросхема EEPROM все еще сохраняет программу, которая
Отображение температуры и влажности и сбор данных с помощью Arduino и обработка: 13 шагов (с изображениями)

Отображение температуры и влажности и сбор данных с помощью Arduino и обработки: Введение: это проект, в котором используется плата Arduino, датчик (DHT11), компьютер с Windows и программа обработки (загружаемая бесплатно) для отображения данных температуры и влажности в цифровом и форма гистограммы, отображение времени и даты и запуск подсчета времени