본문 바로가기

분류 전체보기

[배경] 커피전문점에서 꽃샘 추위에 밖에는 찬바람이 휘몰아치고 몸은 감기가 오려는지 으실거립니다. 따뜻한 핫초코 한 잔 주문하고 따뜻해지는 온기를 느끼고 앉아 있으니 밖으로 나가기가 싫어 집니다. 모두들 지금 어디에서 무엇을 하고 있는지 모르지만 차 한잔의 여유를 가질 수 있는 시간이 모두에게 있기를 원합니다. 더보기
[풍경]2011년 4월 달력 꽃밭 꽃피는 봄이 오면 봄바람 따라 꽃 구경 가고 싶습니다. 해야 할 일들과 신경 쓰이는 일들과 가슴 아픈 일들과 우울한 일들과 화나는 일들 모두 바람에게 던져 주고 사랑하는 가족들과 즐거웁게 웃으며 소풍을 가고 싶습니다. 이번 봄에는 그런 날이 있었으면 좋겠습니다. 나뿐만 아니라 모두에게 말입니다. 더보기
[사진]밤이 오는 풍경, 가로등아 불을 밝혀라. 밤이 시작 되면 가로등은 불을 밝히기 시작합니다. 아파트 단지에 있는 저 가로등을 켜면 한 번에 환하게 밝아 지질 않고 조금씩 밝아 집니다. 그 밝아지는 시간은 그리 길지 않아 무심하게 지나다니면 그냥 가로등이 켜졌구나 꺼졌구나 정도로만 인식을 하고 지나갑니다. 하지만 힘든 하루를 보내고 터덜거리며 저녁 무렵 돌아 올 때 가로등에 불이 들어오기 시작하면 불을 켜기위해 온 힘을 다해 애를 쓰는 것 처럼 느껴질 때가 있습니다. 그럴때 속으로 외쳐 봅니다. 가로등아 불을 밝혀라. 나도 힘을 내마. 더보기
[사진]이른 아침 뜨는 해와 솟아오르는 연기 아침에 도서관에 책을 반납하러 갔다가 멀리 마을 지나 산너머에 연기가 하염없이 올라오고 있는 것을 보고 "불이 났나?" "목욕탕 굴뚝 연기인가?" "공장에서 나오는 건가?" 생각하다가 나쁜일은 아니겠지 생각하고 찍었습니다. 더보기
DSLR 카메라를 사용하면서 알고 있어야 하는 용어 정리 카메라를 사용하면서 궁금한 용어들을 여러가지 책을 참고하기도 하고 인터넷을 참고하기도 합니다. 찾아서 읽을 때는 무슨 뜻인지 이해가 되는 듯 하다가 몇 달이 지나고 보면 그 용어들을 실생활에서 자주 쓰지를 않아 머리 속에는 어렴 풋하게만 기억할 뿐 입니다. 그래서 필요할 때 쉽게 찾아 보려고 용어를 모아서 정리했습니다. 기억력이 나와 같이 부족한 분이 또 있다면 참고하시고 더 자세한 내용이 필요하시면 전문가의 서적을 하나쯤 구입하는 것이 좋을 듯 합니다. CCD(Charge Coupled Device) : 카메라에 들어오는 영상을 잡아내는 센서입니다. CCD의 크기는 큰것이 35mm 필름크기와 비슷한 풀프레임 36x24mm입니다. 일반 휴대용 디카는 5.8x4.3mm 정도 입니다. 화각 : 피사체가 찍히.. 더보기
[사진]산이 있는 늦은 겨울 풍경 조용하게 산책을 해도 춥지 않은 저녁시간에 뒷산을 걸으며 산의 고요함을 느껴보았습니다. 더보기
[라인트레이서] SRC 트렌스포터 집게 서보모터 함수 만들기 트렌스포터를 만들어 명령어를 삽입하다 보면 집게를 사용할 때 마다 SERVO명령을 사용하여 값들을 일일이 적어 명령어를 사용하기도 합니다. 하지만 C언어를 조금만 알고 있다면 잡기와 놓기를 함수로 만들어 사용할 수 있습니다. SRC 라인트레이서를 기본 사용하다고 보고 명령어에 쓰이는 함수를 만들어 봅시다. #include "Proracer3.h" int main(void) { Robot_Ready(); #define SPEED 60 #define TS SPEED #define BR SPEED #define TB SPEED DRIVE(4,2,0,2,4); /***** Programming start *****/ END(); return 0; } 우선 라인트레이서 기본 문서를 열어 보면 위와 같이 쓰여 있습.. 더보기
[C언어]처음시작하는 기초 문법 알아 보기 C언어를 처음 시작할 때는 포인터나 구조체 주소들을 이해하기도 힘들고 기본적인 if문이나 for문을 사용하기에도 벅찬 경우가 많습니다. 그래서 기초를 배우는 경우 가장 많이 쓰이는 명령어를 간단한 C언어로 작성하여 알아 보았습니다. 이 문장에서 가장 먼저 나오는 것은 1라인에 #include 라는 문장입니다. 이것은 표준입출력과 관련된 명령들이 저장되어 있는 stdio.h라는 헤더 파일을 가져다 쓰기위해서 입력한 것입니다. 헤더 파일들은 확장자가 .h로 되어 있으며 기본 제공되는 것들은 안에 넣어 사용하고 사용자가 작성한 것은 " "안에 넣어 사용합니다. 아무튼 이 문장이 있어야 키보드에서 자료를 입력하고 화면으로 결과를 확인 할 수 있습니다. 3라인에 int main()은 C언어에서 꼭 필요한 .. 더보기
[풍경]눈 쌓인 호수 추운 날씨와 많은 눈이 호수를 벌판으로 바꾸어 버렸네요. 누가 저 위를 걸어가 발자욱을 남겼을까요?? 더보기
[풍경] 겨울 장미 사진 벌써 겨울의 한 가운데에 와 있는데 난 왜 아직도 머리를 떨구지 못하고 이렇게 메말라 가고 있는 것일까? 내가 지고 나도 열매를 얻지는 못하고 그저 지는 꽃일 뿐이기에 그냥 이대로 떨어지는 것도 아쉽기는 하지만 지나간 시간이야 어쩔 수 없으니 다가오는 6월에는 꼭 좋은 짝을 찾아서 열매를 만들고 싶다. 더보기
[사진] 2011년 3월 달력 3월이면 꽃이 핀다고 하던데 나도 3월이면 꽃이 될 수 있을까? 더보기
C프로그래밍 - 메모리관련 함수 알아보기 C언어에서 사용되고 있는 메모리 관련 함수들을 나열해 보았습니다. malloc(할당하고자 하는 메모리의 크기); malloc함수는 할당되는 공간이 초기화 되어 있지 않습니다. calloc(할당 될 블록의 수, 블록 크기); calloc함수는 NULL 로 초기화가 됩니다. realloc(재 할당할 메모리 이름, 메모리 크기); free(해제할 할당 메모리 이름); memcpy(복사 되어 들어갈 메모리 이름, 복사할 메모리이름, 복사할 메모리의 크기); memcmp(비교할 메모리1, 비교할 메모리2); 비교할 메모리1이 메모리2와 같을 경우 0, 작은 경우 -1, 큰 경우 1을 반환 합니다. memmove(이동해 들어갈 메모리 이름, 이동 하는 메모리 이름, 이동할 메모리 크기); memset(채워질 메모리.. 더보기
SRC 라인트레이서 로봇 - 서보모터(SERVO) 살펴 보기 라인트레이서 로봇 대회들 중에서 장애물을 옮기는 미션이 있는 트랜스포터 대회에서는 서보모터를 기본으로 사용하는 경우가 많이 있습니다. 서보모터는 한 바퀴를 모두 회전하는 모터가 아닌 왼쪽과 오른쪽으로 90도 정도씩만 움직이는 모터 입니다. 이 모터와 프레임을 연결하여 집게를 만들어 대회에 참여하게 됩니다. 서보모터의 기본은 0점을 맞추는 것으로 시작 됩니다. 0점을 맞추는 방법은 라인트레이서에 서보모터를 연결한 후 명령어를 이용하여 모터에 0점으로 이동하게 하면 됩니다. 기본적으로 SRC로봇에서는 서보모터를 사용하라는 명령어를 넣어야 작동이 됩니다. SERVO_ENABLE(1); 이라는 명령을 라인트레이서 명령을 넣는 main() 안에 넣습니다. 다음으로 서보모터에 명령을 내릴 차례입니다. SERVO(S.. 더보기
정렬 알고리즘 - 순서도와 C언어로 알아 본 선택정렬(selection sort) 프로그래밍이나 알고리즘을 공부하는 사람들이 가장 먼저 만나게 되는 알고리즘 중에 하나가 바로 정렬 알고리즘 입니다. 그 중에서도 선택정렬은 가장 많이 사용되기도 하고 가장 먼저 배우기도 하는 정렬알고리즘 입니다. 지금부터 가장 간단한 정렬 알고리즘을 알아 보도록 하겠습니다. 우선 예로 3 , 5, 1, 7, 9, 2, 6 이렇게 7개의 숫자를 정렬해 보겠습니다. 아래 그림처럼 a[7]인 배열 함수에 숫자들이 차례대로 들어 있다고 가정합니다. 첫 번째 a[0]은 key 값이 됩니다. 여기서 key라고 정의한 것은 key가 있는 위치에 가장 작은 값을 넣을 것이라는 의미 입니다. a[0]을 a[1]부터 a[6]까지 차례대로 비교하면서 a[0]에 있는 값보다 작은 값을 만나면 둘의 위치를 바꾸어 줍니다. 그.. 더보기
SRC 라인트레이서 고급 명령어 알아보기 라인트레이서에서 ST 나 GF 처럼 기본 방향설정을 위한 명령이 있는가 하면 LED와 BUZZER 를 작동하거나 특수한 상황에서 기본 명령어로 해결이 되지 않을 때 사용하는 명령들이 있습니다. 이런 고급 명령들은 속성을 잘 알고 자주 사용하여 필요할 때 어떤 명령을 사용해야 하는지 판단할 수 있도록 해야 합니다. SRC에서 사용하는 고급 명령들을 나열해 보겠습니다. LED(횟수, 시간); --- LED(3, 300); --- 횟수는 깜빡이는 횟수를 나타내고 시간은 1/1000초 단위로 나타 냅니다. 그래서 위의 명령은 0.3초 간격으로 3번 깜빡이라는 명령입니다. BUZZER(횟수, 시간); --- BUZZER(2, 200); --- 0.2초 간격으로 2번 소리를 내라는 명령입니다. 위의 두 명령은 라인.. 더보기
[풍경] 눈이 또 왔어요. 올 겨울은 눈도 많고 춥기도 많이 춥고 북극이 따뜻해지면서 찬기운이 아래로 밀려나서 그렇다고 하는 군요. 지구 온난화가 가져온 결과라고 합니다. 더보기
[스크래치] 스크래치 프로그래밍 시작 "안녕" 인사 하기 스크래치라는 언어 교육프로그램을 사용하는 방법을 기초부터 알아 보겠습니다. 지금부터 만들 것은 고양이가 "안녕" 하고 인사하는 간단한 프로그램입니다. 아래 화면은 실행 화면 입니다. 자바가 컴퓨터에 설치 되어 있어야 볼 수 있습니다. 보이지 않을 경우 홈페이지로 이동해서 볼 수 있습니다. 이 프로젝트를 만들려면 우선 배경화면을 바꾸어야 합니다. 배경화면은 스크래치에서 기본으로 제공하고 있으며 여기서 사용한 것은 indoor폴더에 있는 chalkboard 배경을 사용했습니다. 다음으로 프로젝트에 기본으로 삽입되어 있는 고양이 스프라이트를 클릭하여 고양이에게 왼쪽에 있는 명령을 스크립트에 드래그 앤 드롭으로 삽입합니다. 고양이에게 스크립트를 삽입하는 이유는 명령을 받아서 움직이는 개체가 고양이 스프라이트이기.. 더보기
[풍경] 2011년 1월 달력 사진 눈이 쌓은 넓은 광야 저 멀리 눈위에 누군가 서있는 듯 흙먼지 하나가 자동차 본닛 위에 떨어져 있습니다. 더보기
[풍경] 눈이 무거워... 오랜 만에 머리 위로 눈이 내려서 즐거워라 했더니만 녹지 않고 머리 위에 쌓여 너무 무거워 힘들다. 다가올 봄에는 꽃도 피우고 줄기도 키우고 해야 하는데, 이러다 겨울 못 버티고 꺽여버리는 것은 아니겠지... 더보기
[c언어] 문자와 문자열에 대한 함수 알아 보기 c언어에서 문자와 문자열을 이용한 프로그래밍을 할 때 알고있으면 유용한 함수들을 나열해 보았습니다. 자세한 사용법은 함수가 많아서 생략을 했습니다. 하나씩 분석해서 다음 글에 올리도록 하겠습니다. #include 한 문자 입력 getch(변수명) 한 문자 출력 putch(변수명) 문자열 입력 gets(배열명) 문자열 출력 puts(배열명) 문자열 복사 strcpy(복사 받을 배열명, 복사할 배열명) 문자열 비교하기 strcmp(비교문자열1, 비교문자열2) 문자열 일정 길이만큼 비교하기 strncmp(비교문자열1, 비교문자열2,비교길이) 문자열 연결하기 strcat(연결문자1, 연결문자2) 문자열 길이 구하기 strlen(문자열) 문자열에서 단어 검색하기 strstr(검색할 문자열, 단어) 문자열에서 문자.. 더보기
[로봇] 라인트레이서 F교차로 알아 보기 이번에는 라인트레이서가 다니는 교차로 중에서 F교차로에 대하여 알아 보겠습니다. F교차로도 +교차로 만큼이나 자주 사용되고 있는 코스입니다. 라인트레이서로 F와 +교차로만 알고 있어도 무리없이 출전 할 수 있는 대회들도 있을 정도로 많이 사용됩니다. 그럼 F교차에서 사용되는 명령어를 알아 보겠습니다. RF : 교차로에서 오른쪽으로 회전 LF : 교차로에서 왼쪽으로 회전 GF : 교차로에서 직진 SF : 교차로에서 정지 위의 4가지 명령어가 F교차로에서 기본으로 사용되며 나머지 명령어들은 +교차로와 사용되는 범위가 똑 같습니다. 위의 그림1)에서 180도 회전을 하는데 선이 없는 방향으로 회전을 하지요. 만약 +교차로 였다면 TL2가 사용 되었겠지만 F교차로에서는 TL1이 사용 됩니다. 이유는 그림에서 처.. 더보기
SRC 라인트레이서 로봇 미로찾기 명령어 + 교차로 알아보기 어떤 로봇 대회가 있던 빠지지 않는 대회는 라인트레이서를 이용한 대회입니다. 라인을 따라가며 명령을 수행하는 대회에서 중요한 것 중 하나는 정확하게 코스를 통과하는 것입니다. 그런데 문제는 로봇을 만드는 회사 마다 명령어가 다르게 사용되고 대회 참여자들도 거기에 맞게 공부를 해야 한다는 것입니다. 그렇다고 모든 회사에 맞게 명령어를 공부할 수는 없는 일이지요. 저는 많은 회사 중에서 SRC에서 제공하는 라인트레이서로 여러가지 코스 중에서 가장 기본이 되는 십자 코스를 알아보고자 합니다. 십자코스는 + 모양과 T 모양이 있습니다. 두가지의 길은 로봇의 직진방향에 선이 있느냐 없느냐 입니다. 선이 있는 것은 직진을 할 수 있고 없는 것은 직진은 하지 못하는 위치입니다. 물론 길이 없는 곳을 가야 할 때도 발.. 더보기
[눈 사진] 떨어지는 눈을 보다. 많은 눈이 시야를 가리고는 있지만 대지를 덮어 버리지는 못하고 모두 녹아 들어간다. 새벽에 찾아왔다면 모두를 가려버리고도 남을 만큼이지만 아쉽게도 정오를 조금 넘은 때라 세상을 적시고만 만다. 그래도 떨어지는 모습은 가슴을 설레게 하는 구나. 더보기
[사진] 2011년 2월 풍경 달력 2월을 맞이하는 비가 내리면 새상의 차가움이 모두 녹아 빗물과 함께 흘러 갈 것이라 믿었는데 비가 그치고 난 뒤 찾아오는 찬 바람은 아직도 겨울이라고 귓가를 때리고 지나가네요. 아직 당신의 따뜻한 손길이 내 손을 잡아 주기를 기대하며 이른 봄비가 내리는 창밖에 마음을 보냅니다. 더보기
[배경]2011년 1월 달력, 눈이 왔어요. 하얀 눈이 세상을 덥는 그런 날이 많았으면 좋겠다고 생각하던 때가 있었습니다. 지금은 내 아이가 눈이 오기만을 기다리며 "언제 눈오아요?"라고 자주 물어 봅니다. 나도 다시 눈이 오면 무조건 좋아 할 수 있는 때가 올까요? 더보기
[꽃 사진] 머리만 세었다. 나도 꽃이라면 꽃이라 잘 살아 보자고 열심히 꽃피우고 씨뿌렸다. 이제 좀 살아 볼만 하니 남은 것은 세어버린 머리와 지나가 버린 좋은 계절이라. 추운 바람 불면 몸도 얼고 머리도 떨어져 내 몸 꼿꼿이 서있질 못할테데 남은 계절이나마 즐겨봐야 겠고 햇살 받으며 고개를 드니 몸매는 그래도 봐 줄만한고 생기도 도는 듯 한데 이놈에 머리는 말라가는 것을 감출 수가 없으니 잘 한 것도 없이 머리만 세었다. 애라 보기에 창피하다. 찬바람아 빨리 불어라. 올 해는 이렇게 지지만 다시 오는 내년에는 좀 다르게 살아보련다. 더보기