0 Comments
■ 제목
mblock 프로그램을 활용한 온/습도, 조도 센서 표시
■ 각 센서에 대한 구성
1. DHT11 온습도 센서
DHT11은 상대습도와 온도를 측정해 주는 센서로 동작전압은 +5V이고 온도범위는 0~50℃ 이며 오차는 2℃ 입니다. 습도범위는 20~90%이며 오차는 5% 입니다.
관련 정보는 아래의 링크를 확인 해 주세요.
http://www.hardcopyworld.com/ngine/aduino/index.php/archives/190
2. BH1750 조도센서
BH1750는 내부에 16bit AD 컨버터가 내장 되어 있는 조도센서로써 별다른 복잡한 계산이 필요 없이 디지털로 변환된 조도 Lux값이 I2C 통신으로 출력 됩니다. 동작전압은 5V이고 조도 범위는 0~ 65535 lx 입니다.
관련 정보는 아래의 링크를 확인 해 주세요.
https://www.dfrobot.com/product-531.html
https://www.dfrobot.com/wiki/index.php/Light_Sensor_(SKU:SEN0097)
■ 하드웨어 연결
1. 아두이노와 비트모스 쉴드와 연결
위의 그림과 같이 아두이노와 비트모스 쉴드에 헤더 핀과 핀 헤더를 맞춰서 결합합니다.
2. 비트모스 쉴드와 DHT11 온/습도 센서 연결
위의 그림에서처럼 DHT11의 2번 PIN에 노란색 선을 연결하여 비트모스 쉴드의 4번에 연결하고 DHT11 1번 PIN에 빨간색 선을 연결하여 쉴드에 VCC에 연결, DHT11에 4번 PIN에 검정색 선을 연결하여 쉴드의 GND에 연결 합니다.
3. 비트모스 쉴드와 BH1750 조도 센서 연결
BH1750의 SDA에 노란색 선을 연결하여 비트모스 쉴드의 A4에 연결하고 센서의 SCL에 파란색 선을 연결하여 쉴드의 A5에 연결합니다. 센서에 VCC는 빨간색 선으로, GND는 검정색 선으로 연결하여 쉴드의 VCC와 GND에 연결합니다.
■ mblock 프로그램으로 온/습도센서 값 표시
비트모스 아두이노 쉴드에 부착한 온/습도 센서로 온/습도 값을 받아 시리얼 모니터로 표시를 할것입니다.
먼저 아두이노 종류와 포트번호에 맞추어 “보드” 메뉴에서 보드를 선택하고, “연결” 메뉴에서 “시리얼 포트” 메뉴를 열어 현재 아두이노가 연결되어 있는 시리얼 번호를 클릭합니다.
“편집” 탭에서 “아두이노 모드”로 클릭하여 “아두이노 모드”에서 프로그림을 시작 합니다.
“스크립트” 창에서 “로보트”를 클릭한 뒤 Arduino 라이브러리에서 “아두이노 프로그램” 블록을 드래그 하여 제일 상단에 붙이고 Bitmoss 라이브러리 창에서 “초기화 및 아이디 설정” 블록을 드래그 하여 바로 아래에 붙입니다.
“스크립트” 창에서 “제어”를 클릭하여 “무한 반복하기” 블록을 붙여 넣습니다.
“스크립트” 창에서 “로보트”를 클릭하여 Arduino 라이브러리에 있는 “시리얼텍스트쓰기” 블록 4개를 무한 반복하기 불록 사이에 붙여 넣습니다.
1번째 “시리얼텍스트쓰기” 블록에 Temperature: 텍스트를 기입하고 3번째 “시리얼텍스트쓰기” 블록에는 Humidity: 텍스트를 기입합니다.
2번째 “시리얼텍스트쓰기” 블록에 BitMoss 라이브러리의 “온도센서 값(DHT11) 읽기 블록”을 넣고 4번째 “시리얼텍스트쓰기” 블록에는 “습도센서 값(DHT11) 읽기” 블록을 넣습니다.
“스크립트” 창에서 “제어”를 클릭하여 2번째 “시리얼텍스트쓰기” 블록 아래와 4번째 “시리얼텍스트쓰기” 블록 아래에 “1초 기다리기”블록을 붙여 널고 원하는 초로 설정 합니다.
“아두이노에 업로드”를 클릭하여 “업로드 완료”가 뜨면 프로그램이 완료 됩니다.
아두이노의 시리얼 모니터나, 허큘리스 등의 시리얼 모니터 프로그램에서 해당 시리얼 COM 포트로 연결한 다음 위의 그림과 같이 연결된 온/습도 센서의 온/습도 값이 정상적으로 나오면 제대로 프로그램이 완료 된 것입니다.
허큘러스 다운로드는 아래의 링크에서 받을 수 있습니다.
https://hercules-setup.soft32.com/
■ mblock 프로그램으로 조도센서 값 표시
앞서 온/습도 센서의 4번째 “시리얼텍스트쓰기” 블록과 “1초 기다리기”블록 아래에 “시리얼텍스트쓰기” 블록 2개를 추가하고 “1초 기다리기”블록 1개를 더 추가 합니다.
추가한 “시리얼텍스트쓰기” 블록 중 1번째 블록에 Illuminance: 텍스트를 기입하고 2번째 블록애 “스크립트” 창에서 “로보트”를 클릭하여 “조도센서(BH1750) 값 블록을 붙여 넣습니다.
“아두이노에 업로드”를 클릭하여 “업로드 완료”가 뜨면 프로그램이 완료 됩니다.
아두이노 시리얼 모니터나, 허큘레스 등 시리얼 모니터 프로그램에서 추가된 조도센서 값이 Illuminance: 텍스트가 출력 되면서 아래 측정된 조도 값이 출력 된다면 정상적으로 프로그램이 완료 되었습니다.