2010년 4월 26일 월요일

[방송정보] TV 컨텐츠 장르별/방송사별 사이트 및 서비스

* 서비스 제공 (2010.04.26 현재)

 

* EPG(한국) : http://schedule.epg.co.kr/new/tvguide/tvguide.php


* 포털사이트

  1. 네이버 : http://www.naver.com/

     - 오픈API : http://dev.naver.com/openapi/

       - 실시간급상승검색어, 지식in, 동영상, 이미지, 책, 영화, 영화인, 지역, 쇼핑, 자동차, 백과사전

       - 지도, 블로그검색, 카페검색, 카페글검색, 뉴스검색, 추천검색어, 바로가기, SyndicationAPI

     - TV편성표 : http://news.naver.com/main/broadcast.nhn?date=20100428&offset=1

       - date=날짜, offset=그룹번호_채널(임의지정)


  2. 다음 : http://www.daum.net/

     - TV편성표 : http://search.daum.net/search?w=tot&q=tv편성표

        - 프로그램정보 : http://movie.daum.net/tv/detail/main.do?tvProgramId=

           - ProgramId : 숫자(임의지정)


  3. 100hot : http://www.100hot.co.kr/ -> 분야별 사이트 랭킹


* 지상파

  1. MBC : http://www.imbc.com/

     - 전체검색, 프로그램, 방송인물, 동영상, 이미지, 부가정보, 뉴스

     - 로그인 후 서비스 제공

     - 전체검색(쿼리) : http://cue.imbc.com/totalSearch.aspx?query=


  2. KBS : http://www.kbs.co.kr/

     -


  3. SBS : http://www.sbs.co.kr/

     -


  4. EBS : http://www.ebs.co.kr/index.jsp

     -


 

* 장르별 정보 (2010.04.26 현재)

 

1. 드라마
  - 공포, 논픽션, 농어촌, 단막극/단편, 로드무비, 로맨틱코메디, 멜로, 모험, 뮤지컬, 미스터리/스릴러, 서부, 시대극, 시트콤, 애니메이션, 액션, 에로/성, 역사/사극, 어린이, 컬트, 코메디, 트렌디, 홈드라마, 환상/SF, 휴먼드라마

 

2. 영화 ->드라마
  - 공포, 논픽션, 농어촌, 단막극/단편, 로드무비, 로맨틱코메디, 멜로, 모험, 뮤지컬, 미스터리/스릴러, 서부, 시대극, 시트콤, 애니메이션, 액션, 에로/성, 역사/사극, 어린이, 컬트, 코메디, 트렌디, 홈드라마, 환상/SF, 휴먼드라마

 

3. 만화
  - 교육, 동화, 명랑, 명작, 모험, 순정, 스포츠, 액션/무협, 에로, 역사, 위인, 종교, 취미, 코믹, 탐정, 호러/심령, SF

 

4. 연예/오락
  1) 고전해학극
  2) 퀴즈
  3) 라이프/휴먼
  4) 마술/써커스
  5) 버라이어티
  6) 복권

      - 나눔로또 : http://www.645lotto.net/
      - 나눔로또_블로그 : http://blog.naver.com/nanumlotto -> RSS

      - 스포츠토토 : http://www.sportstoto.co.kr/
  7) 선발대회
  8) 성금/봉사
  9) 시상식
  10) 연애매거진
  11) 토크쇼
  12) 연예인/스타
  13) 영화가이드
  14) 오락게임쇼
  15) 인포테인먼트
  16) 진기/명기
  17) 코미디쇼
  18) 패션쇼
  19) 홈비디오
  20) 일반

 

5. 스포츠

  - 스포츠토토 : http://www.sportstoto.co.kr/
  1) 동계올림픽
  2) 아시안게임
  3) 올림픽
  4) 월드컵
  5) 야구

      - 한국야구위원회 : http://www.koreabaseball.com/
  6) 축구

      - 대한축구협회 : http://www.kfa.or.kr/main/main.asp

      - 프로축구연맹 : http://www.kleague.com/
  7) 배드민턴
  8) 스쿼시
  9) 테니스
  10) 농구

      - 프로농구연맹 : http://www.kbl.or.kr/
  11) 배구

      - 한국배구연맹 : http://www.kovo.co.kr/main/main.asp
  12) 핸드볼
  13) 하키
  14) 미식축구(football)
  15) 육상
  16) 마라톤
  17) 체조/에어로빅
  18) 사이클경주
  19) 자동차경주
  20) 수영
  21) 수상/수중
  22) 동계
  23) 스키
  24) 아이스하키
  25) 스케이트
  26) 마장/마술
  27) 권투(복싱)
  28) 레슬링
  29) 씨름
  30) 유도
  31) 골프

      - 한국프로골프협회 : http://www.koreapga.com/
  32) 볼링
  33) 사격/양궁
  34) 탁구
  35) 태권도

      - 대한태권도협회(KTA) : http://www.koreataekwondo.org/ -> 뉴스, 대회정보
  36) 일반
  37) 격투기

 

6. 취미/레저
  1) 가정공예
  2) 경륜
  3) 경마

      - 한국마사회 : http://race.kra.co.kr/ -> RSS
  4) 관광/여행

      - 한국관광공사 : http://korean.visitkorea.or.kr/
  5) 낚시
  6) 댄스
  7) 미용/건강
  8) 바둑

      - 한국기원 : http://www.baduk.or.kr/
  9) 애완동물
  10) 요리

      - 네이버 키친 : http://kitchen.naver.com/ -> 오늘의키친, 베스트키친, 새로올라온키친 등
  11) 자동차
  12) 컴퓨터
  13) 게임
  14) 일반
  15) 장기

 

7. 음악

  - 멜론 : http://www.melon.com/

  - 벅스 : http://www.bugs.co.kr/
  1) 강습
  2) 대중가요
  3) 국악/민요
  4) 댄스
  5) 동요
  6) 팝/락
  7) 뮤지컬/오페라
  8) 영화음악
  9) 올드가요
  10) 음악경연쇼
  11) 음악공연(연주회)
  12) 재즈
  13) 클래식
  14) 토크음악쇼
  15) 일반
  16) 가요순위쇼

 

8. 교육
  1) 유아
  2) 초등교육
  3) 중등교육
  4) 수능(초급,고급)
  5) 자격증
  6) 대학/방송대학
  7) 영어
  8) 일어
  9) 중국어
  10) 러시아어
  11) 프랑스어
  12) 독일어
  13) 기타외국어/회화
  14) 컴퓨터/인터넷
  15) 직업교육
  16) 교사
  17) 어린이
  18) 일반

 

9. 뉴스
  1) 뉴스
  2) 스포츠
  3) 경제(산업/부동산)
  4) 국제
  5) 날씨

      - 기상청_날씨 : http://www.kma.go.kr/weather/main.jsp
  6) 북한
  7) 일반

 

10. 시사/다큐
  1) 과학
  2) 국제
  3) 동물
  4) 라이프/휴먼
  5) 문화
  6) 사회
  7) 산업
  8) 역사
  9) 예술
  10) 인물
  11) 자연
  12) 토론/대담
  13) 풍물/기행
  14) 영화
  15) 환경(문제)
  16) 일반

 

11. 교양/정보
  1) 강좌
  2) 경제(산업)
  3) 공연(음악제외)
  4) 예술/문화
  5) 벤처
  6) 미술
  7) 방송/언론
  8) 문학
  9) 증권

      - 네이버_증권 : http://stock.naver.com/

      - 다음_증권 : http://stock.daum.net/
  10) 부동산

      - 네이버_부동산 : http://land.naver.com/

      - 다음_부동산 : http://realestate.daum.net/
  11) 의료건강
  12) 인테리어
  13) 일반
  14) 정보통신/인터넷
  15) 패션/뷰티
  16) 풍물
  17) 기념행사
  18) 불교

      - BBS 불교방송 : http://www.bbsi.co.kr/

      - 대한불교진흥원 : http://www.kbpf.org/ -> 불교뉴스
  19) 기독교

      - CTS 기독교TV : http://www.cts.tv/main/index_code.asp
  20) 천주교

      - PBC 평화방송 : http://web.pbc.co.kr/CMS/index.php

      - Goodnews : http://www.catholic.or.kr/
  21) 기타종교

 

12. 홈쇼핑

  - 네이버 오픈 API(쇼핑) : http://dev.naver.com/openapi/apis/data/shop
  1) 가구
  2) 가전
  3) 가정/주방/생활용품
  4) 건강/레포츠
  5) 골프용품
  6) 보석/시계
  7) 뷰티
  8) 수산물
  9) 식품
  10) 인테리어
  11) 자동차 용품
  12) 종합
  13) 침구
  14) 컴퓨터/사무기기
  15) 패션/의류
  16) 기타

 

13. 성인
  - 성인(일반), 영화, 드라마, 리얼리티, 토크, 버라이어티, 코미디

[장르] TV 프로그램 장르구분

TV 프로그램 장르구분(EPG.CO.KR)

 

 

1. 드라마

- 공포, 논픽션, 농어촌, 단막극/단편, 로드무비, 로맨틱코메디, 멜로, 모험, 뮤지컬, 미스터리/스릴러, 서부, 시대극, 시트콤, 애니메이션, 액션, 에로/성, 역사/사극, 어린이, 컬트, 코메디, 트렌디, 홈드라마, 환상/SF, 휴먼드라마

2. 영화 ->드라마

- 공포, 논픽션, 농어촌, 단막극/단편, 로드무비, 로맨틱코메디, 멜로, 모험, 뮤지컬, 미스터리/스릴러, 서부, 시대극, 시트콤, 애니메이션, 액션, 에로/성, 역사/사극, 어린이, 컬트, 코메디, 트렌디, 홈드라마, 환상/SF, 휴먼드라마

3. 만화

- 교육, 동화, 명랑, 명작, 모험, 순정, 스포츠, 액션/무협, 에로, 역사, 위인, 종교, 취미, 코믹, 탐정, 호러/심령, SF

4. 연예/오락

- 고전해학극, 퀴즈, 라이프/휴먼, 마술/써커스, 버라이어티, 복권, 선발대회, 성금/봉사, 시상식, 연애매거진, 토크쇼, 연예인/스타, 영화가이드, 오락게임쇼, 인포테인먼트, 진기/명기, 코미디쇼, 패션쇼, 홈비디오, 일반

5. 스포츠

- 동계올림픽, 아시안게임, 올림픽, 월드컵, 야구, 축구, 배드민턴, 스쿼시, 테니스, 농구, 배구, 핸드볼, 하키, 미식축구(football), 육상, 마라톤, 체조/에어로빅, 사이클경주, 자동차경주, 수영, 수상/수중, 동계, 스키, 아이스하키, 스케이트, 마장/마술, 권투(복싱), 레슬링, 씨름, 유도, 골프, 볼링, 사격/양궁, 탁구, 태권도, 일반, 격투기

6. 취미/레저

- 가정공예, 경륜, 경마, 관광/여행, 낚시, 댄스, 미용/건강, 바둑, 애완동물, 요리, 자동차, 컴퓨터 게임, 일반, 장기

7. 음악

- 강습, 대중가요, 국악/민요, 댄스, 동요, 팝/락, 뮤지컬/오페라, 영화음악, 올드가요, 음악경연쇼, 음악공연(연주회), 재즈, 클래식, 토크음악쇼, 일반, 가요순위쇼

8. 교육

- 유아, 초등교육, 중등교육, 수능(초급,고급), 자격증, 대학/방송대학, 영어, 일어, 중국어, 러시아어, 프랑스어, 독일어, 기타외국어/회화, 컴퓨터/인터넷, 직업교육, 교사, 어린이, 일반

9. 뉴스

- 뉴스, 스포츠, 경제(산업/부동산), 국제, 날씨, 북한, 일반

10. 시사/다큐

- 과학, 국제, 동물, 라이프/휴먼, 문화, 사회, 산업, 역사, 예술, 인물, 자연, 토론/대담, 풍물/기행, 영화, 환경(문제), 일반

11. 교양/정보

- 강좌, 경제(산업), 공연(음악제외), 예술/문화, 벤처, 미술, 방송/언론, 문학, 증권, 부동산, 의료건강, 인테리어, 일반, 정보통신/인터넷, 패션/뷰티, 풍물, 기념행사, 불교, 기독교, 천주교, 기타종교

12. 홈쇼핑

- 가구, 가전, 가정/주방/생활용품, 건강/레포츠, 골프용품, 보석/시계, 뷰티, 수산물, 식품, 인테리어, 자동차 용품, 종합, 침구, 컴퓨터/사무기기, 패션/의류, 기타

13. 성인

- 성인(일반), 영화, 드라마, 리얼리티, 토크, 버라이어티, 코미디

2010년 4월 24일 토요일

[Open API] 네이버 오픈 API

[링크] : http://dev.naver.com/openapi/


1. 컨텐츠 API
 - 실시간 급상승 검색어 : 영역별, 주제별 쿼리
 - 지식in : 지식인 검색
 - 동영상
 - 이미지
 - 전문자료 : 학술 논문, 레포트, 전문 기관의 보고서 등 신뢰도 높은 자료

2. 데이터 API
 - 책 : 제목, 저자명, 목차, ISBN, 출판사
 - 영화 : 장르별 검색
 - 영화인 : 영화배우
 - 지역 : 네이버 지역서비스에 등록된 각 지역별 업체 및 상호 검색 결과, 네이버 지도 API와 쉽게 연동
 - 쇼핑 : 상품의 상세정보 및 최저가격 정보
 - 자동차 : 자동차 차종, 출시년도별
 - 백과사전 : 두산백과사전 EnCyber, 위키백과에서 제공하는 백과사전

3. 지도 API
 - 자바스크립트 지도
 - 플래시 지도

4. 검색 API
 - 블로그검색
 - 카페 검색
 - 카페글 검색
 - 웹문서 검색
 - 뉴스 검색

5. 기능 API
 - 추천검색어 : 네이버 검색어의 패턴을 분석해 이용자들이 입력한 검색어 중 연관도가 높은 검색어 추천
 - 성인 검색어 판별
 - 오타변환 : 한/영 키를 잘못 설정하였을 경우 오타수정
 - 바로가기 : 네이버에서 선정한 웹사이트의 바로가기
 - Syndication API : [링크를 통해 확인]

* API Key : API사용시 키 값이 필요하다. 로그인후 발급 받도록 한다.
* 쿼리는 하루 25000번 제한이 있다.

2010년 4월 22일 목요일

[Android] 안드로이드 가상기기 생성하기

안드로이드 액티비티를 실행하기 전에 안드로이드 가상기기를 생성해야 에뮬레이터가 제대로 동작한다.

안드로이드 가상기기는 AVD(Android Virtual Devices)라고 칭한다.

Android SDK를 찾을 수 없다는 에러가 뜨는 경우
 - 안드로이드 이클립스 플러그인 설치과정에서 SDK의 경로를 지정해 주지 않은 경우이다.
 -  window - preferences 실행 후 Android 선택 -> SDK Location에 해당 경로를 추가해준다.

안드로이드 가상기기 생성

1. window - Android SDK and AVD Manager 실행

2. Available Packages 선택한 후 자신이 원하는 버전의 플랫폼을 설치해 준다.
   (모두설치해도 상관없지만 이번 경우에는 최신버전인 API7을 모두 설치해 주었다.)

3. 선택후 우측하단의 Install Selected 클릭하여 설치한다.

4. 설치후 Android SDK and AVD Manager의 Virtual Devices 선택후 New 버튼을 누른다.

5. 다음과 같이 설정해 주었다. 이름은 마음껏 지정해도 되며 타겟은 자신이 원하는 것으로 하면 된다.
   SD 카드의 경우 그냥 1기가로 하였으며 나머지는 기본 세팅이다.

6. 설정후 화면이다. 필요한 만큼 생성하고 골라서 사용해도 된다.

7. 이제 설정한 AVD중 하나를 선택한 후 Start를 눌러주면~ 이런저런 창이 뜨다가 에뮬레이터가 뜨는것을 볼 수 있다. ^^

안드로이드 설치 관련 추천 블로그 : http://drkein.tistory.com/ (자세하게 설명되어 있네요 ^^)

[Android] 안드로이드 개발환경 구축하기

안드로이드의 경우 자바로 프로그램을 작성하며 개발환경 대부분도 자바기반으로 되어있다.

 

그러므로 개발하려는 PC에 해당 JDK(Java Development Kit)가 설치되어 있어야 한다.

 

안드로이드 SDK는 다음 사이트에서 다운 받을 수 있다.

 

각자 자신의 개발환경(윈도우즈, 맥OS, 리눅스)에 따라 파일을 다운받아 사용하도록 하자


JDK 다운로드

http://www.sun.com/download/index.jsp?cat=Java%20%26%20Technologies&tab=3&subcat=Java


안드로이드 SDK 다운로드

http://developer.android.com/sdk/index.html


이클립스 다운로드

http://www.eclipse.org/downloads/


 

* 환경 구성 과정


1. 해당 파일 다운로드


2. JDK 설치


3. 안드로이드 SDK의 경우 별도의 설치 과정이 없으므로 자신이 원하는 위치에 압축을 풀어둔다.


4. (windows 설치시) 환경변수에서 Path 항목을 찾아 tools 디렉토리 경로를 추가한다.

   (linux 설치시) ~/.bash_profile 또는 ~/.bashrc 파일을 열어 tools 디렉토리 경로를 PATH 환경변수에 추가한다.

   (Mac OS X 설치시) 사용자별 홈 디렉토리의 .bash_profile 파일을 열어 tools 디렉토리 경로를 PATH 환경변수에 추가한다.(없다면 생성후 추가)


5. 이클립스 설치 - 클래식 버전(다른버전도 큰 문제는 없을듯...), 마찬가지로 원하는 위치에 압축풀기.


6. 안드로이드 이클립스 플러그인 설치

    - 이클립스 실행 후 설치 관리자 (help-install new software) 실행

    - Add 버튼 클릭 후 항목 : Android       URL : http://dl-ssl.google.com/android/eclipse/ 추가.

    - Developer Tools 항목의 Android DDMS, Android Development Tools 항목 모두 설치.


7. 액티비티 실행 전 안드로이드 가상 기기(AVD) 생성 할것. 링크 : [AVD 생성하기]


8. 끝. ^^



예제 코드 다운로드 : http://apress.com/book/sourcecode


2010년 4월 20일 화요일

UX에 관하여

참 경계가 어려운게 ux 아닐까 한다.

디자인일까?

기술일까?

여전히 많은 사람들이 ux를 디자인이라고 보고 있는 지금

실질적으로 개발자들은 관심이 그닥 없는듯 하다.

뭐, 나역시 개발자긴하지만...

어쩌면 ux는 디자인도 아니고 기술이라고 할 수도 없는 그 중간의 것은 아닐까.

디자인을 아무리 이쁘게 해놔도 구현이 불가능한 디자인이면 필요가 없고

구현일 기똥차게 잘해도 디자인이 구리면 안팔리듯이..

 

그런 상업과 기술과 디자인의 애매하지만 꽤 멋질수 있는 하나의 블루오션이 아닐까 싶다~

꽤 많은 자료가 정리되어 있는 블로그이다.

 

그리고 ux적인 system idea에 대한 pdf를 첨부했다

읽어보도록 :) 꽤 유용한 자료에요 ㅎㅎㅎ돈주고 사야하지만 어찌어찌 구한자료

 

참고blog :: http://blog.naver.com/caerang?Redirect=Log&logNo=60353086

2010년 4월 13일 화요일

Java 관련 용어 정리

* JDK : Java Development Kit (Java 용 SDK(Software development kit))


* JAVA의 3가지 SDK
   1. J2ME (Micro-Edition) : Real-time, Phone, PDA 같은 AP 개발용.
   2. J2SE (Standard-Edition) : 일반적인 Java 개발 환경.
   3. J2EE (Enterprise-Edition) : Server-side 개발 환경.


* JDK 와 JRE

JDK : Java 개발자가 Java 기반 프로그램을 개발 할 수 있도록 컴파일러, 툴 등을 제공한다. (개발자용)

JRE(Java Runtime Environment) : Java 프로그램을 실행하기 위한 환경이다. (개발자, 사용자)


2010년 4월 11일 일요일

[매트랩] exp(j*n*pi)

exponential 그래프

1. exp(j*n*pi) , (-10 <= n <= 10 , n은 정수)

>> n = -10 : 1 : 10;
>> y = exp(j * n * pi);
>> plot(n,y);

* Warning: Imaginary parts of complex X and/or Y arguments ignored 발생함.

2010년 4월 6일 화요일

[Datasheet] MC33883

[Datasheet] : mc33883.pdf


[News] 거리 가로등이 통신 중계기로 변신 - 아이뉴스


거리 가로등이 통신 중계기로 변신
SK텔레콤, 친환경 네트워크 기술 개발
2010년 04월 06일 오전 09:39
강은성기자 esther@inews24.com

서울 근교 나들이 장소로도 유명한 경기도 가평군 가평읍. 그 읍내를 환하게 수놓는 가로등은 단순 조명이 아니다.

SK텔레콤이 구축한 이동통신 중계기이면서도 주변 환경과 조화를 이루고 야간조명으로도 사용할 수 있는 새로운 장치다.



SK텔레콤(대표 정만원)은 가평읍의 이같은 가로등형 중계기를 포함해 친환경 네트워크 기술을 대거 공개하고, 차세대 네트워크 구축에 활용함으로써 '그린 ICT' 환경 조성에 앞장서겠다고 6일 발표했다.

SK텔레콤은 최근 ▲가로등형 중계기 ▲저전력 증폭기(GaN 앰프) ▲고효율 태양광 중계기 ▲친환경 올인원 안테나 등 총 4종의 차세대 친환경 네트워크 기술 개발을 완료했다.

특히 SK텔레콤은 미관상 중계기 설치가 어려웠던 공원·아파트단지·도로변 등에 가로등형 중계기를 점진적으로 설치해 이동통신 영역을 확대하는 한편, 가로등을 필요로 했던 지역사회도 기여한다는 방침이다.

3월말 이동통신 중계기용으로 상용화에 성공한 저전력 증폭기(GaN앰프)는 질화갈륨 트랜지스터를 이용해 에너지 효율을 대폭 높여 중계기의 소모전력을 46%(1300W → 700W) 개선한 장비다.

이 장비는 세계 최초로 상용화된 제품으로써, 현재 구축된 중계기의 10%에 저전력 증폭기를 적용하면 연간 4천5백 톤의 이산화탄소 배출 저감 효과를 기대할 수 있다.

고효율 태양광 중계기는 기존 태양광전지에 저전력 소자를 적용하고 충/방전 알고리즘을 최적화하여 에너지 효율을 50% 향상시킨 장비로, 1개소당 연간 167Kg의 이산화탄소 배출 저감 효과가 기대된다.

4세대 이동통신에 적용할 수 있는 친환경 올인원 안테나는 다수의 작은 안테나를 조합해 하나의 안테나로 구성함으로써, 안테나 수를 줄이면서도 전파의 방사를 효율적으로 제어할 수 있다.

회사측은 미관 개선 및 소모전력 절감 효과를 얻을 수 있어 특히 빌딩이 많은 도심지역에 유용할 것으로 평가하고 있다.

SK텔레콤은 이번에 공개한 친환경 네트워크 기술을 빠르면 하반기부터 적용하여 차세대 네트워크 구축에 활용하고, 그린 네트워크를 위해 차세대 친환경 기술 개발에 박차를 가한다는 방침이다.

SK텔레콤 임종태 네트워크기술원장은 "가로등형 중계기와 저전력 증폭기 개발 성공을 토대로 친환경 기술 연구를 본격적으로 진행하고 있다"며 "환경과 기술이 자연스럽게 조화될 수 있도록 차세대 네트워크에 기술을 대폭 적용할 예정"이라고 밝혔다.

한편 SK텔레콤은 태양광과 풍력을 이용한 신재생에너지 기지국/중계기를 전력 공급이 어려운 국립공원 내 등산로, 도서지역 위주로 점진적으로 확대해 나갈 계획이다.

신재생에너지 기지국/중계기는 현재 십이동파도, 관탈도, 대관령옛길 등 전국 25개 국소에 설치되어, 등산객 및 조업어선의 비상통신용으로 도움을 주고 있다.


IT는 아이뉴스24, 연예스포츠는 조이뉴스24   <Copyright ⓒ 아이뉴스24. 무단전재 및 재배포 금지>
본 기사는 저작권법의 보호를 받으며 기사의 원형을 변형하거나 훼손하는 것을 금지합니다

[News] 천안함수색, 이 해저로봇이 있었다면 - ZDNet Korea

천안함수색, 이 해저로봇이 있었다면
이재구 국제과학전문기자 jklee@zdnet.co.kr 2010.04.06 / AM 11:50
[지디넷코리아]침몰한 천안함 수색에 이 로봇이 있었다면 더 빨리, 희생자없는 수색도 가능하지 않았을까?

씨넷이 5일(현지시간)소개한 이 로봇은 심해저에서 온도차에 따라 스스로 에너지를 공급하는 로봇이다. 해저 500미터까지 300회나 다이빙하면서 해저생물과 지형을 샅샅이 모니터하고 지도까지 만든다. 

 

보도에 따르면 미항공우주국(NASA·나사)를 비롯한 연구진들은 지난 해 11월부터 3개월간 하와이섬 인근 바다에서 이 심해저 자율로봇을 성공적으로 테스트한 데 이어 이를  다음단계의 해저실험에 투입했다고 말했다. 이 로봇은 오직 해저 수온변화에 의해서 에너지를 보급받아 가동돼 별도의 에너지공급도 필요없다.
▲ 나사가 개발한 심해저 로봇 솔로트렉이 바닷속에 투입되고 있다.
음파를 쏘아 해저의 모습을 그래픽으로 찍어내기도 하는 이 솔로트렉 로봇은 나사,미해군,샌디에이고해양연구소,샌디에이고대학(UCSD)이 공동 개발한 것이다.
이들 연구진은 솔로트렉이 전적으로 해저의 온도변화 에너지에 의해 가동되는 자율 로봇이라고 밝혔다. 

 

솔로트렉은 따뜻하고 얕은 지역에서 깊이에 따라 더 차가운 깊은 바다로 움직일때의 온도변화를 이용한다. 이 로봇은 상변화물질로 알려진 10개의 매끄러운 물질이 담긴 외부 관을 가지고 있다.
이 물질은 따뜻한 얕은 물에서는 녹아서 확산되며 깊은 물에서는 단단해지면서 수축한다.
따뜻한 수온에 의한 내부 물질 확대는 기기 내부의 기름을 압착해 수소모터를 움직이고 이는 솔로트렉배터리를 재충전하게 된다.

 

무게 87.5kg의 이 로봇 시스템은 부표제어와 과학적,GPS및 통신기기도 가동하면서 수심 500m까지 300번이상, 다이빙할 수 있다. 
▲ 심해저 로봇 솔로트렉이 3개월간 하와이 해변을 돌아다닌 궤적 지도 사진. 나사가 개발한 이 로봇은 지난해 11월부터 3개월간 심해저실험을 했다. (Credit: NASA/JPL/U.S. Navy/Scripps Institute of Oceanography)>
솔로 트렉을 공동 개발한 나사의 잭 존스는 “사람들은 소비 에너지보다도 더 많은 에너지를 생산해 내는 영구 기계를 꿈꿔왔다”면서 “이 시스템은 주변에너지를 소비하므로 진정한 영구기관은 아니지만 수명의 제한없는 에너지공급에 힘입어 지속적으로 해양 상태를 모니터할 수 있다”고 말했다.

 

원래 솔로트렉은 원형(프로토타입)상태로서 주임무는 과학자들에게 미래에 만들어질 연구선에 에너지를 공급하는 방법을 제공할 수 있는 가능성을 찾도록 도와주기 위해 고안됐다. 

 

그러나 나사는 이와 똑같은 기술이 바닷속을 돌아다니면서 기후데이터는 물론 해양생물을 모니터링하고 해저지형지도를 만들며, 해저감시까지 할 수 있는 로봇제조에도 사용될 수 있다고 말했다.


▶ 글로벌 IT의 중심 언론 <메가뉴스>
▶ IT뉴스는 <지디넷코리아>, 게임트렌드는 <게임스팟코리아>
▶ 스마트폰으로 읽는 실시간 IT뉴스 <모바일지디넷>
[저작권자ⓒ메가뉴스 & ZDNet & CNET. 무단전재 및 재배포 금지]

2010 UCC 페스티발(2010 UCC Festival)

행사명 : 2010 UCC 페스티발(2010 UCC Festival)

참가신청서(클릭)

개요 : 본 대회는 IT 분야에 대학교 학생이 한 팀이 되어 한백전자 제품을 활용한 창의적인 아이디어를 바탕으로 작품 개발자가 직접 제작한 콘텐츠를 발표합니다.

목적 : ㈜한백전자는 IT Convergence, Green IT, 지능형 로봇, LabVIEW,  RFID, USN, 임베디드시스템, 마이크로프로세서, DSP, FPGA, SoC, 기초전기전자, 광통신, 이동통신 등 다양 분야의 교육용 플랫폼을 개발하고 있습니다.  많은 학교에서 기자재로 활용하고 있는 장비를 이용하여 창의적인 아이디어를 바탕으로 한 작품을 발표하고 기술을 공유하기 위한 자리입니다.

제작 방법 
㈜한백전자 제품을 활용한 작품을 제작한 후 작품에 대한 설명을 동영상으로 제작하여 발표합니다.
동영상 발표는 10분이내 발표로 제작을 하며 반드시 지도교수님 메시지 넣어 주세요.(지도교수님 메시지는 격려, 축하, 조언 등 10초이상 들어갑니다.)

제출 방법

웹하드 제출 :  
www.webhard.co.kr 에 GUEST 폴더(올리기 전용)에 업로드 바랍니다.

아이디 : HANBACK2010
비밀번호 : hanback2010

(학교+이름.Zip)압축파일로 업로드 바랍니다.

제출파일

1. 작품동영상(작품 사이즈 1280x720 ,용량 2G 이내, 형식 AVI , 필히 10분 미만으로 제작바랍니다.)
2. 작품보고서(PPT)
3. 소스파일
4. 참가신청서
5. 동영상 첫화면 캡처후 제출 바랍니다


상금
㈜한백전자에 홈페이지 등록(1건 등록 시 10만원 지급)
2010년 총 1,000만원 지급예정


심사내용
창의적 아이디어 작품으로 ㈜한백전자 제품을 잘 활용한 작품이면 됩니다.
발표 된 내용은 재현이 가능해야 합니다. (소스 및 작품 설명 자세히 해 주세요.)


유의사항
제출된 작품은
http://kr.youtube.com/ 에 업로드 후 ㈜한백전자 홈페이지에 등록하여 작품을 공유합니다.
(회원 다운로드 가능하도록 합니다.)
기존에 발표된 내용과 유사한 경우 제외 하도록 합니다.
보내주신 소중한 자료는 뉴스레터에 소개하거나 별도의 책자 발행등에 활용할 수도 있습니다.
(출처 공지합니다.)

문의처
㈜한백전자 기획홍보부 042-610-1176~1177,
snp@hanback.co.kr 

2010 창의 설계 경진대회(CDF 2010)

행사명 : 2010 창의 설계 경진대회(CDF 2010)

대회 개요 : 본 대회는 IT 분야에 대학교 학생이 한 팀이 되어 한백전자 제품을 활용한 창의적인 아이디어를 바탕으로 작품을 출품하는 대회입니다.

대회 목적 : ㈜한백전자는 IT Convergence, Green IT, 지능형 로봇, LabVIEW,  RFID, USN, 임베디드시스템, 마이크로프로세서, DSP, FPGA, SoC, 기초전기전자, 광통신, 이동통신 등 다양 분야의 교육용 플랫폼을 개발하고 있습니다.  많은 학교에서 기자재로 활용하고 있는 장비를 이용하여 창의적인 아이디어를 바탕으로 한 작품을 발표하고 기술을 공유하기 위한 자리입니다.

일정( 2010년 3월 15일 ~ 2010년 11월 12일)

참가 접수

기간 : 2010년 3월 15일 ~ 10월 15일

방법 : 참가신청서(클릭) 작성하여
snp@hanback.co.kr 접수(1팀 4인 이하 구성, 참가 접수기간 중 접수하신 분께는 지속적으로 안내 드립니다.)

보고서 접수

기간 : 2010년 10월 25일 ~ 10월 29일 18시까지
방법 : 보고서(홈페이지 양식 다운) 작성하여
snp@hanback.co.kr 접수

최종 발표일시 : 2010년 11월 12일(금)
장소 및 발표 방법 등은 추후 최종보고서 합격자에 통보 함


시상내역

대상(1팀) : 상금 300만원
최우수상(2팀) : 상금 100만원(4년제, 전문대 각 1팀)
우수상(3팀) : 상금 50만원
장려상(3팀) : 상금 30만원
특별상(상장 및 부상) : 한국전자통신연구원장상, 대한전자공학회장상, 전자신문사장상,
한국컴퓨터정보학회장상
지정부문 특별상 : Core-A를 활용한 SoC기반의 응용 어플리케이션 및 하드웨어 IP개발


유의사항
심사위원 구성 : ㈜한백전자 주관기관 및 후원사 임직원으로 4인이상
심사내용 : 아이디어 창의력(25%), 작품완성도(25%), 실용성(25%), 제품활용성(25%)
제품활용성은 ㈜한백전자 제품을 적절하게 사용했는지에 대한 평가항목입니다.
기타 자세한 내용은 수시로 홈페이지에 공지 하도록 하겠습니다.


문의처
㈜한백전자 기획홍보부 042-610-1176~1177,
snp@hanback.co.kr 

2010년 4월 5일 월요일

[경진대회] 지능형 SoC 로봇워 2010

○ 대회명칭
  - 지능형 SoC 로봇워 2010
 
○ 참가팀 접수
  - 일정: 2010년 4월 1일 ~ 5월 31일
  - 참가자격: 대학(원)생을 포함한 2인 이상 6인 이하로 구성된 팀
  - 접수방법: 지능형 SoC 로봇워 홈페이지 => http://www.socrobotwar.org
  - 경기종목: "SoC Taekwon Robot", "HURO-Competition"
 
○ 사전설명회
  - 일정: 4월 초
  - 장소: 대전, 서울, 대구
  - 대회 및 SoC Platform 소개
 
○ 지능형 SoC 로봇워 설명회
  - 일정: 2010년 6월 초
  - 장소: 대전 KAIST
  - 대회운영 설명 및 SoC Platform 소개
 
○ 출전자격 TEST (Taekwon Robot)
  - 일정: 2010년 6월 말
  - 장소: 대전 KAIST
  - 방식: PC와 PC용 카메라(USB카메라)를 이용한 영상인식 S/W 제작 데모심사를 통해 본선 진출팀 선발
   * 영상인식 알고리즘, 인식물체의 난이도 및 인식률, S/W의 완성도 및 안정성을 평가)
  - 선발: 10팀 선발
 
○ 본선 진출팀 교육
  - 일정: 2010년 7월 초
  - 장소: 대전 KAIST
  - 대회에 제공되는 두뇌보드에 대한 이론/실습교육
  - 로봇에 대한 모션 프로그램 이론/실습교육
 
○ 본선대회
  - 일정: 2010년 10월 28일 ~ 31일
  - 장소: 일산 KINTEX
 
○ 문의
  - Tel. 042-350-8929
  - Fax. 042-350-8930
  - E-mail. socrobot@kaist.ac.kr
대회와 관련, 자세한 내용은 홈페이지를 참고하시기 바랍니다.
(위 내용은 사정에 따라 변경될 수 있음을 알려드립니다.)

[AVR] 16Bit_Timer1.h / 16Bit_Timer1.c

/******************************************************
**
** 16Bit_Timer1.h
**
** Version : 1.0
** Target : ATmega128
** Created : 2010.01.15
** Author : Chang-Su Lee (ELCO Kookmin Univ.)
** Reference : Datasheet
**
******************************************************/


#ifndef __16BIT_TIMER1_H__
#define __16BIT_TIMER1_H__

void Counter1_Init();
unsigned int Counter1_Get_Value();

void Timer1_CTC_Init();
void Timer1_CTC_Control(unsigned char flag); // Compare match 인터럽트 인에이블
void Timer1_CTC_SetTimer(unsigned int top);

void Timer1_PC_PWM_Init(); // TOP가 ICR1인 모드 (OC1A, OC1B, OC1C 모두에서 PWM출력 가능)
void Timer1_PC_PWM_Set_TOP(unsigned int top);
void Timer1_PC_PWM_Set_OC1A_Duty(unsigned int Duty);
void Timer1_PC_PWM_Set_OC1B_Duty(unsigned int Duty);
void Timer1_PC_PWM_Set_OC1C_Duty(unsigned int Duty);

void Timer1_Fast_PWM_Init(); // TOP가 ICR1인 모드 (OC1A, OC1B, OC1C 모두에서 PWM출력 가능)
void Timer1_Fast_PWM_Set_TOP(unsigned int top);
void Timer1_Fast_PWM_Set_OC1A_Duty(unsigned int Duty);
void Timer1_Fast_PWM_Set_OC1B_Duty(unsigned int Duty);
void Timer1_Fast_PWM_Set_OC1C_Duty(unsigned int Duty);

void Timer1_PFC_PWM_Init(); // TOP가 ICR1인 모드 (OC1A, OC1B, OC1C 모두에서 PWM출력 가능)
void Timer1_PFC_PWM_Set_TOP(unsigned int top);
void Timer1_PFC_PWM_Set_OC1A_Duty(unsigned int Duty);
void Timer1_PFC_PWM_Set_OC1B_Duty(unsigned int Duty);
void Timer1_PFC_PWM_Set_OC1C_Duty(unsigned int Duty);

#endif








/*******************************************************
**
** 16Bit_Timer1.c
**
** Version : 1.0
** Target : ATmega128
** Created : 2010.01.15
** Author : Chang-Su Lee (ELCO Kookmin Univ.)
** Reference : Datasheet
**
******************************************************/


#include <avr/io.h>
#include "16Bit_Timer1.h"

/*********************************************************
** 모드: Normal모드
** 기능: 카운트 값의 클리어가 카운팅 동작 중에는 이루어 지지 않기 때문에 항상 최대값 0xFFFF까지
** 카운팅을 수행한 후 다시 0x0000부터 카운팅을 수행하게 된다. 또한 0xFFFF에서 0x0000으로
** 바뀌는 순간에 Overflow인터럽트가 발생하게 된다.
** 단순하게 증가하는 타이머/카운터이므로 외부에서 입력되는 펄스 수를 세는 카운터 동작으로
** 사용하는데 적합하다.
*********************************************************/


void Counter1_Init()
{
TCCR1A = 0x00; // COM1A1 = 0,COM1A0 = 0,COM1B1 = 0,COM1B0 = 0,COM1C1 = 0,COM1C0 = 0,WGM11 = 0,WGM10 = 0
// PWM출력핀인 OC1A~OC1C의 상태는 COM1A1~COM1C0의 레지스터들로 설정한다.
TCCR1B = 0x06; // ICNC1 = 0,ICES1 = 0, 0,WGM13 = 0,WGM12 = 0,CS12 = 1,CS11 = 1,CS10 = 0
// ICNC1과 ICES1 레지스터는 입력캡쳐 기능을 설정하는 레지스터이다. 이는 어떤신호가 해당
// 핀으로 들어오면 타이머의 값을 ICR1레지스터에 저장시키는 기능이다.
// CS12, CS11, CS10레지스터는 프리스케일러의 분주비를 선택하는 기능이다. (clk/256)

TCCR1C = 0x00; // FOC1A = 0,FOC1B = 0,FOC1C = 0, 0, 0, 0, 0, 0
// 이 레지스터는 강제로 비교매치가 된 것과 같은 출력을 내보낸다. PWM 모드가 아닌 경우에만
// 유효하다. 특별한 경우가 아니라면 이비트는 0으로 둔다.
TIMSK &= 0xC3; // OCIE2 = 0,TOIE2 = 0,TICIE1 = 0, OCIE1A = 0, OCIE1B = 0,TOIE1 = 0,OCIE0 = 0,TOIE0 =0
// 타이머/카운터 인터럽트를 개별적으로 허용하는 기능을 수행하는 레지스터이다.
TIFR = 0x00; // OCF2 = 0,TOV2 = 0,ICF1 = 0,OCF1A = 0,OCF1B = 0,TOV1 = 0,OCF0 = 0, TOV0 = 0
// 인터럽트 플랙 레지스터이다.
ETIMSK &= 0xFE; // 0, 0,TICIE3 = 0, OCIE3A = 0,OCIE3B = 0, TOIE3 = 0,OCIE3C = 0, OCIE1C = 0
// TIMSK와 같은 기능이다.
ETIFR = 0x00; // 0, 0,ICF3 = 0,OCF3A = 0,OCF3B = 0,TOV3 = 0,OCF3C = 0,OCF1C = 0
// TIFR과 같은 기능이다.
SFIOR = 0x00; // TSM = 0, 0, 0, 0, ACME = 0,PUD = 0, PSR0 = 0,PSR321 = 0
// 프리스케일러를 리셋시키는 기능의 레지스터이다. 특별한 경우가 아니라면 0으로 둔다.
}

unsigned int Counter1_Get_Value()
{
return (TCNT1H<<8)+TCNT1L;
}

/***************************************************************
** 모드: CTC(Clear Timer on Compare Match)모드 (TOP이 OCR1X인 모드이다.)
** 기능: 이 모드에서는 타이머/카운터 레지스터의 값이 출력비교 레지스터 OCR1X의 값과 일치하면 그 다음
** 클럭 사이클에서 0으로 클리어된다. 따라서, 이모드에서는 클록 입력에 의하여 타이머/카운터
** 레지스터의 값이 항상 0x0000~OCR1의 범위에서 계수동작이 반복되며, TCNT1의 값이 증가하다가 OCR1X
** 레지스터 값과 같게 되면 그 다음 주기에 출력비교 인터럽트가 요청된다.
**************************************************************/


void Timer1_CTC_Init()
{
TCCR1A = 0x00; // COM1A1 = 0,COM1A0 = 0,COM1B1 = 0,COM1B0 = 0,COM1C1 = 0,COM1C0 = 0,WGM11 = 0,WGM10 = 0
// PWM출력핀인 OC1A~OC1C의 상태는 COM1A1~COM1C0의 레지스터들로 설정한다.
TCCR1B = 0x0C; // ICNC1 = 0,ICES1 = 0, 0,WGM13 = 0,WGM12 = 1,CS12 = 1,CS11 = 0,CS10 = 0
// ICNC1과 ICES1 레지스터는 입력캡쳐 기능을 설정하는 레지스터이다. 이는 어떤신호가 해당
// 핀으로 들어오면 타이머의 값을 ICR1레지스터에 저장시키는 기능이다.
// CS12, CS11, CS10레지스터는 프리스케일러의 분주비를 선택하는 기능이다. (clk/256)
TCCR1C = 0x00; // FOC1A = 0,FOC1B = 0,FOC1C = 0, 0, 0, 0, 0, 0
// 이 레지스터는 강제로 비교매치가 된 것과 같은 출력을 내보낸다. PWM 모드가 아닌 경우에만
// 유효하다. 특별한 경우가 아니라면 이비트는 0으로 둔다.

SFIOR = 0x00; // TSM = 0, 0, 0, 0, ACME = 0,PUD = 0, PSR0 = 0,PSR321 = 0
// 프리스케일러를 리셋시키는 기능의 레지스터이다. 특별한 경우가 아니라면 0으로 둔다.
TIMSK &= 0xEF; // OCIE2 = 0,TOIE2 = 0,TICIE1 = 0, OCIE1A = 0, OCIE1B = 0,TOIE = 0,OCIE0 = 0,TOIE0 =0
// 타이머/카운터 인터럽트를 개별적으로 허용하는 기능을 수행하는 레지스터이다.
TIFR = 0x00; // OCF2 = 0,TOV2 = 0,ICF1 = 0,OCF1A = 0,OCF1B = 0,TOV1 = 0,OCF0 = 0, TOV0 = 0
// 인터럽트 플랙 레지스터이다.
}

void Timer1_CTC_Control(unsigned char flag) // Compare match 인터럽트 인에이블
{
if( flag )
TIMSK |= 0x10; // OCR1A의 인터럽트 Enable (조정하여 OCR1B, OCR1C 도 Enable시킬수 있다.)
else
TIMSK &= 0xEF; // Disable
}

void Timer1_CTC_SetTimer(unsigned int top)
{
OCR1A = top;
}

/**********************************************************
** 모드: Phase Correct PWM모드
** 기능: PC PWM 모드는 높은 분해능의 PWM 출력 파형을 발생하는데 유용하다. 이 동작 모드에서는 타이
** 머/카운터 레지스터의 계수동작이 상향 카운터로서 0x0000~TOP까지 증가하였다가 다시 하향 카운터
** 로서 TOP~0x0000으로 감소하는 동작을 반복적으로 수행한다.
** ICR1을 TOP로 사용하는 모드는 캡쳐기능을 사용할 수 없고 OCR1A를 TOP로 사용하는 모드는
** PWM을 OC1B, OC1C 두 핀으로만 출력할 수 있다.
**************************************************************/


void Timer1_PC_PWM_Init() // TOP가 ICR1인 모드 (OC1A, OC1B, OC1C 모두에서 PWM출력 가능)
{
TCCR1A = 0xAA; // COM1A1 = 1,COM1A0 = 0,COM1B1 = 1,COM1B0 = 0,COM1C1 = 1,COM1C0 = 0,WGM11 = 1,WGM10 = 0
// PWM출력핀인 OC1A~OC1C의 상태는 COM1A1~COM1C0의 레지스터들로 설정한다.
TCCR1B = 0x14; // ICNC1 = 0,ICES1 = 0, 0,WGM13 = 1,WGM12 = 0,CS12 = 1,CS11 = 0,CS10 = 0 (clk/256)
// ICNC1과 ICES1 레지스터는 입력캡쳐 기능을 설정하는 레지스터이다. 이는 어떤신호가 해당
// 핀으로 들어오면 타이머의 값을 ICR1레지스터에 저장시키는 기능이다.
// CS12, CS11, CS10레지스터는 프리스케일러의 분주비를 선택하는 기능이다.
TCCR1C = 0x00; // FOC1A = 0,FOC1B = 0,FOC1C = 0, 0, 0, 0, 0, 0
// 이 레지스터는 강제로 비교매치가 된 것과 같은 출력을 내보낸다. PWM 모드가 아닌 경우에만
// 유효하다. 특별한 경우가 아니라면 이비트는 0으로 둔다.

SFIOR = 0x00; // TSM = 0, 0, 0, 0, ACME = 0,PUD = 0, PSR0 = 0,PSR321 = 0
// 프리스케일러를 리셋시키는 기능의 레지스터이다. 특별한 경우가 아니라면 0으로 둔다.
DDRB |= 0xE0;
}

void Timer1_PC_PWM_Set_TOP(unsigned int top)
{
ICR1 = top;
}

void Timer1_PC_PWM_Set_OC1A_Duty(unsigned int Duty)
{
OCR1A = Duty;
}

void Timer1_PC_PWM_Set_OC1B_Duty(unsigned int Duty)
{
OCR1B = Duty;
}

void Timer1_PC_PWM_Set_OC1C_Duty(unsigned int Duty)
{
OCR1C = Duty;
}

/**********************************************************
** 모드: Fast PWM모드
** 기능: Fast PWM모드는 높은 주파수의 PWM 출력 파형을 발생하는데 유용하다. 이 동작 모드에서는
** 타이머/카운터 레지스터 TCNT1의 계수동작이 항상 0x0000~TOP의 범위에서 증가
** 하는 방향으로만 반복적으로 수행되며, 이때 타이머/카운터 레지스터 TCNT1의 값은 항상 출력비교
** 레지스터 OCR1의 값과 비교되어 OC1X, 의 출력신호를 변형시킨다.
** ICR1을 TOP로 사용하는 모드는 캡쳐기능을 사용할 수 없고 OCR1A를 TOP로 사용하는 모드는
** PWM을 OC1B, OC1C 두 핀으로만 출력할 수 있다.
** OCR1X의 값을 바꾸는 순간 비대칭 파형을 발생하기 때문에 듀티를 자주 바꿔줄 필요가 있을때
** 이모드는 적합하지 않다.
**************************************************************/


void Timer1_Fast_PWM_Init() // TOP가 ICR1인 모드 (OC1A, OC1B, OC1C 모두에서 PWM출력 가능)
{
TCCR1A = 0xAA; // COM1A1 = 1,COM1A0 = 0,COM1B1 = 1,COM1B0 = 0,COM1C1 = 1,COM1C0 = 0,WGM11 = 1,WGM10 = 0
// PWM출력핀인 OC1A~OC1C의 상태는 COM1A1~COM1C0의 레지스터들로 설정한다.
TCCR1B = 0x1C; // ICNC1 = 0,ICES1 = 0, 0,WGM13 = 1,WGM12 = 1,CS12 = 1,CS11 = 0,CS10 = 0 (clk/256)
// ICNC1과 ICES1 레지스터는 입력캡쳐 기능을 설정하는 레지스터이다. 이는 어떤신호가 해당
// 핀으로 들어오면 타이머의 값을 ICR1레지스터에 저장시키는 기능이다.
// CS12, CS11, CS10레지스터는 프리스케일러의 분주비를 선택하는 기능이다.
TCCR1C = 0x00; // FOC1A = 0,FOC1B = 0,FOC1C = 0, 0, 0, 0, 0, 0
// 이 레지스터는 강제로 비교매치가 된 것과 같은 출력을 내보낸다. PWM 모드가 아닌 경우에만
// 유효하다. 특별한 경우가 아니라면 이비트는 0으로 둔다.

SFIOR = 0x00; // TSM = 0, 0, 0, 0, ACME = 0,PUD = 0, PSR0 = 0,PSR321 = 0
// 프리스케일러를 리셋시키는 기능의 레지스터이다. 특별한 경우가 아니라면 0으로 둔다.
DDRB |= 0xE0;
}

void Timer1_Fast_PWM_Set_TOP(unsigned int top)
{
ICR1 = top;
}

void Timer1_Fast_PWM_Set_OC1A_Duty(unsigned int Duty)
{
OCR1A = Duty;
}

void Timer1_Fast_PWM_Set_OC1B_Duty(unsigned int Duty)
{
OCR1B = Duty;
}

void Timer1_Fast_PWM_Set_OC1C_Duty(unsigned int Duty)
{
OCR1C = Duty;
}

/**************************************************************
** 모드: Phase and Frequency Correct PWM모드
** 기능: Phase Correct PWM모드와 매우 유사하며 출력비교 레지스터가 삼각파의 저점에서 갱신되므로
** 이를 수정하여 듀티비를 가변하거나 PWM의 주기를 변경하더라도 항상 대칭적인 PWM 출력을
** 발생하게 되는 장점을 가진다. 따라서 이 모드는 PWM 출력의 듀티비와 스위칭 주파수를 모두 변경
** 하여야 하는 응용에 적합하다.
***********************************************************/


void Timer1_PFC_PWM_Init() // TOP가 ICR1인 모드 (OC1A, OC1B, OC1C 모두에서 PWM출력 가능)
{
TCCR1A = 0xA8; // COM1A1 = 1,COM1A0 = 0,COM1B1 = 1,COM1B0 = 0,COM1C1 = 1,COM1C0 = 0,WGM11 = 0,WGM10 = 0
// PWM출력핀인 OC1A~OC1C의 상태는 COM1A1~COM1C0의 레지스터들로 설정한다.
TCCR1B = 0x14; // ICNC1 = 0,ICES1 = 0, 0,WGM13 = 1,WGM12 = 0,CS12 = 1,CS11 = 0,CS10 = 0 (clk/256)
// ICNC1과 ICES1 레지스터는 입력캡쳐 기능을 설정하는 레지스터이다. 이는 어떤신호가 해당
// 핀으로 들어오면 타이머의 값을 ICR1레지스터에 저장시키는 기능이다.
// CS12, CS11, CS10레지스터는 프리스케일러의 분주비를 선택하는 기능이다.
TCCR1C = 0x00; // FOC1A = 0,FOC1B = 0,FOC1C = 0, 0, 0, 0, 0, 0
// 이 레지스터는 강제로 비교매치가 된 것과 같은 출력을 내보낸다. PWM 모드가 아닌 경우에만
// 유효하다. 특별한 경우가 아니라면 이비트는 0으로 둔다.

SFIOR = 0x00; // TSM = 0, 0, 0, 0, ACME = 0,PUD = 0, PSR0 = 0,PSR321 = 0
// 프리스케일러를 리셋시키는 기능의 레지스터이다. 특별한 경우가 아니라면 0으로 둔다.
DDRB |= 0xE0;
}

void Timer1_PFC_PWM_Set_TOP(unsigned int top)
{
ICR1 = top;
}

void Timer1_PFC_PWM_Set_OC1A_Duty(unsigned int Duty)
{
OCR1A = Duty;
}

void Timer1_PFC_PWM_Set_OC1B_Duty(unsigned int Duty)
{
OCR1B = Duty;
}

void Timer1_PFC_PWM_Set_OC1C_Duty(unsigned int Duty)
{
OCR1C = Duty;
}

[AVR] 8Bit_Timer0.h / 8Bit_Timer0.c

/****************************************************
**
** 8Bit_Timer0.h
**
** Version : 1.0
** Target : ATmega128
** Created : 2010.01.15
** Author : Chang-Su Lee (ELCO Kookmin Univ.)
** Reference : Datasheet
**
****************************************************/


#ifndef __8BIT_TIMER0_H__
#define __8BIT_TIMER0_H__

void Timer0_Normal_Init();
void Timer0_Normal_Control(unsigned char flag);

void Timer0_CTC_Init();
void Timer0_CTC_Control(unsigned char flag);
void Timer0_CTC_SetTimer(unsigned char Top);

void Timer0_PC_PWM_Init();
void Timer0_PC_PWM_SetDuty(unsigned char Duty);

void Timer0_Fast_PWM_Init();
void Timer0_Fast_PWM_SetDuty(unsigned char Duty);

#endif





/******************************************************
**
** 8Bit_Timer0.c
**
** Version : 1.0
** Target : ATmega128
** Created : 2010.01.15
** Author : Chang-Su Lee (ELCO Kookmin Univ.)
** Reference : Datasheet
**
******************************************************/


#include <avr/io.h>
#include "8Bit_Timer0.h"

/********************************************************
** 모드: Normal모드
** 기능: 카운트 값의 클리어가 카운팅 동작 중에는 이루어 지지 않기 때문에 항상 최대값 0xFF까지
** 카운팅을 수행한 후 다시 0x00부터 카운팅을 수행하게 된다. 또한 0xFF에서 0x00으로 바뀌는
** 순간에 Overflow인터럽트가 발생하게 된다.
********************************************************/


void Timer0_Normal_Init()
{
TCCR0 = 0x05; // FOC = 0, WGM00 = 0, COM01 = 0, COM00 = 0, WGM01 = 0, CS02 = 1, CS01 = 0, CS00 = 1
// CS02, CS01, CS00 비트의 값을 조정하여 클럭의 분주비를 변화할 수 있다.
ASSR = 0x00; // AS0 = 0, TCN0UB = 0, OCR0UB = 0, TCR0UB = 0
// 외부 클럭을 사용하여 카운팅할 경우에만 이 레지스터를 조정한다.
TIFR = 0x00; // 인터럽트 플랙 레지스터로써 예외적인 경우를 제외하고는 안건드리는 것이 바람직하다.
SFIOR = 0x00; // 터이머0, 1, 2, 3의 프리스케일러를 리셋시키는 기능을 가진 레지스터이다.
TIMSK &= 0xFE; // OCIE0 = 0(Compare Match 인터럽트 Enable 레지스터), TOIE0 = 0(Overflow 인터럽트 Enable 레지스터)
}

void Timer0_Normal_Enable(unsigned char flag) // Overflow 인터럽트
{
if( flag )
TIMSK |= 0x01; // Enable
else
TIMSK &= 0xFE; // Disable
}

/***************************************************************
** 모드: CTC(Clear Timer on Compare Match)모드
** 기능: 이 모드에서는 타이머/카운터 레지스터의 값이 출력비교 레지스터 OCRn의 값과 일치하면 그 다음
** 클럭 사이클에서 0으로 클리어된다. 따라서, 이모드에서는 클록 입력에 의하여 타이머/카운터
** 레지스터의 값이 항상 0x00~OCRn의 범위에서 계수동작이 반복되며, TCNT0의 값이 증가하다가 OCRn
** 레지스터 값과 같게 되면 그 다음 주기에 TIFR 레지스터에서 OCF0 = 1로 되면서 출력비교 인터럽트가
** 요청된다.
***************************************************************/


void Timer0_CTC_Init()
{
TCCR0 = 0x05; // FOC = 0, WGM00 = 1, COM01 = 0, COM00 = 0, WGM01 = 0, CS02 = 1, CS01 = 0, CS00 = 1
// CS02, CS01, CS00 비트의 값을 조정하여 클럭의 분주비를 변화할 수 있다.
ASSR = 0x00; // AS0 = 0, TCN0UB = 0, OCR0UB = 0, TCR0UB = 0
// 외부 클럭을 사용하여 카운팅할 경우에만 이 레지스터를 조정한다.

TIFR = 0x00; // 인터럽트 플랙 레지스터로써 예외적인 경우를 제외하고는 안건드리는 것이 바람직하다.
SFIOR = 0x00; // 타이머0, 1, 2, 3의 프리스케일러를 리셋시키는 기능을 가진 레지스터이다.
TIMSK &= 0xFD; // OCIE0 = 0(Compare Match 인터럽트 Enable 레지스터), TOIE0 = 0(Overflow 인터럽트 Enable 레지스터)
}

void Timer0_CTC_Control(unsigned char flag)
{
if( flag )
TIMSK |= 0x02; // Enable
else
TIMSK &= 0xFD; // Disable
}

void Timer0_CTC_SetTimer(unsigned char Top)
{
OCR0 = Top;
}

/***************************************************************
** 모드: Phase Correct PWM모드
** 기능: PC PWM 모드는 높은 분해능의 PWM 출력 파형을 발생하는데 유용하다. 이 동작 모드에서는 타이
** 머/카운터 레지스터의 계수동작이 상향 카운터로서 0x00~0xFF까지 증가하였다가 다시 하향 카운터
** 로서 0xFF~0x00으로 감소하는 동작을 반복적으로 수행한다.
***************************************************************/


void Timer0_PC_PWM_Init()
{
TCCR0 = 0x2D; // FOC = 0, WGM00 = 0, COM01 = 1, COM00 = 0, WGM01 = 1, CS02 = 1, CS01 = 0, CS00 = 1
// CS02, CS01, CS00 비트의 값을 조정하여 클럭의 분주비를 변화할 수 있다.
ASSR = 0x00; // AS0 = 0, TCN0UB = 0, OCR0UB = 0, TCR0UB = 0
// 외부 클럭을 사용할 경우에만 이 레지스터를 조정한다.
TIFR = 0x00; // 인터럽트 플랙 레지스터로써 예외적인 경우를 제외하고는 안건드리는 것이 바람직하다.
SFIOR = 0x00; // 타이머0, 1, 2, 3의 프리스케일러를 리셋시키는 기능을 가진 레지스터이다.
DDRB |= 0x10;
}

void Timer0_PC_PWM_SetDuty(unsigned char Duty)
{
OCR0 = Duty;
}

/***************************************************************
** 모드: Fast PWM모드
** 기능: Fast PWM모드는 높은 주파수의 PWM 출력 파형을 발생하는데 유용하다. 이 동작 모드에서는
** 타이머/카운터 레지스터 TCNT0의 계수동작이 항상 0x00~0xFF의 범위에서 증가
** 하는 방향으로만 반복적으로 수행되며, 이때 타이머/카운터 레지스터 TCNT0의 값은 항상 출력비교
** 레지스터 OCR0의 값과 비교되어 OC0의 출력신호를 변형시킨다.
***************************************************************/


void Timer0_Fast_PWM_Init()
{
TCCR0 = 0x6D; // FOC = 0, WGM00 = 1, COM01 = 1, COM00 = 0, WGM01 = 1, CS02 = 1, CS01 = 0, CS00 = 1
// CS02, CS01, CS00 비트의 값을 조정하여 클럭의 분주비를 변화할 수 있다.
ASSR = 0x00; // AS0 = 0, TCN0UB = 0, OCR0UB = 0, TCR0UB = 0
// 외부 클럭을 사용할 경우에만 이 레지스터를 조정한다.
TIFR = 0x00; // 인터럽트 플랙 레지스터로써 예외적인 경우를 제외하고는 안건드리는 것이 바람직하다.
SFIOR = 0x00; // 터이머0, 1, 2, 3의 프리스케일러를 리셋시키는 기능을 가진 레지스터이다.
DDRB |= 0x10;
}

void Timer0_Fast_PWM_SetDuty(unsigned char Duty)
{
OCR0 = Duty;
}

[AVR] system.h

/*******************************************************
**
** system.h
**
** Version : 1.00
** Target : ATmega128
** Created : 2010.01.15
** Author : Taxoo Kim (ELCO Kookmin Univ.)
**
*******************************************************/


#ifndef __SYSTEM_H
#define __SYSTEM_H

#define F_CPU 16000000L

#define TRUE 1
#define FALSE 0
#define ON 1
#define OFF 0
#define U8 unsigned char
#define S8 char
#define U16 unsigned int
#define S16 int

#endif //__SYSTEM_H

2010년 4월 4일 일요일

웨이블릿 (Wavelet) 이해하기

관련 링크 : http://blog.naver.com/dhlion?Redirect=Log&logNo=20012559855

웨이블릿, 웨이브릿, 웨이블렛 등으로 불리는 Wavelet은 이미지처리를 위한 기법, 또는 압축 기술이다.
(아직 공부가 미흡하기는 하지만...)

어찌하다보니 웨이블릿과 관련하여 공부를 하게 되었다.

하지만 관련 글을 찾다보면 느낄 수 있을텐데, 그 이론에 대해서는 대부분 비슷한 역사와 설명이 기술되어 있지만,

그 동작(원리에 대한)에 대한 설명은 대부분 쉽게 이해하기 어렵게 되어 있다.

첫번째 링크는 자세한 설명은 아니지만 이해하는데 도움이 될 것이라고 생각하고,

두번째 링크는 웨이블릿을 공부하기 위해서 이해해야할 고역통과필터에 관한 내용이다.

물론 두 블로거 모두 실력이 있으실 것이라 생각하고 있다.^^

가장 중요한 흐름은

이미지의 가로, 세로축으로 고역통과 필터와 저역통과 필터를 사용한 후,

전체적으로 4개의 부분 이미지를 만들고,

각각의 부분 이미지를 다운샘플링(즉 해당 픽셀의 비트수를 낮춤)을 함으로써

이미지를 압축하거나 처리한다는 것이다.

관련자료를 더 찾아본 후 전체적으로 설명하도록 하겠다.

2010년 4월 2일 금요일

[Line-tracer] smART-kART 2010 기본 플랫폼

이번 2010 지능형 모형차 설계 경진대회에 참가할 팀명을 정했다.

smART-kART 내가 지었지만 잘 지은 듯 하다. ^^;

이 블로그를 통해 공유할 수 있는 모든 내용은 공유하려고 한다.(선의의 경쟁??)

머 그렇다고 대단한 것들은 아니고

한양대학교 자동차 전자제어 연구소 대회 홈페이지(http://race.acelab.org/)에서 제공하는 내용을 간추리고, 여기저기 퍼져있는 자료를 모으려고 한다.

일단 가장 기본적인 차체에 대한 내용이다.


1/10 EP Genesis Coupe 제원
· 전 장 : 370mm(외부치수)
· 전 폭 : 188mm(외부치수)
· 축 거 : 257mm(외부치수)
· 높 이 : 130mm(바디포스트 포함치수),60mm(바디포스트 제외치수)
· 휠 폭 : 24mm


대회에서 요구하는 차체는 가로, 세로 25x45(cm)에 높이의 제한이 없으므로

가로로는 약 6cm, 세로로는 8cm의 여유가 있다.

기어비
중요한 부분이 아니라고 할 수도 있지만... 가끔 기어비를 알아두는게 편할 때가 있다.


바퀴 1회전 거리
정확하게 측정하진 않았지만 약 21.9cm가 나왔다...(애매하군...)


2010년 4월 1일 목요일

[Motor Driver] MC33887 H-Bridge Spec.

Freescale(www.freescale.com)사에서 제작한 DC 모터용 드라이버 칩이다.

이번 2010 지능형 모형차 경진대회에서 제공하는 모터드라이버이기도 하다(그전에는 MC33886이었던걸로.. 기억함..)

어쨌거나 예전 모터드라이버 보다는 전류에서 강하다는게 장점이다. 무려... 5A

그럼 데이터시트 내용을 살펴보도록 하자.

Features
• 5.0 A H-Bridge with Load Current Feedback
Fully specified operation 5.0 V to 28 V
• Limited operation with reduced performance up to 40 V
• 120 mΩ RDS(ON) Typical H-Bridge MOSFETs
• TTL/CMOS Compatible Inputs
PWM Frequencies up to 10 kHz
• Active Current Limiting (Regulation)
• Fault Status Reporting
• Sleep Mode with Current Draw ≤50 μA (Inputs Floating or Set to Match Default Logic States)


위 회로는 가장 기본적인 회로구성을 보여준다.

이것만 가지고는 각 핀을 어떻게 연결해야 할지 모를 수도 있다.(다음 표를 보자)

각 핀에 대한 설명이 나와있다. 간단한 영어이므로 각자 해석해보자 ^^(혹시 도움이 필요하시다면... 댓글을...)

[Datasheet] : MC33887.pdf

[DC Motor] RS-540SH


이번 지능형 모형차 경진대회에 사용할 DC Motor이다.

모델명은 RS-540SH, 그리고... TN056519 라고 적혀있는데... 파트명인듯하다.

그외 made in China라고 적혀있는 것뿐?

아무튼 이 모터의 스펙을 알아보도록 하자.