기본 콘텐츠로 건너뛰기

5월, 2015의 게시물 표시

초저가 Bluetooth LE CC2540모듈 OYOU-V100C 사용기

를 시작하기 전에 싸다고 덥석 RF-BM-S02를 안 산걸 후회했다. 왜냐면 핀 피치가 아래와 같이 0.75mm( (0.8+0.7)/2 )라는 듣도 보도 못한 구성이었기 때문이다.

핀은 이런 순서라고 했을 때 순서대로 메뉴얼(http://pan.baidu.com/s/1kTxfwEV)을 보면서
독짓는 늙은이처럼 중국어를 한땀한땀 번역해보도록 하겠다.
그렇다. 나는 지금 매우 혼란스럽다.
1 GND
2 VDD
3 REST - RESET
4 OUT2 - P22 - DC
5 OUT1 - P21 - DD
6 OUT0 - P20
7 INPUT2 - P17
8 INPUT3 - P16
9 INPUT1 - P14
10 VDD
11 GND
12 SCL - IIC SYNC CLOCK
13 SDA - IIC DATA
14 IIC_STATUS - P15 - IIC 데이터 수신시 LOW, 아닐 때 HIGH - 불명확함 원문은 아래
表示模块已经接收到手机发来的数据 , 未收到数据时为高电平 , 当从高电平变到低电平时 , 表示已经接收到到手机发来的数据 ( 此功能在 IIC 通信时使用 , 出口通信时可以不连接 )
15 PWR - P00 - WAKEUP PIN, LOW/FLOAT일때 WakeUp .원문은 아래
模块睡眠唤醒,低电平唤醒
16 RXD - P02
17 TXD - P03
18 OUT3 - P12
19 PWM1 - P11
20 PWM2 - P10
21 PWM3 - P07
22 PWM4 - P06
23 UART_IIC_BIT - P05 - LOW(GND 접지)일때 IIC통신, 아닐(HIGH/FLOAT) 때 UART
24 ADC1 - P04
25 ADC2 - P01
26 OUT4 - P13

I2C 지원을 위한 핀을 따로 할당하는게 특이하다고 해야하나 아니면 원래 BLE들이 그런 건지는 잘 모르겠다. 검증
응용사례를 친절하게 예를 들어놓았는데 VDD, GND를 연결했다고 가정했을 때
UART 사용 - (16,17 연결)IIC - SCL, SDA, IIC_STATUS (12, 13, 14 연결)iBeac…

STM32계열을 Arduino에서 사용하기(OS X 주의)

ESP-8266이나 CC2540/1 계열의 모듈을 사용할 때 독립적으로 사용하여 전력소모 및 복잡도를 낮추는게 좋다고 생각하지만
5v 전압을 사용하거나 좀 더 많은 IO가 필요할 때는 Driver와 MCU사이에서 고민을 하게된다.
Arduino Pro Mini(http://www.aliexpress.com/item/Pro-Mini-Module-Atmega328-5V-16M-For-Arduino-Compatible-With-Nano/2021666535.html) 같은 것도 좋은 선택이겠지만 PWM 드라이버 및 범용 제어 목적으로 만만한 Cortex ARM을 선택.
STM32F103C8T6 개발보드인데 가격이 매우 착하다. 사양도 빵빵함.
http://tw.taobao.com/item/39459211142.htm?fromSite=main&spm=a1z0k.7385961.1997985097.d4918997.dlMnQK&_u=927p8v9r04fd
이렇게 생겼다. 두줄로 되어있어 한꺼번에 두개를 쓰기엔 ESP-01처럼 브레드보드 호환성이 좋지는 않지만 그야 소켓을 만들던 하면 되고 A0~A15까지 16핀으로도 테스트하는데는 아무 문제가 없어서 만족. 역시나 연결은 PL2303으로 하는데 전면의 RX,TX핀만 교차해주고 3.3v나 5v중 필요한 걸 연결하면 된다. GND도 앞뒤로 두개가 있어 편리. 업로드를 위해 BOOT점퍼들을 설정하자. BOOT0 - LOW BOOT1 - HIGH 요렇게 놓으면 끝.
타이밍 좋게도 https://github.com/rogerclarkmelbourne/Arduino_STM32 요런게 있어서 Documents/Arduino/hardware 에 다운로드하고 바로 쓸 수 있는데. OS X용 Arduino는 PL2303의 tty.usbserial 을 인식을 못한다. 실제로 업로드를 하는 serial_upload 툴에서 못씀.
Cannot handle device "/dev/cu.usbserial"이라면서 안되더…