Недорогой тепловизор своими руками на основе Raspberry Pi и AMG8833

Недорогой тепловизор своими руками на основе Raspberry Pi и AMG8833

Тепловизоры используются во многих областях человеческой деятельности, где нужно определять температуру объекта или какого-либо участка, например, такие инфракрасные камеры могут быть полезны в промышленности, строительстве, системах безопасности и т.п. Это устройство, безусловно, полезно, но одним его недостатком является высокая цена. Более-менее нормальные тепловизоры стоят от 350 $ за качественные и функциональные модели можно отдать более 1000 $.


Но сегодня благодаря развитию и распространению технологий можно самостоятельно собрать недорогой тепловизор, который хоть и не будет таким навороченным, как фирменные модели, зато будет выполнять основные возложенные на него функции измерения температуры и стоить значительно дешевле. В данном материале будет показан пример создания такого самодельного тепловизора на основе Raspberry Pi и датчика AMG8833.

Относительно недавно выпущенный AMG8833 представляет собой модуль теплового зрения серии Grid-EYE компании Panasonic. Этот датчик имеет МЭМС матрицу 8×8 и работает по интерфейсу I2C. Угол обзора составляет 60°, а дальность измерения около 7 метров. Максимальная частота формирования кадров составляет 10 кадров/с. Точностью измерений равна ±2.5 °C, а рабочий диапазон температур составляет от 0 до 80 °C. Компания Adafruit продает специальную отладочную плату с датчиком AMG8833, которую можно легко подключать к различным электронным устройствам.






Одноплатный компьютер Raspberry Pi представляет собой отличный вариант для приема и обработки данных с датчика AMG8833, поскольку имеет интерфейс I2C и достаточные вычислительные ресурсы, которые позволят выполнить интерполяцию и фильтрацию выходного сигнала датчика. Для отображения данных воспользуемся дисплеем 2.8 дюйма от Adafruit. Для работы с ним потребуется установка утилиты PiTFT (как установить: learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install). Также воспользуемся специальной переходной платой Pi Cobbler от Adafruit.

Перед настройкой работы с датчиком сначала убедитесь, что ваш менеджер пакетов Pi обновлен:



<code>sudo apt-get update</code>



Затем мы установим библиотеку Raspberry Pi и Adafruit_GPIO, которая является нашим интерфейсным средством:



<code> sudo apt-get install -y build-essential python-pip python-dev python-smbus git git <span class="keyword">clone
</span> https:<em>//github.com/adafruit/Adafruit_Python_GPIO.git</em> cd Adafruit_Python_GPIO sudo python setup.py install </code>



Наконец, установите pygame и scipy. Pygame позволяет нам легко рисовать на экране с использованием python, мы будем использовать его для работы дисплея. Scipy – это мощная библиотека для обработки данных, которую мы можем использовать для волшебного превращения массива 8x8 = 64 пикселей в нечто похожее на массив размером 32x32 = 1024 пикселей.



<code> sudo apt-get install -y python-scipy python-pygame sudo pip install colour Adafruit_AMG88xx </code>



Нам нужно включить шину I2C, чтобы мы могли общаться с датчиком:



<code>sudo raspi-config</code>



Выберите «Дополнительные параметры» и включите I2C.












После того, как I2C включен, введите «sudo shutdown –h», чтобы выключить Raspberry Pi и подготовиться к подключению датчика и дисплея. Подключите Vin датчика к источнику питания 3 В или 5 В (оба варианта нормально), подключите GND к заземляющему контакту на переходной плате. Подключите SDA датчика к SDA на переходной плате. Подключить SCL датчика к SCL на переходной плате. Схема подключения к датчику должна выглядить примерно так:





Теперь вы должны убедиться, что датчик правильно подключен, попросив Raspberry Pi определить, какие адреса он может видеть на шине I2C:



<code>sudo i2cdetect -y 1</code>



Он должен отображаться под своим адресом по умолчанию (0x69). Если вы не видите 69, проверьте свою проводку и проверьте, установили ли вы поддержку I2C. Если все в порядке, и адрес датчика отображается, то самое время запускать код примера:



<code> cd ~<span class="regexp">/ git clone https:/</span><span class="regexp">/github.com/</span>adafruit/Adafruit_AMG88xx_python.git cd Adafruit_AMG88xx_python/examples sudo python thermal_cam.py </code>



Если у вас все установлено и правильно подключено, вы должны увидеть на экране тепловое изображение. Холодные тона (синие и фиолетовые) – это более холодные температуры, а более теплые тона (желтый, красный) – более теплые температуры.




Написать:
23:30
760
Нет комментариев. Ваш будет первым!