목차
머리말 ... 5
0장 소개 ... 13
   1. <B><FONT color ... #0000
1장 <B><FONT color ... #0000
   1. NXT Intelligent Brick ... 18
   2. I-Brick 메뉴 ... 21
      1) My Files ... 21
      2) NXT Program ... 22
      3) View ... 24
      4) Bluetooth ... 25
      5) Settings ... 25
      6) Try Me ... 26
   3. NXT 장치 ... 27
      1) 접촉 센서 ... 27
      2) 빛 센서 ... 27
      3) 소리 센서 ... 28
      4) 초음파 센서 ... 28
      5) 전동기 ... 29
2장 프로그래밍 환경 ... 31
   1. 프로그램 설치 및 실행 ... 32
      1) Bricx Command Center ... 32
      2) Not eXactly C ... 33
      3) I-Brick 디바이스 드라이버 ... 33
   2. BCC에서 NXC 버전 확인 ... 34
   3. BCC 메뉴 ... 35
      1) File 도구 ... 35
      2) Search 도구 ... 36
      3) Compile 도구 ... 37
      4) Help 도구 ... 37
      5) Edit 도구 ... 38
      6) Tools 도구 ... 38
   4. NXC 프로그램 작성 ... 40
3장 프로그램 구조 ... 43
   1. 메인 태스크 ... 44
   2. 주석 처리 ... 46
   3. 식별자 ... 48
   4. 변수 ... 49
      1) 정수 표현 방식 ... 49
      2) 8비트 변수 ... 50
      3) 16비트 변수 ... 51
      4) 32비트 변수 ... 51
      5) 문자형 변수 ... 53
      6) 상수형 변수 ... 54
      7) 전역변수와 지역변수 ... 55
   5. 선행 처리기 ... 56
      1) include문 ... 57
      2) define문 ... 57
4장 출력 ... 59
   1. LCD 출력 ... 60
      1) 숫자 출력 함수 ... 62
      2) 문자 출력 함수 ... 63
      3) 그림 파일 출력 함수 ... 65
      4) 도형 출력 함수 ... 68
      5) 화면 초기화 함수 ... 68
   2. 소리 출력 ... 68
      1) 음과 음량 설정 ... 70
        A. PlayTone 함수 ... 70
        B. PlayToneEx 함수 ... 71
      2) 음악 파일 실행 ... 72
        A. PlayFile 함수 ... 72
        B. PlayFileEx 함수 ... 73
      3) 소리 출력 정지 함수 ... 73
   3. 전동기 출력 ... 74
      1) 매개변수 설정 값 ... 75
        A. 출력포트 ... 75
        B. 회전 속력 ... 75
        C. 카운터 설정 ... 76
        D. 동기화 비율 ... 76
        E. 모드 설정 ... 76
        F. 각도 ... 77
        G. PID 값 ... 77
      2) 전동기 정지 함수 ... 77
        A. Off 함수 ... 78
        B. OffEx 함수 ... 78
        C. Coast와 Float 함수 ... 78
        D. CoastEx와 FloatEx 함수 ... 79
      3) 회전 속력 제어 함수 ... 79
        A. OnFwd와 OnRev 함수 ... 79
        B. OnFwdEx와 OnRevEx 함수 ... 80
      4) 전동기 동기화 함수 ... 81
        A. OnFwdSync와 OnRevSync 함수 ... 81
        B. OnFwdSyncEx와 OnRevSyncEx 함수 ... 82
      5) 전동기 모드 함수 ... 83
        A. OnFwdReg와 OnRevReg 함수 ... 83
        B. OnFwdRegEx와 OnRevRegEx 함수 ... 84
      6) 회전 함수 ... 84
        A. RotateMotor와 RotateMotorPID 함수 ... 84
        B. RotateMotorEx와 RotateMotorExPID 함수 ... 84
      7) 전동기 반환 값 ... 85
      8) 카운터 함수 ... 86
5장 입력 ... 87
   1. 센서 환경설정 ... 88
      1) 입력포트 ... 89
      2) 센서 종류 ... 89
      3) 센서 모드 ... 90
      4) 센서 사용 정의 ... 90
   2. 접촉 센서 ... 91
   3. 빛 센서 ... 94
   4. 소리 센서 ... 96
   5. 초음파 센서 ... 97
   6. 버튼 ... 99
6장 연산자 ... 103
   1. 산술 연산자 ... 104
   2. 관계 연산자 ... 105
   3. 대입 연산자 ... 106
   4. 논리 연산자 ... 106
   5. 시프트 연산자 ... 107
7장 반복문 ... 109
   1. for문 ... 110
   2. while문 ... 112
   3. do ∼ while문 ... 114
   4. repeat문 ... 115
   5. break문 ... 115
   6. continue문 ... 116
   7. goto문 ... 118
   8. until문 ... 119
8장 조건문 ... 121
   1. if문 ... 122
   2. if ∼ else문 ... 123
   3. if ∼ else if ∼ else문 ... 125
   4. switch ∼ case문 ... 126
9장 다중 태스크와 사용자 함수 ... 129
   1. 다중 태스크 ... 130
      1) Follows 함수 ... 131
      2) Precedes 함수 ... 132
      3) Mutex 변수 ... 133
      4) ExitTo 함수 ... 137
      5) Stop 함수 ... 138
      6) StopAllTasks 함수 ... 139
   2. 사용자 함수 ... 139
      1) inline 함수 ... 140
      2) 반환 변수형 ... 141
      3) 매개변수 ... 142
10장 블루투스(Blue tooth) ... 145
   1. 연결 상태 확인 ... 146
      1) 연결 상태 확인 함수 ... 149
   2. 버퍼 함수 ... 150
      1) 메시지 호출 함수 ... 150
      2) 메시지 저장 함수 ... 151
   3. 수신 함수 ... 152
      1) 논리 값 수신 함수 ... 152
      2) 숫자 값 수신 함수 ... 154
      3) 스트링 값 수신 함수 ... 154
   4. 전송 함수 ... 155
      1) 논리 값 전송 함수 ... 155
      2) 숫자 값 전송 함수 ... 155
      3) 스트링 값 전송 함수 ... 156
   5. 응답 함수 ... 156
      1) 논리 값 응답 함수 ... 156
      2) 숫자 값 응답 함수 ... 157
      3) 스트링 값 응답 함수 ... 158
   6. ACK 통신 기법 ... 158
   7. 직접 제어 ... 160
11장 배열 및 구조체 ... 163
   1. 배열 ... 164
   2. 다차원 배역 ... 166
   3. 배열 함수 ... 166
      1) StrToByteArray 함수 ... 166
      2) ArrayLen 함수 ... 167
      3) ArrayInit 함수 ... 168
      4) ArraySubset 함수 ... 169
      5) ArrayBuild 함수 ... 170
   4. 구조체 ... 172
12장 파일 시스템 ... 175
   1. 규정 ... 176
      1) 핸들 변수 ... 177
      2) NXC 언어의 바이트 처리 방법 ... 177
   2. 파일 생성 ... 181
   3. 파일 닫기 ... 182
   4. 파일 이름 수정 ... 184
   5. 파일 삭제 ... 185
   6. 파일 읽기 ... 185
      1) Read 함수 ... 188
      2) ReadLn 함수 ... 188
      3) ReadLnString 함수 ... 189
      4) ReadBytes 함수 ... 189
   7. 파일 편집 ... 191
      1) Write 함수 ... 192
      2) WriteLn 함수 ... 193
      3) WriteString 함수 ... 194
      4) WriteLnString 함수 ... 195
      5) WriteBytes 함수 ... 197
      6) WriteBytesEx 함수 ... 198
13장 기타 함수 ... 201
   1. 수학 관련 함수 ... 202
      1) Random 함수 ... 202
      2) Sqrt 함수 ... 202
      3) Sin, Cos, Asin, Acos 함수 ... 203
   2. 스트링 관련 함수 ... 204
      1) StrToNum 함수 ... 205
      2) StrLen 함수 ... 205
      3) StrIndex 함수 ... 205
      4) NumToStr 함수 ... 206
      5) StrCat 함수 ... 206
      6) SubStr 함수 ... 206
      7) StrReplace 함수 ... 206
      8) Flatten 함수 ... 208
      9) FlattenVar 함수 ... 208
      10) UnflattenVar 함수 ... 209
   3. 시간 함수 ... 210
      1) CurrentTick 함수 ... 210
      2) FirstTick 함수 ... 210
14장 레고 예제 로봇 ... 213
   1. 차량형 로봇 - Tribot ... 216
      1) Tribot - Driving Base ... 216
      2) Tribot - Bumper ... 217
      3) Tribot - Grabber ... 218
      4) Tribot - Sound Control ... 219
      5) Tribot - Light Sensor ... 220
      6) Tribot - Locate Object ... 222
   2. 기계형 로봇 - RobotArm T56 ... 224
      1) RobotArm T56 - Basic Arm ... 224
      2) RobotArm T56 - Hand ... 225
      3) RobotArm T56 - Recognize Color ... 227
   3. 동물형 로봇 - Spike ... 228
      1) Spike - Crawling Base ... 228
      2) Spike - Tail ... 229
      3) Spike - Sound Sensor ... 230
      4) Spike - Reaction ... 231
   4. 인체형 로봇 - AlphaRex ... 233
      1) AlphaRex - Walk ... 233
      2) AlphaRex - Turn Around ... 234
      3) AlphaRex - See ... 235
      4) AlphaRex - Talk, Hear, and Feel ... 237
      5) AlphaRex - Light ... 238
15장 레고 일반 로봇 ... 241
   1. 미로 로봇 ... 242
      1) 미로 ... 242
      2) 규정 ... 243
        A. 미로에 관한 규정 ... 243
        B. 로봇에 관한 규정 ... 243
        C. 대회에 관한 규정 ... 243
      3) 미로 로봇 프로그램 ... 244
   2. 라인트레이서 로봇 ... 245
      1) 규정 ... 245
        A. 로봇에 관한 규정 ... 246
        B. 경기장에 관한 규정 ... 246
        C. 주행에 관한 규정 ... 246
      2) 라이트레이서 로봇 프로그램 ... 247
   3. 스모 로봇 ... 247
      1) 규정 ... 249
        A. 로봇에 관한 규정 ... 249
        B. 경기장에 관한 규정 ... 249
        C. 대회에 관한 규정 ... 249
      2) 스모 로봇 프로그램 ... 250
   4. 배달 로봇 ... 252
      1) 규정 ... 253
        A. 로봇에 관한 규정 ... 254
        B. 대회에 관한 규정 ... 254
        C. 경기장에 관한 규정 ... 254
      2) 배달 로봇 프로그램 ... 255
        A. 배달 로봇1 프로그램 ... 255
        B. 배달 로봇2 프로그램 ... 258
   5. 무선 통신 미로 로봇 ... 262
      1) 미로 경기 ... 262
      2) 무선 통신 미로 로봇 프로그램 ... 262
        A. 마스터 미로 로봇 프로그램 ... 262
        B. 슬레이브 미로 로봇 프로그램 ... 264
   6. 무선 통신 배달 로봇 ... 266
      1) 규정 ... 266
        A. 로봇에 관한 규정 ... 267
        B. 대회에 관한 규정 ... 267
        C. 경기장에 관한 규정 ... 268
      2) 무선 통신 배달 로봇 프로그램 ... 269
        A. 인식 로봇 프로그램 ... 269
        B. 운반 로봇 프로그램 ... 270
부록 A 환경설정 ... 275
   1. BCC 다운로드 ... 276
   2. NXC 다운로드 ... 279
   3. I-Brick 펌웨어 다운로드 ... 281
   4. I-Brick 디바이스 드라이버 다운로드 ... 281
   5. I-Brick 디바이스 드라이버 설치 ... 282
   6. BCC 설치 ... 284
   7. I-Brick 펌웨어 업그레이드 ... 286
부록 B NXT Tools 사용 ... 289
   1. NXT(NeXT) Explorer ... 290
   2. NXT Screen ... 291
부록 C I-Brick간 블루투스 연결 ... 295
부록 D 숫자 변환 ... 299
부록 E nxtRIC e dit 사용 ... 303
   1. nxtRICedit 다운로드 ... 304
   2. nxtRICedit 인터페이스 ... 305
   3. nxtRICedit 기능 ... 305
   4. nxtRICedit 사용 예 ... 306
부록 F 아스키코드표 ... 307
부록 G 로봇 설계도 ... 309
   1. 미로 로봇 설계도 ... 310
   2. 라인트레이서 로봇 설계도 ... 324
   3. 스모 로봇 1 설계도 ... 335
   4. 스모 로봇 2 설계도 ... 256
   5. 무선 통신 배달 로봇 설계도 ... 290
부록 H NXC 함수 ... 411
   1. 출력 함수 ... 412
   2. 입력 함수 ... 453
   3. 블루투스 함수 ... 464
   4. 배열 함수 ... 485
   5. 파일 함수 ... 490
   6. 수학 함수 ... 504
   7. 스트링 함수 ... 510
   8. 태스크 함수 ... 519
   9. 시간 함수 ... 523
부록 I 실습 프로그램 ... 527
   1. 문자열 출력 ... 528
   2. 숫자 출력 ... 532
   3. 도형 출력 ... 535
   4. 그림 출력 ... 537
   5. 소리 출력 ... 538
   6. 전동기 출력 ... 539
   7. 센서 입력 ... 544
   8. 버튼 입력 ... 550
   9. 태스크 ... 552
   10. 배열 ... 558
   11. 스트링 ... 562
   12. 파일 시스템 ... 568
   13. 블루투스 통신 ... 573
부록 J 프로그램 예제 ... 577
   1. 문자열 출력에 슬라이드 효과주기 ... 578
   2. 문자열을 끊어서 여러 줄에 출력하기 ... 579
   3. 알파벳 입력하기 ... 580
   4. 계산기 ... 583
   5. 알람 ... 588
   6. 계수기 ... 591
참고문헌(References) ... 594
찾아보기(Index) ... 597
닫기