티스토리 뷰
본 체험 제품은 element14 의 후원을 받아 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.
출처 : Motor Driver Board for the BBC micro:bit - V2 | Kitronik
Blog Yamasho: Delphi 10.2.2:Bleで Microbitと通信する。
googlesamples/android-BluetoothLeGatt - GitHub
ButtonService - micro:bit runtime
microbit-samples/source/examples/bluetooth-services/main.cpp - GitHub
https://github.com/lancaster-university/microbit-dal/issues/337
Advanced - micro:bit runtime - GitHub Pages
Send/Receive Data Using BLE and MBED | BBC:Microbit - Instructables
micro:bit - BLE - RC Car -PWM 사용
micro:bit 확장 보드중에 모터 드라이버(Motor Driver Board for the BBC micro:bit - V2 | Kitronik)를 이용해서 RC Car를 만들어 보았습니다. 통신방식은 micro:bit에 내장된 BLE를 이용했고, 클라이언트는 Delphi를 이용해서 만들어 보았습니다. 제가 사용한 모터 드라이버는 RWM를 사용해서 속도 제어도 가능했습니다.
소스 - main.cpp
#include "MicroBit.h" #include "MicroBitUARTService.h" MicroBit uBit; MicroBitUARTService *uart; #define MOTER_LOW 0 #define MOTER_HIGH 0.2 // 스피드 - 0 ~ 1 | 최대속도 = 1 PwmOut moter_right_front(P0_18); //12 - right PwmOut moter_right_back(P0_20); //8 PwmOut moter_left_front(P0_3); //16 - left PwmOut moter_left_back(P0_16); //0 //모터A,B 정회전 void bothMotorStart() { moter_right_front = MOTER_HIGH; moter_right_back = MOTER_LOW; moter_left_front = MOTER_HIGH; moter_left_back = MOTER_LOW; } //모터A,B 역회전 void bothMotorBack() { moter_right_front = MOTER_LOW; moter_right_back = MOTER_HIGH; moter_left_front = MOTER_LOW; moter_left_back = MOTER_HIGH; } //모터A,B Stop void stopAllMotor() { moter_right_front = MOTER_LOW; moter_right_back = MOTER_LOW; moter_left_front = MOTER_LOW; moter_left_back = MOTER_LOW; } //모터A 역회전, 모터B 정회전 void turnLeft() { moter_right_front = MOTER_LOW; moter_right_back = MOTER_HIGH; moter_left_front = MOTER_HIGH; moter_left_back = MOTER_LOW; } //모터A 정회전, 모터B 역회전 void turnRight() { moter_right_front = MOTER_HIGH; moter_right_back = MOTER_LOW; moter_left_front = MOTER_LOW; moter_left_back = MOTER_HIGH; } //모터A 정회전, 모터B Stop void motorA_Rotation() { moter_right_front = MOTER_HIGH; moter_right_back = MOTER_LOW; moter_left_front = MOTER_LOW; moter_left_back = MOTER_LOW; } //모터A Stop, 모터B 정회전 void motorB_Rotation() { moter_right_front = MOTER_LOW; moter_right_back = MOTER_LOW; moter_left_front = MOTER_HIGH; moter_left_back = MOTER_LOW; } //모터A 역회전, 모터B Stop void motorA_Reverse() { moter_right_front = MOTER_LOW; moter_right_back = MOTER_HIGH; moter_left_front = MOTER_LOW; moter_left_back = MOTER_LOW; } //모터A Stop, 모터B 역회전 void motorB_Reverse() { moter_right_front = MOTER_LOW; moter_right_back = MOTER_LOW; moter_left_front = MOTER_LOW; moter_left_back = MOTER_HIGH; } // we use events abd the 'connected' variable to keep track of the status of the Bluetooth connection void onConnected(MicroBitEvent) { uBit.display.print("C"); while(1) { char command = uart->getc(); uBit.display.print(command); if (command == 'F') { bothMotorStart(); } else if (command == 'B') { bothMotorBack(); } else if (command == 'L') { turnLeft(); } else if (command == 'R') { turnRight(); } else if (command == 'S') { stopAllMotor(); } } } void onDisconnected(MicroBitEvent) { uBit.display.print("D"); } int main() { uBit.init(); uBit.display.scroll("MOTER"); /* while(1) { bothMotorStart(); wait(1); stopAllMotor(); wait(1); bothMotorBack(); wait(1); stopAllMotor(); wait(1); } */ uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected); uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected); uart = new MicroBitUARTService(*uBit.ble, 32, 32); uBit.display.scroll("UART ready"); release_fiber(); }
실행
마이크로비트 공식 구입처 : 아이씨뱅큐 http://www.icbanq.com/
엘리먼트14의 특장점 - 글로벌 전자부품 유통회사, 6만원 이상 무료배송, 60만가지 재고 보유, MOQ 없음, 한글 웹사이트, 국내서비스센터 운영 (http://kr.element14.com/?CMP=DSP-ODB-KR-JAN2018-BLOG-ICBanQ1-HOMEPAGE)
마이크로비트 공식 카페 : http://cafe.naver.com/bbcmicro
아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq
- Total
- Today
- Yesterday
- 전예희
- 서울오토살롱
- Java
- sas2009
- Spring MVC
- Linux
- 송주경
- Delphi Tip
- Xcode
- JavaScript
- NDK
- 지스타2007
- 레이싱모델 익스트림 포토 페스티벌
- 일본여행
- Delphi
- ffmpeg
- ubuntu
- KOBA
- flex
- SAS
- MySQL
- android
- Mac
- koba2010
- ble
- 튜닝쇼 2008
- oracle
- BPI-M4
- Spring
- 동경
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |