[아두이노야 놀자]<19>오늘 서울 날씨

최근 엔트리에 추가된 '확장 블록'으로 날씨 프로그램을 만들어봅시다. 확장 블록은 기존 블록과 달리 특수 목적으로 사용됩니다. 현재 '날씨 블록'만 추가할 수 있는데 실제 날씨 정보를 이용하는 프로그램을 만들고 싶으면 이 블록을 불러오면 됩니다.

[그림 1] 글상자 오브젝트 구성하기.
<[그림 1] 글상자 오브젝트 구성하기.>

준비물은 아두이노(UNO), USB 케이블, 브레드 보드 각 1개씩과 전선 5개 정도, 저항 10K 옴, 온도 센서와 조도 센서입니다. [그림 1]처럼 서울 날씨를 알려주는 프로그램을 만들겠습니다.

먼저 글상자 5개와 날씨를 표현하는 배경 하나를 불러와 [그림 1]과 같이 배치합니다. 글상자는 순서대로 제목, 서울 날씨, 창문 밖 날씨, 서울 기온, 실내 기온을 표시합니다. 만일 여러분이 경기도나 대구 등 타 지역에서 생활한다면 경기도, 대구 날씨를 기준으로 만들어도 됩니다.

[그림 2] 날씨 상태 확인하기.
<[그림 2] 날씨 상태 확인하기.>

날씨 글상자(두 번째 오브젝트)를 선택합니다. 오늘 서울 날씨는 어떤지, 조건문으로 알아내 날씨에 따라 글상자 내용을 [그림 2]와 같이 씁니다. 1800초(30분)를 기다립니다. 날씨 정보는 30분마다 갱신되기 때문입니다.

[그림 3] 창 밖 밝기 측정하기.
<[그림 3] 창 밖 밝기 측정하기.>

세 번째 글상자는 [그림 3]과 같이 구성하면 됩니다. 조도 센서는 아날로그 1번 핀에 연결돼 있습니다. 글상자 내용은 조도 센서를 창문 밖에 놓았을 때를 기준으로 작성했습니다. 그러면 창문과 커튼이 닫혀 있어도 밖이 밝은지, 어두운지 알 수 있습니다. 조도 센서 값이 크면 밝다, 중간 정도면 약간 흐리다, 그 이하면 어둡다고 글상자에 씁니다.

[그림 4] 최저·최고기온 표시하기.
<[그림 4] 최저·최고기온 표시하기.>

네 번째 글상자는 [그림 4]처럼 합치기 블록을 통해 오늘 서울 최고기온과 최저기온을 한 번에 보여줍니다.

[그림 5] 실내 온도 측정하기.
<[그림 5] 실내 온도 측정하기.>

다섯 번째 글상자는 [그림 5]와 같이 구성합니다. 아날로그 0번 핀에는 온도 센서가 연결돼 있습니다. '디지털 온도계' 편에서 배웠던 공식을 통해 온도 센서 값을 섭씨로 변환해주고 글상자에 표시하면 됩니다.

날씨에 따라 배경이 바뀌면 알아보기 더 쉬울 것 같습니다. 날씨를 표현하기에 적절한 여러 가지 배경을 불러오고 날씨와 기온, 시간대에 따라 배경을 바꿔 [그림 6]처럼 생동감을 불어넣을 수 있습니다.

[그림 6] 날씨 이미지.
<[그림 6] 날씨 이미지.>

김지원 네이버커넥트재단 연구원

위방향 화살표