지금으로서는 Brokking 의 코드를 다운받아 그대로 이용할 계획이므로 Brokking 이 사용했던 블루투스 부분에 해당하는 코드에 한정하여 HC-06 버전으로 바꾸는 과정을 첨부된 테스트 코드를 사용하여확인하는 과정을 설명하도록 하자.  아두이노 우노 보드의 0번(RX) 1번(TX)핀 과 HC-06 블루투스 보드의 RXD 핀과 TXD 핀을 그림의 배선도(RXD⤍TX, TXD⤍RX)처럼 연결하기로 한다. 아직은 미 연결 상태를 유지하고 컴파일 업로딩하여 테스트를 진행한다. 아직 Brokking 의 밸런싱 로봇 코드를 수정해서 입력하기 전에 아두이노 블루투스 수신 테스트 코드를 만들어 시험해 보도록 하자. 아두이노우노 블루투스 수신 테스트 코드는 Brokking 의 코드에서 다 빼버리고 블루투스를 통해 입력버퍼에서 수신한 내용을 시리얼 모니터에 출력하는 부분만 남기도록 한다. 헤더 영역을 살펴보자. 입력 버퍼 변수 received_byte를 8비트 byte 데이타로 정의하자. micros() 명령은 아두이노보드에서 코드가 실행되는 순간부터 마이크로 단위로 시간을 계수해서 알려준다. 현재 시간 micros(0 보다 4000 만큼 큰 값의 loop_timer 는 loop()에서 4000 마이크로 세컨드가 경과되면 다시 4000을 추가해서 갱신되는 구조다. 4000 마이크로 세컨드는 Brokking 의 코드에서 4 msec 마다 한번씩 밸런싱 로봇의 제어를 위해 루틴이 실행되는 단위임을 참고하자.  loop()에서 Aerial.begin(57600)은 //코멘트 처리하기로 한다. HC-06 블루투스 보드의 default 통신속도가 9600이며 이미 setup()에서 9600으로 설정되어 있기 때문이다. HC-06의 통신속도를 57600으로 재설정했다면 이 명령을 그대로 살려두면 된다.  실제로 Brokking의 코드를 수정해서 실행하기 전에 첨부된 테스트 코드를 사용하여 시리얼 모니터의 문자 입력 박스에서 “L”과 “R”을 입력하여 Serial.read() 명령이 실행되면 이 입력 버퍼 값을 읽어서 received_byte에 저장 후 이 값을 시리얼 모니터에서 BIN 즉 Binary 8비트 형식으로 출력해 보도록 한다.  received_byte의 8비트 데이타가 1001100 이라면 이는 스마트폰 앱인벤터에서 Right 버튼을 누른 결과에 해당한다.. 그런데 반대로 “Turn Left” 문자 출력을 한 이유는 Brokking 의 코드에서 겉보기에는 Turn Right 같은데 실제 해보니까 좌회전을 하였다. 그래서 바꿔 놓은 것이다. Brokking은 HC-06 이 아닌 다른 블루투스 보드를 사용하기 때문에 HC-06과는 조금 다른 점이 있는 듯하다. 전진과 후진은 별 이상이 없다. 이런 방식으로 전진 후진 좌회전 우회전 시 입력 버퍼 변수 즉 received_byte의 값을 확인해 보고 최종적으로 Brokking 의 코드 수정 단계에 들어가도록 한다. //Bluetooth_FBRL byte received_byte = 0; //입력버퍼 int receive_counter; unsigned long loop_timer; void setup() { Serial.begin(9600); loop_timer = micros() + 4000; } void loop() { // Serial.begin(57600); if(Serial.available() > 0){ received_byte = Serial.read(); receive_counter = 0; } if(receive_counter <= 25) receive_counter ++; else received_byte = 0x00; Serial.println(received_byte, BIN); if(received_byte == B1010010) Serial.println("Trun Left"); if(received_byte == B1001100) Serial.println("Trun Right"); if(received_byte == B1000110) Serial.println("Move Forward"); if(received_byte == B1000010) Serial.println("Move Backword"); if(received_byte == B1010011) Serial.println("STOP"); while(loop_timer > micros()); loop_timer += 4000; }//끝
author | codingart |
---|---|
permlink | 139-brokking |
category | kr |
json_metadata | {"tags":["kr","kr-newbie","manamine","jjangjjangman","kr-dev"],"image":["https://cdn.steemitimages.com/DQmQBomd9Dio97DFPbNWntiKX6dYD6nGeSoJXuFMwNVF9G1/noname01.png","https://cdn.steemitimages.com/DQmYE8h71XZrBUhtfdGYVRmrsuf7wLq84VZFT45AcFCxuY3/noname02.png","https://cdn.steemitimages.com/DQmUPbBFtsvLruux3XMDfScQFCF5GnEgas35zh3fwAEPJUC/noname03.png","https://cdn.steemitimages.com/DQmbhcgmZVaeHGBjNwayNPT6m1nSJLiMA1D7qXjNkvgdGdQ/noname04.png"],"app":"steemit/0.1","format":"markdown"} |
created | 2018-09-04 03:45:36 |
last_update | 2018-09-04 04:38:09 |
depth | 0 |
children | 1 |
last_payout | 2018-09-11 03:45:36 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 1.535 HBD |
curator_payout_value | 0.478 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 2,939 |
author_reputation | 41,833,111,979,966 |
root_title | "아두이노 코딩-139: Brokking의 밸런싱 로봇 코드 수정 작업을 위한 아두이노 테스트 코드" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 70,248,306 |
net_rshares | 1,741,576,509,507 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
virus707 | 0 | 160,052,242,988 | 1% | ||
pje0807 | 0 | 1,968,829,410 | 88.08% | ||
bramd | 0 | 1,345,221,025,374 | 20% | ||
brainstormot | 0 | 34,237,697,679 | 100% | ||
mishana | 0 | 12,760,972,134 | 60% | ||
kjh8613 | 0 | 538,499,649 | 100% | ||
wisdomandjustice | 0 | 133,086,457,216 | 12% | ||
anpigon | 0 | 6,291,904,204 | 100% | ||
beetlevc | 0 | 622,529,642 | 1% | ||
torquesnazzy | 0 | 482,945,555 | 100% | ||
monkbulimia | 0 | 499,285,323 | 100% | ||
ingusik | 0 | 480,966,654 | 100% | ||
runaeva23 | 0 | 496,627,543 | 100% | ||
tamilaisaeva | 0 | 480,599,193 | 100% | ||
nuclearbooby | 0 | 488,165,489 | 100% | ||
shalelinkage | 0 | 497,508,969 | 100% | ||
musiccrannies | 0 | 488,334,936 | 100% | ||
mathsolver | 0 | 42,881,917,549 | 100% |
이오스 계정이 없다면 마나마인에서 만든 계정생성툴을 사용해보는건 어떨까요? https://steemit.com/kr/@virus707/2uepul
author | virus707 | ||||||
---|---|---|---|---|---|---|---|
permlink | re-codingart-139-brokking-1536264183042tef630c9e-82c4-4296-8397-0c1ecf24a9a2uid | ||||||
category | kr | ||||||
json_metadata | {"tags":["support"],"users":["virus707"],"links":["https://steemit.com/kr/@virus707/2uepul"],"app":"null/null","format":"markdown"} | ||||||
created | 2018-09-06 20:03:03 | ||||||
last_update | 2018-09-06 20:03:03 | ||||||
depth | 1 | ||||||
children | 0 | ||||||
last_payout | 2018-09-13 20:03:03 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 0.000 HBD | ||||||
curator_payout_value | 0.000 HBD | ||||||
pending_payout_value | 0.000 HBD | ||||||
promoted | 0.000 HBD | ||||||
body_length | 81 | ||||||
author_reputation | 557,563,606,581,756 | ||||||
root_title | "아두이노 코딩-139: Brokking의 밸런싱 로봇 코드 수정 작업을 위한 아두이노 테스트 코드" | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 HBD | ||||||
percent_hbd | 10,000 | ||||||
post_id | 70,537,408 | ||||||
net_rshares | 0 |