Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Arduino IDE Installation
아두이노 개발 환경(IDE Integrated Development Environment) 설치
소스 개발, 컴파일, 업로드, 디버깅을 위한 어플리케이션으로 아래 공식 사이트...
IDE 화면 기본 구성
아두이노 IDE 화면 기본 구성
설치가 완료되었으면, 아두이노 IDE를 실행하고 화면 기본 구성을 살펴 봅니다.
Edit 영역
아두이노를 동작 시키기 위한 소스
Code를 입력하는 영역으로 프로
...
한글 시계 라이브러리/USB Driver 설치
한글시계 Libraries 복사
-  아래 그림 파일의 경로 또는 아두이노가 설치된 폴더 아래 libraries 폴더에 다음 라이브러리들을 복사 합니다.
-  라이브러리 파...
한글 시계 부품도
USB C
able
Main P
CBArduino
Nano B
oard
RTC M
odule
Front
Main Fr
ame
Base
한글 시계 뒷면 조립도
Button
RTC M
odule
Arduino
Nano Bo
ard
LED Co
ntrol IC
가변 저항
하드웨어 조립 검증
•  HW Test(HangulClock_HW_TEST.ino) 다운
로드 한 후, LED 전부 켜지는 지 확인
-> 좌 상단부터 순차적으로 켜졌다가 전부 불 켜지는 지 확인
•  보드 조립 검증 확...
데모
•  한글 시계 Demo
- 시간 설정 : Button (분/시간)
- 사진 모드
- Tool과 연동
: 이미지 만들어 전송하기
: 날씨 정보 읽어 오기
: 시간 Sync. 맞추기(PC 시간과 동기화)
아두이노 기본 예제 배우기
아두이노 IDE 기본 예제 (LED Blink) 실행
아두이노 IDE에서 제공하는 기본 예제(LED Blink)를 선택하고 [ 파일 – 예제 – 01.Basics – Blink ]를 엽니다.
...
Serial Monitor 사용하기
Serial Monitor 사용법
통신 속도 정하기
아두이노는 시리얼 포트를 통해서 PC나 Bluetooth, WiFi Module과 통신을 할 수 있습니다.
시리얼 통신을 위해서는 ...
디버깅 모니터 화면
한글시계 기본 구조
Setup Button
check
Time
Update
Display
Update
Serial
명령 Check
Loop 함수Setup 함수
1 2 3
45
한글시계 자료 복사(3주차)
•  아래 경로의 파일을 바탕화면에 복사
•  G:한글시계 교육자료SRC3주차
한글시계 LED Matrix Control 구조
한글시계 기본 예제
-  LED 하나 켜보기
: 예제(HangulClock_LED_ONE.ino) 다운로드
-  LED 모양 만들어 켜보기
: 하트 모양, 다이아몬드, 화살표 등
-  움직이는 모양 만들어 보기
: 화살...
LED Control 하기
한글시계 예제( HangulClockExample ) 실행
아두이노 IDE를 실행하고 파일 – 열기 메뉴(아래 그림 참조)에서 한글 시계 예제 파일을 엽니다.
아두이노를 PC에 연결하고 [ 도...
한글시계 구조 배우기
한글시계 라이브러리
1. LEDControl (MAX7219 Matrix driver) : LED Control Driver IC 라이브러리
- LedControl.cpp, LedControl.h
...
한글시계 구조 배우기
기능별 동작 프로그래밍 (라이브러리 함수 사용)
1.  LED Control (Row/Colum) 라이브러리 함수
: Driver IC의 DIG(Row)/SEG(Col.) Pin들을 가로, 세로로 ...
LED 제어 함수
LED 제어 함수를 이용하여 LED 제어 하기
1. _P_ON( row, column)
- panel data [ ] Update 매크로 함수
- 좌표 값(row, column)에 따라 panel da...
LED 제어 함수
LED 제어 함수를 이용하여 LED 제어 하기
3. REFRESH_PANEL( )
- 매크로 함수로 panel data를 참조하여 LED를 제어하는 함수(panel data가 Update된 후 불려진다...
LED Control
LED 켜는 부분
RTC Module 제어
RTC Module(DS1307)에서 시간 정보 가져오기
1. 라이브러리 파일 :
- RTClib.cpp/h : DS1307 Module 제어를 위한 함수가 구현되어 있는 라이브러리 파일
- W...
Button Interface 제어
Button Short/Long Key 제어 하기
1.  라이브러리 파일 :
- Button.cpp/h
2. 라이브러리 함수 :
- button 제어를 위한 Instance 생성
- ...
한글시계 Tool과 연동하기
Tool 과 연동을 위한 기능 추가
1.  Serial Rx Buffer 늘리기 : tool에서 전송되는 데이터가 잘리지 않도록 수신 버퍼를 64 -> 256 bytes로 수정한다
- 수정 ...
한글시계 Tool과 연동하기
Tool 과 연동을 위한 기능 추가
2.  시간 동기화 :
- #S<hh><mm><ss> : 시리얼 명령어 처리 부분 구현
- Loop 문 안에 아래 내용 추가
한글시계 Tool과 연동하기
Tool 과 연동을 위한 기능 추가
2.  시간 동기화 :
< 실행 순서 >
1. 한글시계가 PC와 연결된 상태에서 Tool을 실행하면 Com Port가 List에 나타난다.
2. Baud ...
한글시계 Tool과 연동하기
Tool 과 연동을 위한 기능 추가
3. 날씨 데이터 읽어오기 & Display 하기 :
- Mode Define 하고 Func. 구현
- #WR(Rainy), WH(Haze), WS(Sno...
한글시계 Tool과 연동하기
Tool 과 연동을 위한 기능 추가
3. 날씨 데이터 읽어오기 & Display 하기 :
- Mode Define 하고 Func. 구현
- #WR(Rainy), WH(Haze), WS(Sno...
한글시계 Tool과 연동하기
Tool 과 연동을 위한 기능 추가
4. Tool에서 편집된 이미지 데이타 읽어오기 :
- Mode Define 및 해당 Func. 구현 하기(Flash, Vertical Mode 등) : ...
Upcoming SlideShare
Loading in …5
×

한글시계웍샵_ SW

754 views

Published on

Software Level에서 한글시계 설명

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ..................................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookeBOOK Crime, eeBOOK Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

한글시계웍샵_ SW

  1. 1. Arduino IDE Installation 아두이노 개발 환경(IDE Integrated Development Environment) 설치 소스 개발, 컴파일, 업로드, 디버깅을 위한 어플리케이션으로 아래 공식 사이트에서 OS별로 다운로드 받아서 설치하 시면 됩니다. 공식 홈페이지 주소 http://arduino.cc/en/Main/Software OS Version 별로 해당 프로그램을 Download 받아서 설치 합니다.
  2. 2. IDE 화면 기본 구성 아두이노 IDE 화면 기본 구성 설치가 완료되었으면, 아두이노 IDE를 실행하고 화면 기본 구성을 살펴 봅니다. Edit 영역 아두이노를 동작 시키기 위한 소스 Code를 입력하는 영역으로 프로 그램을 수정 및 변경하는 영역 Setup() 함수와 Loop() 함수가 위 치 한다 Compile Button 소스 코드를 Build하 기 위한 버튼 Upload Button 소스 코드를 Build + Arduino 보드에 Uplo ad 하기 위한 버튼 Serial Monitor But ton 소스 코드를 디버깅하 기 위한 메시지 창을 띄우는 버튼 Message 영영 Build, Upload 결과, 등의 개발환경을 사용 하면서 발생하는 메시 지 창 영역
  3. 3. 한글 시계 라이브러리/USB Driver 설치 한글시계 Libraries 복사 -  아래 그림 파일의 경로 또는 아두이노가 설치된 폴더 아래 libraries 폴더에 다음 라이브러리들을 복사 합니다. -  라이브러리 파일(폴더)명 : LedControl, RTClib, Wire, Button 한글시계 USB Driver 설치 -  한글 시계 USB Driver(CH341)를 설치 합니다. -  드라이버 파일(CH341SER.EXE)을 실행하고 USB Driver(CH341)를 설치 합니다.
  4. 4. 한글 시계 부품도 USB C able Main P CBArduino Nano B oard RTC M odule Front Main Fr ame Base
  5. 5. 한글 시계 뒷면 조립도 Button RTC M odule Arduino Nano Bo ard LED Co ntrol IC 가변 저항
  6. 6. 하드웨어 조립 검증 •  HW Test(HangulClock_HW_TEST.ino) 다운 로드 한 후, LED 전부 켜지는 지 확인 -> 좌 상단부터 순차적으로 켜졌다가 전부 불 켜지는 지 확인 •  보드 조립 검증 확인 -> 납땜 상태(LED, 저항, 버튼등), Socket 연결 등 확인
  7. 7. 데모 •  한글 시계 Demo - 시간 설정 : Button (분/시간) - 사진 모드 - Tool과 연동 : 이미지 만들어 전송하기 : 날씨 정보 읽어 오기 : 시간 Sync. 맞추기(PC 시간과 동기화)
  8. 8. 아두이노 기본 예제 배우기 아두이노 IDE 기본 예제 (LED Blink) 실행 아두이노 IDE에서 제공하는 기본 예제(LED Blink)를 선택하고 [ 파일 – 예제 – 01.Basics – Blink ]를 엽니다. 아두이노를 PC에 연결하고 [ 도구 – 보드 – Arduino Uno ]를 선택하고 프로세서는 ATmega328을 선택합니다. 아두이노가 연결된 USB 포트를 선택 합니다.
  9. 9. Serial Monitor 사용하기 Serial Monitor 사용법 통신 속도 정하기 아두이노는 시리얼 포트를 통해서 PC나 Bluetooth, WiFi Module과 통신을 할 수 있습니다. 시리얼 통신을 위해서는 Baudrate라고 하는 통신 속도를 정해줘야 합니다. 기본 baudrate 는 9600bps 입니다. (프로그램에서 설정된 속도와 동일하게 맞춰야 통신이 가능합니다.) 소스 코드에 내용 추가 하기 Setup() 함수 내에서 “Serial.begin(9600);” 추가 합니다. Loop() 함수 내에서 “Serial.print(“디버그 코드”);를 추가 합니다. 시리얼 모니터 버튼을 클릭하고 Baudrate를 9600bps로 맞춰 줍니다.
  10. 10. 디버깅 모니터 화면
  11. 11. 한글시계 기본 구조 Setup Button check Time Update Display Update Serial 명령 Check Loop 함수Setup 함수 1 2 3 45
  12. 12. 한글시계 자료 복사(3주차) •  아래 경로의 파일을 바탕화면에 복사 •  G:한글시계 교육자료SRC3주차
  13. 13. 한글시계 LED Matrix Control 구조
  14. 14. 한글시계 기본 예제 -  LED 하나 켜보기 : 예제(HangulClock_LED_ONE.ino) 다운로드 -  LED 모양 만들어 켜보기 : 하트 모양, 다이아몬드, 화살표 등 -  움직이는 모양 만들어 보기 : 화살, 하트등
  15. 15. LED Control 하기 한글시계 예제( HangulClockExample ) 실행 아두이노 IDE를 실행하고 파일 – 열기 메뉴(아래 그림 참조)에서 한글 시계 예제 파일을 엽니다. 아두이노를 PC에 연결하고 [ 도구 – 보드 – Arduino Nano ]를 선택 합니다. 아두이노가 연결된 USB 포트를 선택 합니다.
  16. 16. 한글시계 구조 배우기 한글시계 라이브러리 1. LEDControl (MAX7219 Matrix driver) : LED Control Driver IC 라이브러리 - LedControl.cpp, LedControl.h 2. RTClib (ds1307 Module) : RTC Module에서 시간 데이터를 읽어오기 위한 라이브러리 - RTClib.cpp, RTClib.h 3. Wire (I2C 통신) : RTC Module과 연동(통신)을 위하여 사용됨. - Wire.cpp, Wrie.h 4. Button : 특정 기능(시간/분, 모드 설정 등)을 위한 사용자와의 Interface 제공을 위한 button 라이브러리 - Button.cpp, Button.h 라이브러리 추가 방법 1.  LED Control 라이브러리 추가 : 소스 상단에 오른쪽과 같이 코드 추가한다. #include <LedControl.h>
  17. 17. 한글시계 구조 배우기 기능별 동작 프로그래밍 (라이브러리 함수 사용) 1.  LED Control (Row/Colum) 라이브러리 함수 : Driver IC의 DIG(Row)/SEG(Col.) Pin들을 가로, 세로로 배열하고 교차한 Point에서 LED를 구동함. - LedControl을 위한 Instance 생성 : LedControl Ic = LedControl ( DataPin, ClockPin, CsPin, DeviceNumber ) 12th Line 참조 - setRow(int addr, int row, byte value) : Led를 켜기 위한 함수 -> REFRESH_PANEL() 매크로 35th Line 참조 - clearDisplay(int addr) : Led를 끄기 위한 함수 -> CLEAN_PANEL() 매크로 참조 39th Line 참조 - shutdown(int addr, bool b) : Driver(Max7219 IC)를 켜고, 끄기 위한 함수 -> 266th Line 참조 - setIntensity(int addr, int intensity) : Led 밝기를 조절하기 위한 함수 -> 16단계 조절(0~15) -> 267th Line 참조
  18. 18. LED 제어 함수 LED 제어 함수를 이용하여 LED 제어 하기 1. _P_ON( row, column) - panel data [ ] Update 매크로 함수 - 좌표 값(row, column)에 따라 panel data 버퍼에 데이터를 저장. 2.  CLEAN_PANEL( ) - 매크로 함수로 LED를 전부 off 시킨다. (LED를 켜기 전에 불려 진다.) - panel data를 Clear 한다. - clearDisplay(0) 라이브러리 함수가 불려 진다.
  19. 19. LED 제어 함수 LED 제어 함수를 이용하여 LED 제어 하기 3. REFRESH_PANEL( ) - 매크로 함수로 panel data를 참조하여 LED를 제어하는 함수(panel data가 Update된 후 불려진다.) - update한 panel data를 사용하여 LED를 켜거나 끈다. - setRow( ) 라이브러리 함수가 불려 진다. 4.  한글 시계의 LED를 제어하기 위한 2가지 방법 - Serial 명령(#L )으로 제어 : ex) #L33 - 소스 코드에서 직접 수정하여 제어 : r, c 값을 좌표값(숫자 0~4)을 입력 한다.
  20. 20. LED Control LED 켜는 부분
  21. 21. RTC Module 제어 RTC Module(DS1307)에서 시간 정보 가져오기 1. 라이브러리 파일 : - RTClib.cpp/h : DS1307 Module 제어를 위한 함수가 구현되어 있는 라이브러리 파일 - Wire.cpp/h : DS1307 Module과 I2C 통신을 위한 라이브러리 파일 2.  라이브러리 함수 : 날짜와 시간을 읽어오거나, 변경하기 위한 함수 - now() : 현재 시간을 읽어와서 시간 값을 return 한다. 3.  RTC Instance 생성 - RTC_DS1307 RTC; 4. 시간 변경 함수 - set_rtc( hour, min, sec ) : 5. 한글 시계에서 시간 변경 방법 - Button 입력으로 시간을 변경 - Serial 명령으로 변경 (#S<hh><mm><ss>) 라이브러리 등록 Instance 생성 함수 선언
  22. 22. Button Interface 제어 Button Short/Long Key 제어 하기 1.  라이브러리 파일 : - Button.cpp/h 2. 라이브러리 함수 : - button 제어를 위한 Instance 생성 - uniquePress() : 버튼이 처음 눌렸을때 true 리턴 - wasPressed() : 버튼이 길게 눌러 졌을때 true 리턴 3.  Button (Short/Long Key) : 시간, 분 설정 및 특정 기능(사진 모드등) 구현 - 시간/분 버튼 구현하기 : 시간/분 버튼 눌렸을때 시간/분 변경하기 - 버튼이 길게 눌려 졌을때 사진 모드로 전환하기
  23. 23. 한글시계 Tool과 연동하기 Tool 과 연동을 위한 기능 추가 1.  Serial Rx Buffer 늘리기 : tool에서 전송되는 데이터가 잘리지 않도록 수신 버퍼를 64 -> 256 bytes로 수정한다 - 수정 파일 및 경로 : C:Program Files (x86)ArduinohardwarearduinoavrcoresarduinoHardwareSerial.h - #define SERIAL_RX_BUFFER_SIZE 64 ->256 RX Buffer Size만 늘려 준다
  24. 24. 한글시계 Tool과 연동하기 Tool 과 연동을 위한 기능 추가 2.  시간 동기화 : - #S<hh><mm><ss> : 시리얼 명령어 처리 부분 구현 - Loop 문 안에 아래 내용 추가
  25. 25. 한글시계 Tool과 연동하기 Tool 과 연동을 위한 기능 추가 2.  시간 동기화 : < 실행 순서 > 1. 한글시계가 PC와 연결된 상태에서 Tool을 실행하면 Com Port가 List에 나타난다. 2. Baud Rate가 57600 인지 확인하고 (Default로 설정) 3. 해당 Com Port를 선택하고 Open Button을 Click한다. 4. Time Sync. Button을 누르면 PC 시간과 동기화 한다. 5. 시리얼 연결을 끊으려면 Close 버튼을 Click 한다. 1 2 3 4 5
  26. 26. 한글시계 Tool과 연동하기 Tool 과 연동을 위한 기능 추가 3. 날씨 데이터 읽어오기 & Display 하기 : - Mode Define 하고 Func. 구현 - #WR(Rainy), WH(Haze), WS(Snowy), WC(Cloudy)등 Command 처리 부분 추가 - 해당 날씨에 맞는 이미지 Display 하는 Func. 구현 - loop 문 안에 옆의 코드 추가
  27. 27. 한글시계 Tool과 연동하기 Tool 과 연동을 위한 기능 추가 3. 날씨 데이터 읽어오기 & Display 하기 : - Mode Define 하고 Func. 구현 - #WR(Rainy), WH(Haze), WS(Snowy), WC(Cloudy)등 Command 처리 부분 추가 - 해당 날씨에 맞는 이미지 Display 하는 Func. 구현 < 실행 순서 > 1. 한글시계와 PC가 연결된 상태(Open 버튼이 비활성화 됨)에서 도시를 선택하고, 2. Weather 버튼을 누른다. 3. 주기적(1분 주기)으로 날씨 화면(비, 눈, 구름등)이 Display된다. 4. 시리얼 연결을 끊으면 날씨를 한글시계에 표시하지 않는다. 2 1
  28. 28. 한글시계 Tool과 연동하기 Tool 과 연동을 위한 기능 추가 4. Tool에서 편집된 이미지 데이타 읽어오기 : - Mode Define 및 해당 Func. 구현 하기(Flash, Vertical Mode 등) : AniModeSet( Mode ); - #F, #V 등 Command 처리 부분 추가 < 실행 순서 > - 한글시계와 PC가 연결된 상태(Open 버튼이 비활성화 됨)에서 시작한다. 1. Edit Screen에서 화면을 편집하고(최대 8개 화면까지 편집 가능), 2. Display Options에서 Flash 선택하고, 3. Send 버튼을 Click 한다. 2 3 1 1

×