기본 콘텐츠로 건너뛰기

라벨이 arduino인 게시물 표시

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 툴에서 못씀. Ca...

Arduino 1.6.3에서 ESP8266과 Adafruit 보드들을 추가하자.

ESP8266을 위해 전용 Arduino 1.6.1을 쓰는 방법도 있지만 내 경우엔 Gemma, Flora, Trinket 다 쓰고 있어서 하나하나 Hardware 폴더에 옮기다가 Adafruit에서  https://learn.adafruit.com/adding-custom-boards-to-the-arduino-v1-6-board-manager/adding-the-proxy  이런 훌륭한 대책을 내놓았다. Arduino 1.6.2 부터 Boards Manager를 통해 3rd party 보드들을 추가할 수 있는데 Proxy로 Adafruit 에 가도록 하는 꼼수를 쓰셨다. 방법은 간단. 설정(Preferences) > Proxy Settings 에 Sever (HTTP) : apt.adafruit.com Port (HTTP) : 5050 두개를 넣어준다. 참 쉽죠? 그리고 도구(Tools)>Board>Boards Manager를 보자 아주 좋다. 역시나 OS X에선 esptool이 삽질한다. 언제 고쳐주려나 ㅜㅜ

ESP8266 Arduino 정식지원 - 설치 및 Compile

https://github.com/esp8266/Arduino 드디어 ESP8266에서도 Arduino를 정식지원한다. 윈도우즈에서도 잘 동작하는 걸 확인하고 포스팅. 1. ESP 하드웨어를 설정하고 2. 드라이버를 잡고 3. Arduino를 사용하여 업로드 하는 것 까지 살펴보겠다. 먼저 지난 글 에서 처럼 ESP8266 핀설정을 확인하고 Serial Driver를 설정하는 것부터 되짚어 보자. 0 [*] GPIO16 8 GPIO15 1 GPIO5 9 GPIO3 2 GPIO4 10 GPIO1 3 GPIO0 11 GPIO9 4 GPIO2 12 GPIO10 5 GPIO14 6 GPIO12 7 GPIO13 실제 사용하는 매핑표는 이렇다. ESP-01 Pinouts ESP-12 Pinouts REST는 RESET과 같음 Pin0~pin10까지는 무시하자. servo 관련 게시물에서 잘못 퍼왔다. REST TXD  ADC RXD CH_PD GPIO4 - 2 GPIO16 - 0[*] GPIO5 - 1 GPIO14 - 5 GPIO0 - 3 GPIO12 - 6 GPIO1 - 10 GPIO13 - 7 GPIO15 - 8 VCC GND 실제 핀 배열은 이렇다.  GPIO16은 R/W전용이다. 즉, 인터럽트/pwm/i2c/ow 다 안된다는 소리. ESP-01과 ESP-12는 핀수가 다른데 공통으로 CH_PD를 VCC로 연결하고 ESP-12는 추가로 GPIO15번 핀을 GND에 연결한다. 한가지 알아두어야 할 것은 ESP시리즈는 Flash 모드와 일반모드 두가지가 있는데 실제로 업로드를 할때엔 Flash모드로 해놓아야된다. GPIO0 핀을 GND로 연결하고 RESET 해준다. RESET은 RESET/REST핀을 GND에 연결했다가 끊으면 된다. 스위치가 있으면 ...

Arduino+Bluetooth 연결 후 터미널에서 테스트하기

Arduino를 보고 있다. Bluetooth 모듈하고 연결은 tx,rx를 서로 교차연결하고 전원만 받아주면 만사 오케이더라. 이렇게 해서 이렇게 하긴 했는데 테스트 하기 위해선 nc 같은 터미널로 하면 쓸 수 없을까 싶었는데 그냥 screen 명령을 쓰면 되더라. Bluetooth Pairing 후 $ ls /dev/tty.* /dev/tty.Bluetooth-Incoming-Port /dev/tty.HC-06-DevB /dev/tty.Bluetooth-Modem 해보니 테스트 용으로 쓰고 있는 HC-06-DevB가 보이더라. $ screen /dev/tty.HC-06-DevB  으로 접근하면 시리얼 터미널로 돌입한다. 에코가 있으면 에코를 쏠테고 아니면 그냥 받아준다. 뒤에 전송속도를 써서 $ screen /dev/tty.HC-06-DevB 9600 이렇게 접근도 가능하다. 커맨드를 치고 enter를 치면 텍스트를 전달한다. 테스트를 마치고 나갈땐 ctrl+a, ctrl+\ 를 입력하면  Really quit and kill all your windows [y/n] 하고 물어본다. y를 눌러서 나가면 된다.