Quick

    아두이노 우노 Q로 코딩없이 만드는 우리 지역의 날씨 상태 쉽게 알아보기!

 

목록으로
아두이노 우노 Q 날씨 알리미 실습

안녕하세요 나도메이커 입니다~

최근 새롭게 업그레이드된 아두이노 우노 Q(Arduino Uno Q) 보드의 특징을 소개하면서, 첫 번째 실습으로 보드에 내장된 매트릭스 LED를 활용하여 실내 공기질 데이터를 시각적으로 띄워보는 유익한 프로젝트를 진행해 보았는데요.

이번 시간에는 지난 공기질 알리미 프로젝트에 이어, 우리가 사는 지역의 실시간 날씨 데이터를 LED 매트릭스에 이모티콘처럼 표현하는 IoT 실습을 준비했습니다! 특히 이번 프로젝트의 가장 큰 장점은 복잡한 텍스트 코딩(C언어나 파이썬 등)을 전혀 몰라도, 아두이노 우노 Q가 제공하는 전용 앱랩(APP LAB) 환경을 통해 클릭 몇 번만으로 훌륭한 결과물을 만들어낼 수 있다는 점입니다.

초등학생부터 고등학생까지 코딩을 처음 접하는 학생들은 물론, 방과 후 코딩 교실을 운영하시는 선생님과 강사님들께서도 수업 교보재로 활용하기에 아주 훌륭한 예제입니다. 복잡한 센서 배선이나 어려운 함수 작성 없이 직관적으로 데이터와 하드웨어가 연결되는 원리를 배울 수 있습니다. 어렵지 않게 바로 완성할 수 있으니, 기기를 준비하시고 지금 바로 따라와 주세요! Let's Go~!

■ 1. 실습 준비물 및 전용 앱랩(APP LAB) 실행

이번 시간의 준비물은 매우 간단합니다. 메인 컨트롤러 역할을 할 아두이노 우노 Q 보드 본체와, PC와 보드 간의 데이터 전송 및 전원 공급을 담당할 C타입 USB 케이블 단 두 가지만 있으면 됩니다. 외부 센서나 브레드보드(빵판)가 필요 없어 책상 위가 매우 깔끔해집니다.

먼저 아두이노 우노 Q 보드를 여러분의 HOST PC(데스크탑 또는 노트북)에 C타입 케이블로 단단히 연결해 줍니다. 연결이 완료되었다면, 바탕화면이나 프로그램 목록에서 아두이노 앱랩(Arduino APP LAB) 프로그램을 찾아 더블 클릭하여 실행합니다. 주의: 케이블이 단순 충전 전용일 경우 데이터 통신이 불가능하여 기기를 인식하지 못할 수 있으므로, 반드시 데이터 전송이 지원되는 케이블을 사용하셔야 합니다.

■ 2. 내장 예제 불러오기 및 기본 실행 테스트

앱랩(APP LAB) 프로그램이 성공적으로 열렸다면, 첫 화면 좌측 메뉴에서 'Examples(예제)' 탭을 확인할 수 있습니다. 아두이노 우노 Q는 교육용으로 최적화되어 있기 때문에, 사용자가 바로 응용할 수 있는 고품질의 예제들을 기본적으로 넉넉하게 제공합니다.

Examples 목록에서 스크롤을 쭉 내려 맨 마지막에 위치한 'Weather forecast on LED matrix(LED 매트릭스에 날씨 예보 띄우기)' 프로젝트 항목을 클릭해 줍니다!

해당 예제를 클릭하면 프로젝트의 개요 화면이 나타납니다. 만약 코드를 전혀 수정하지 않고, 예제에 기본으로 세팅된 외국 도시의 날씨를 매트릭스 LED로 바로 확인해보고 싶으시다면, 화면 상단에 위치한 RUN(실행) 버튼을 가볍게 클릭해 주시면 됩니다. 보드가 즉시 명령을 받아 LED를 켜는 것을 볼 수 있습니다.

■ 3. 우리 동네(도시) 날씨로 지역 코드 수정하기

기본 예제 실행을 확인했다면, 이제 내 주변의 날씨, 즉 우리나라의 도시 날씨를 불러오도록 데이터를 커스터마이징 해보겠습니다. 읽어오는 지역 데이터만 살짝 수정해 주면 되기 때문에 코딩 초보자도 전혀 두려워할 필요가 없습니다.

화면에서 도시 등의 코드를 내 입맛에 맞게 바꾸고 싶다면, 예제 프로젝트 화면에 있는 'Copy and edit app(앱 복사 및 편집)' 버튼을 클릭합니다. 원본 예제는 보호하면서, 나만의 수정 가능한 복사본을 만드는 과정입니다.

Copy(복사)를 진행한 다음, 팝업창이 뜨면 내가 알아보기 쉬운 원하는 프로젝트명(예: My_Weather_Seoul)으로 이름을 변경하고 저장합니다!

이제 코드를 수정할 수 있는 편집창이 열립니다. 좌측 파일 탐색기에서 'sketch.ino' 파일을 클릭합니다. 코드 에디터 화면이 나오면, 스크롤을 조금 내려 String city = "Turin"; 이라고 적힌 부분을 찾습니다. 이 부분이 바로 날씨 데이터를 가져올 도시의 이름을 지정하는 '변수(Variable)'입니다.

저는 실습을 위해 이탈리아의 토리노(Turin)로 되어 있던 값을 대한민국 수도인 서울로 변경해 보겠습니다. 코드 안의 텍스트를 String city = "Seoul"; 로 스펠링에 주의하여 수정해 줍니다!

■ 4. 매트릭스 LED 실시간 날씨 출력 확인

도시 이름을 'Seoul'로 성공적으로 변경하셨나요? 오타가 없는지 한 번 더 확인한 후, 화면 우측 상단의 RUN(실행) 버튼을 다시 한번 힘차게 눌러줍니다. 잠시 후 코드가 보드로 업로드되며 갱신됩니다.

아두이노 우노 Q 보드의 매트릭스 LED를 확인해 보세요! 인터넷을 통해 실시간으로 서울의 날씨 데이터를 받아와 그에 맞는 귀여운 아이콘 모양이 LED에 반짝이며 뜨는 것을 볼 수 있습니다. 제가 실습을 진행하는 지금 서울의 날씨는 구름이 끼어 있어서, LED에도 구름 모양이 아주 선명하게 표현되고 있네요^^

■ 5. API 개념 이해 및 추가 활용 팁

이번 프로젝트가 성공적으로 동작하는 핵심 원리는 바로 'API(Application Programming Interface)'에 있습니다. 아두이노 우노 Q가 와이파이 네트워크를 통해 날씨 데이터를 전문적으로 제공하는 서버(API)에 접속하여, 실시간 데이터를 문자로 받아온 뒤 이를 LED 이미지로 변환해 출력하는 원리입니다.

이 날씨 알리미 프로젝트는 API 기준 날씨 상태에 따라서 맑음(해), 구름, 눈, 비, 안개 등 아주 다양한 기상 상태를 각각 다른 모양의 아이콘으로 출력하도록 프로그래밍되어 있습니다. 학생들이 시각적으로 결과를 즉시 확인할 수 있어 코딩 수업의 집중도와 흥미를 최고조로 끌어올릴 수 있는 훌륭한 예제입니다.

코드 수정 단계에서 살펴본 것처럼, 도시 이름 변수를 바꾸면 전 세계 어디든 조회가 가능합니다. 세계적인 날씨 데이터 제공 사이트인 open-meteo.com을 참고하시면 지원되는 전 세계 수많은 도시의 영문명을 확인할 수 있습니다. 런던, 뉴욕, 도쿄 등 다양한 세계 주요 도시의 날씨 API를 테스트해 보며 글로벌 IoT 기기를 만들어보는 심화 학습은 어떨까요?

오늘의 실습은 여기까지입니다! 다음 시간에도 코딩의 재미를 더해줄 흥미롭고 유익한 실습 콘텐츠를 가지고 돌아오겠습니다. 수고하셨습니다~

해당 프로젝트에서 나온 상품은 아래에서 확인가능합니다 ▼

실습준비물

연관 컨텐츠

결제 및 주문

공지사항 목록