수행기록퀘스트1

온습도 센서를 사용한 실시간 데이타 취득 및 OLED/네오픽셀에 표시
2022. 3. 12 (토) 16:47 박호* 조회 558 좋아요 0 스크랩 0 댓글 0

제목 : Sensirion SCD30(CO2, 온도, 습도) 센서를 사용한 실시간 데이타 취득 및 OLED/네오픽셀에 표시

 

. 시스템 구성

구성

세부내용

MCU 보드

H/W : STM32F401-NUCLEO-F401RE - https://www.st.com/en/evaluation-tools/nucleo-f401re.html

S/W : 아두이노 STM32 - https://github.com/stm32duino/Arduino_Core_STM32

센서

Sensirion SCD30(CO2, 온도, 습도)

https://sensirion.com/products/catalog/SCD30/

https://github.com/sparkfun/SparkFun_SCD30_Arduino_Library

디스플레이

I2C 128x64 OLED 모듈 :

https://github.com/adafruit/Adafruit_SSD1306

네오픽셀

8개 ring 형

https://github.com/adafruit/Adafruit_NeoPixel

 

. 시스템 사진

 

. 동작 시나리오

 setup 함수

  • Serial, 버튼 LED, SCD30(/습도 센서), OLED 모듈, 네오픽셀을 초기화 한다.
  • 부팅 초기는 온도를 표시하는 모드이다.
  • setup 함수

loop 함수

  • 500 ms 주기로 사용자 LED on/off 번갈아가며 점멸한다
  • 버튼 입력이 있을때 마다 표시모드를 변경한다. 변경순서는 다음과 같다 (온도->습도->CO2->ALL)
  • SCD30 센서값이 유효할때마다 현재 표시모드에 맞게 값을 OLED 표시한다
  • 현재 표시모드에 따라 네오픽셀의 세기를 설정한다. (온도-RED, 습도-GREEN, CO2-BLUE)

 

 

. 동작 동영상 

첨부파일
topspin-show-me-the-things.zip 다운로드

로그인 후
참가 상태를 확인할 수 있습니다.