Оглавление:

Экономичная тепловизионная камера: 10 шагов
Экономичная тепловизионная камера: 10 шагов

Видео: Экономичная тепловизионная камера: 10 шагов

Видео: Экономичная тепловизионная камера: 10 шагов
Видео: 🔥При Сносе Здания Что-то Пошло Не Так🔥#Shorts 2024, Июль
Anonim
Экономичная тепловизионная камера
Экономичная тепловизионная камера
Экономичная тепловизионная камера
Экономичная тепловизионная камера
Экономичная тепловизионная камера
Экономичная тепловизионная камера
Экономичная тепловизионная камера
Экономичная тепловизионная камера
  • Я разработал устройство, которое может быть прикреплено к дрону и может транслировать смешанный кадр, состоящий из термографического изображения, показывающего тепловое излучение, и обычных фотографий в видимом свете.
  • Платформа состоит из небольшого одноплатного компьютера, датчика тепловизора и штатного модуля камеры.
  • Этот проект направлен на изучение возможностей недорогой тепловизионной платформы для обнаружения повреждений в солнечной панели, которая характеризуется тепловыми сигнатурами.

Запасы

  • Малина Pi 3B +
  • Panasonic AMG8833 сетка-глазок
  • Pi камера V2
  • Ноутбук с программой просмотра VNC

Шаг 1: Разработка печатной платы

Разработка печатных плат
Разработка печатных плат
Разработка печатных плат
Разработка печатных плат
Разработка печатных плат
Разработка печатных плат
  • Печатная плата для сенсора решетки Panasonic может быть спроектирована с помощью Auto-desk EAGLE.
  • Файл.brd разработан аналогично модулю Adafruit AMG8833 с небольшими изменениями.
  • Затем печатную плату можно напечатать с производителями печатных плат, и я использовал pcbway.com, где мой первый заказ был совершенно бесплатным.
  • Я обнаружил, что пайка печатной платы полностью отличается от известной мне пайки, поскольку она связана с устройствами поверхностного монтажа, поэтому я пошел к другому производителю печатных плат и припаял свою печатную плату с датчиком.

Шаг 2: Разработка программного обеспечения

  • Код написан на Thonny, интегрированной среде разработки python.
  • Процедура, лежащая в основе проекта, заключалась в подключении пи-камеры и установке соответствующего программного обеспечения.
  • Следующим шагом было подключение термодатчика для исправления контактов GPIO и установка библиотеки Adafruit для использования датчика.
  • Библиотека Adafruit содержала скрипт для считывания показаний датчика и сопоставления температур с цветами, однако создаваемые им движущиеся изображения не могли быть реализованы.
  • Поэтому код был переписан в формат, поддерживающий обработку изображений, в основном для объединения двух кадров вместе.

Шаг 3: считывание показаний датчиков

  • Для сбора данных с тепловизионной камеры использовалась библиотека ADAFRUIT, которая позволяет легко разложить датчики с помощью команды readpixels (), создав массив, содержащий температуры в градусах Цельсия, измеренные с отдельных элементов датчиков.
  • Для камеры Pi функция-команда picamera.capture () генерирует изображение с указанным форматом выходного файла.
  • Чтобы обеспечить быструю обработку, было установлено более низкое разрешение - 500 x 500 пикселей.

Шаг 4: Настройка термодатчика

  • Во-первых, мы должны установить библиотеку Adafruit и пакеты python.
  • Откройте командную строку и запустите: sudo apt-get update, которое обновит вам Pi
  • Затем введите команду: sudo apt-get install -y build-essential python-pip python-dev python-smbus git
  • Затем запустите: git clone https://github.com/adafruit/Adafruit_Python_GPIO…., Который загрузит пакет Adafruit на ваш Raspberry Pi.
  • Переместитесь в каталог: cd Adafruit_Python_GPIO
  • И установите программу установки, выполнив команду: sudo python setup.py install
  • Теперь установите scipy и pygame: sudo apt-get install -y python-scipy python-pygame
  • Наконец, установите библиотеку цветов, введя команду: sudo pip install color Adafruit_AMG88xx

Шаг 5: Включение интерфейса I2C

  • Введите команду: sudo raspi-config
  • Нажмите на Дополнительные параметры и выберите I2C, затем включите его и выберите Готово.
  • Перезагрузите Pi, чтобы успешно включить I2C.
  • Убедитесь, что вы также включили интерфейсы Camera и VNC.

Шаг 6: Подключение датчика и камеры

  • Вы должны подключить только 4 контакта AMG8833 к Pi и оставить контакт IR.
  • Питание 5 В и земля могут быть подключены к контактам 1 и 6 GPIO.
  • SDA и SCL подключены к контактам 4 и 5 Pi.
  • Войдите в raspberry с помощью ssh
  • запустить: sudo i2cdetect -y 1
  • Вы должны увидеть «69» в 9-м столбце, если нет проблем с подключением датчика к Pi.
  • Наконец, подключите камеру pi v2 к слоту камеры в raspberry pi.

Шаг 7: тепловая карта

  • Введите команду: git clone
  • Переходим в каталог Adafruit_AMG88xx_python / examples
  • введите команду: sudo python Thermal_cam.py
  • Ниже я прикрепил код для теплового картографирования AMG8833.

Шаг 8: обработка изображения

  • Отображение температуры

    1. Для визуализации тепловых данных значения температуры отображаются в цветовом градиенте от синего до красного со всеми другими цветами между ними.
    2. Когда датчик запускается, самая низкая температура отображается на 0 (синий), а самая высокая температура - на 1023 (красный).
    3. Всем остальным промежуточным температурам присваиваются коррелированные значения в пределах интервала
    4. Выходной сигнал датчика представляет собой массив размером 1 x 64, размер которого преобразован в матрицу.
  • Интерполяция

    1. Разрешение термодатчика довольно низкое, 8 x 8 пикселей, поэтому используется кубическая интерполяция для увеличения разрешения до 32 x 32, что приводит к матрице в 16 раз больше.
    2. Интерполяция работает путем построения новых точек данных между набором известных точек, однако точность снижается.
  • Числа к изображениям

    1. Числа от 0 до 1023 в матрице 32 x 32 преобразуются в десятичный код в цветовой модели RGB.
    2. Из десятичного кода легко сгенерировать изображение с помощью функции из библиотеки SciPy.
  • Изменение размера со сглаживанием

    1. Чтобы изменить размер изображения 32 x 32 до 500 x 500, чтобы оно соответствовало разрешению камеры Pi, используется PIL (библиотека изображений Python).
    2. Он имеет фильтр сглаживания, который сглаживает края между пикселями при увеличении.
  • Наложение прозрачного изображения

    1. Цифровое изображение и тепловое изображение затем смешиваются с одним окончательным изображением, добавляя каждое из них с прозрачностью 50%.
    2. Когда изображения с двух датчиков с параллельным расстоянием между ними объединяются, они не будут полностью перекрываться.
    3. Наконец, минимальная и максимальная температура, измеренная AMG8833, отображается с наложенным текстом на дисплее.

Шаг 9: файлы кода и печатной платы

Я приложил тестовый и окончательный код проекта ниже

Шаг 10: Заключение

  • Таким образом, тепловизионная камера была построена с Raspberry Pi и AMG8833.
  • Финальное видео было встроено в этот пост
  • Можно заметить, что температура изменяется мгновенно, когда я подношу зажигалку к установке, и датчик точно определяет пламя зажигалки.
  • Следовательно, этот проект может быть доработан для обнаружения лихорадки у людей, входящих в комнату, что будет очень полезно в этом кризисе COVID19.

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