코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
아두이노 시리얼 통신에 문제가 있습니다
군기시 | 2019-03-08
|
|
---|---|
1. 프로젝트 사용한 보드 종류 아두이노 UNO
2. 사용한 개발 프로그램명 아두이노 IDE
3. 사용한 센서 모델명 hm-10, esp8266
4. 연결한 회로 설명 (또는 이미지)
5. 소스코드 (주석 필수)
#include <SoftwareSerial.h> #define DEBUG true SoftwareSerial hm10(4,5); //Tx, Rx SoftwareSerial esp8266(2,3); // make RX Arduino line is pin 2, make TX Arduino line is pin 3. // This means that you need to connect the TX line from the esp to the Arduino's pin 2 // and the RX line from the esp to the Arduino's pin 3
int ledGreen = 13; int ledYellow = 12; int ledPink = 11;
byte buffer[1024]; int bufferPosition;
void setup() { Serial.begin(9600);
esp8266.begin(9600); // your esp's baud rate might be different hm10.begin(9600);
pinMode(ledPink,OUTPUT); digitalWrite(ledPink,LOW);
pinMode(ledYellow,OUTPUT); digitalWrite(ledYellow,LOW);
pinMode(ledGreen,OUTPUT); digitalWrite(ledGreen,LOW);
sendData("AT+RST\r\n",2000,DEBUG); // reset module sendData("AT+CWMODE=1\r\n",1000,DEBUG); // configure as access point sendData("AT+CIFSR\r\n",1000,DEBUG); // get ip address sendData("AT+CIPMUX=1\r\n",1000,DEBUG); // configure for multiple connections sendData("AT+CIPSERVER=1,80\r\n",1000,DEBUG); // turn on server on port 80 esp8266.end();
bufferPosition = 0;
}
아두이노 우노, hm-10, esp8266 을 사용하여 블루투스와 와이파이로 LED를 제어하려는데요.
개별적으론 잘 동작했는데 합쳐보니 블루투스만 작동하더군요.
그래서 이것저것 해 보니 굵은 글씨 처리한 시리얼 통신 시작하는 .begin.(9600) 부분이 문제인 것 같습니다.
저 두개를 위치를 바꾸면 어느 한 쪽만 동작합니다.
그래서 좀 더 알아보니 시리얼 통신은 한 번에 하나씩만 통신해서 두 개 동시에 통신하는건 안되는것 같네요.
다시말해 esp8266.begin.(9600)을 hm10.begin.(9600)밑에다 쓰면 esp8266.begin.(9600)코드만 작동해서
와이파이 부분만 정상작동하고 반대로 하면 블루투스 부분만 정상 작동 합니다.
어떻게 하면 블루투스와 와이파이 두 개와 동시에 통신 할 수 있나요????
시리얼 통신으로 가능한가요?? 아니면 다른 통신 방법으로 시도해야하면 어떻게 해야 하나요??
|
|
이전글 | 아두이노 주파수 검출 코드인데 이해가 안됩니다 좀 알려주시기 바랍니다... | 2019-03-06 |
다음글 | ble advertising mode 질문 있습니다ㅜㅜ 도와주세요ㅜㅜ ... | 2019-03-08 |