여보세요!
7 년 전에 나는 온도 센서 Melexis를 사용하여 간단한 적외선 열 화상 카메라를 만들었습니다.
MLX90614 DCI 및 두 개의 서보 모터.
링크 : http : //forum.mosfetkiller.de/viewtopic.php? f = 6 & t …
그것은 효과가 있었지만 한 가지 그림이 노출되는 데 몇 분이 걸리는 큰 단점이 있습니다. 게다가 기온은 컴퓨터로 보내 져서 거기에 저장되어 색칠 된 그림을 만들어야했습니다.
두 달 전에 Melexis에는 하나 이상의 픽셀이 포함 된 새로운 적외선 센서 인 MLX90640 (http://www.melexis.com/en/documents/documentation/datasheets/datasheet-mlx90640)이 있음을 알게되었습니다. MLX90640은 24 행 32 열로 배열 된 768 픽셀로 구성됩니다.
PCB (Printed Circuit Board)가없는 센서 만 사면 SDA 및 SCL 라인에 2.2 kOhm 풀업 저항 2 개가 필요합니다. 센서에 3.3V 이상을 공급하지 마십시오. 그렇지 않으면 손상 될 것입니다.
용품:
1 단계 : 필요한 부품과 총비용
예를 들어 sparkfun (sparkfun MLX90640), aliexpress (MLX90640 aliexpress) 또는 mouser (mouser MLX90640)에서 MLX90640을 얻을 수 있습니다.
110 ° x75 ° 시야 (MLX90640BAA)와 55 ° x35 ° fov (MLX90640BAB)의 두 가지 센서 유형이 있습니다. 가격에는 차이가 없습니다 …
그렇다면 ESP32가 필요합니다. 그것은 6 달러 미만을 위해 몇몇 상점 또는 eBay에서 팔릴 수있다.
그래프를 그리기 위해서는 디스플레이가 필요합니다. 내가 aliexpress (ILI9341 디스플레이)에서 320x240 ILI9341 디스플레이를 선택했습니다. 터치 스크린과 SD 카드 슬롯을 제공하지만 열 화상 카메라의 경우 디스플레이 및 전원 공급 장치 용으로 9 핀이 필요합니다.
마지막으로 ESP, 디스플레이 및 센서 (듀폰 와이어) 사이의 연결을 위해 여성 - 여성 듀퐁 와이어가 필요합니다.
이 프로젝트의 비용 :
- Melexis MLX90640 …………… 50-70 USD
- ESP32 ……………………………. 5 USD
- ILI9341 320x240 디스플레이 ……. 8 USD
- 듀폰 와이어 ……………………… 1 USD
-------------------------------------------------
총 최소 = 64 USD
2 단계 : 첫 번째 테스트에 필요한 라이브러리 및 코드
MLX90640의 스파크 펀 (sparkfun)에서 arduino 코드를 찾을 수 있습니다.
http : //github.com/sparkfun/SparkFun_MLX90640_Ardu …
Arduino Due와 함께 코드를 실행하려고했지만 성공하지 못했습니다. 웹에서 arduino 보드와 비슷한 문제가있는 다른 사용자의 스레드 몇 개를 발견했습니다. 나는 기온을 얻지 못했지만 값은 "숫자가 아니"다.
그래서 나는 ESP32 보드로 전환했다. Arduino-IDE로 ESP32를 설치하는 것은 매우 간단합니다. 유용한 자습서를 찾을 수 있습니다.
http : //randomnerdtutorials.com/installing-the-esp …
잠시 후 Arduino-IDE의 보드 관리자에서 많은 ESP32 보드 중에서 선택할 수 있습니다. 내 보드의 경우 "ESP32 Dev Module"을 선택합니다.
디스플레이에는 adafruit의 두 라이브러리가 필요합니다.
- ILI9341 라이브러리 : http://github.com/adafruit/Adafruit_ILI9341
- GFX 라이브러리 : http://github.com/adafruit/Adafruit-GFX-Library
ESP32로 디스플레이를 테스트하려면 다음 프로그램을 권장합니다.
http : //github.com/MartyMacGyver/ESP32_Adafruit_IL …
선, 직사각형 등을 그리는 데 필요한 코드를 찾을 수있을뿐만 아니라 올바른 색상을 결정할 수 있습니다.
그런 다음 ESP32에서 Sparkfun-MLX90640 코드를 실행하려고했습니다. 나는 다시 한번 잘못된 온도 (nan)를보기 위해 매우 좌절했다.
다행히 누군가의 MLX90640 센서가 센서의 메모리 / 레지스터에 특별한 값으로 작동한다는 것을 알았습니다. 위치 0x800D의 값은 1901 (HEX) = 6401 (DEC)이어야합니다. 나는 라인을 삽입했다.
arduino 프로그램의 설정 루틴에서. 그러나이 수정으로 나는 코드를 컴파일하는 동안 여전히 오류 메시지를 얻었습니다. 또 다른 힌트는 매우 유용했습니다. 라인을 추가해야합니다. #포함 ; 파일의 시작 부분에 MLX90640_I2C_Driver.cpp !
이제 MLX90640 센서에서 적절한 값을 얻어야합니다. 어쩌면 일부 픽셀이 작동하지 않거나 잘못된 온도를 표시 할 수 있습니다. 이 경우 수동으로 픽셀 값을 변경해야합니다. 나는 두 개의 이웃 픽셀을 가지고 간단한 선형 보간법을 선택했다. f.e. 1 * 32 + 21 번째 픽셀이 잘못되었습니다. 코드는 다음과 같습니다.
하지만 이것은 결함있는 픽셀이 그림의 양면 중 하나에 정확하게 있지 않을 때만 작동합니다 …
3 단계 : 온도의 시각화
768 온도를 시각화하기 위해 0,180과 RGB 값 사이의 간단한 값 변환을 만들었습니다. 모든 픽셀의 온도는 180 * (T_pixel - T_minimum) / (T_maximum - T_minimum) 함수로 구간 0,180으로 변환됩니다. 그래서 당신은 회사의 색다른 사람들에게서 알 수있는 것과 비슷한 색을 얻습니다. 위 온도는 무작위로 테스트를 볼 수 있습니다 …
4 단계 : 전체 회로, 코드 및 결과
프로그램을 복사 한 후에는 디스플레이를 ESP32에 연결해야합니다 (그림과 코드 추가 참조). 업로드하는 동안 먼저 ESP32의 BOOT-putton을 눌러야합니다. 그런 다음 반드시 EN 버튼을 눌러야합니다. 그런 다음 모든 것이 잘 작동하면 적외선 열 화상이 디스플레이에 표시됩니다.
전체 카메라는 ESP32에 + 5V를 제공하기 위해 스텝 - 업 컨버터가 뒤 따르는 하나의 리튬 이온 배터리에 의해 전력이 공급 될 것이다. 5V보다 많이 올라가지 마십시오. 그렇지 않으면 온보드 전압 조절기가 너무 뜨거워집니다. 지금은 배터리 홀더를 기다리고 있습니다. 그럼이 프로젝트는 끝날거야 …
어쩌면 내 다른 물리학 프로젝트 (http : //www.youtube.com/user/stopperl16/videos? vi …)를보고 싶을 것입니다.
그리고 마지막으로, Remix-contest에서 나를 투표 할 수 있다면 매우 행복 할 것입니다.
http://www.instructables.com/contest/remix2019/
고맙습니다 …