코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
아두이노 코드들을 합치는데 문제가 있습니다
KMS | 2019-06-04
|
|
---|---|
안녕하세요 아두이노를 공부하는 학생입니다 제가 이번에 미세먼지 센서와 스테핑 모터, 수위센서를 이용하는데 각각의 코드들을 합치는데 어려움이 있습니다. 자세히 설명해주시면 감사드립니다!!!
#include <SoftwareSerial.h>
#include <Stepper.h>
SoftwareSerial Serial1(2,3);
///////////////////수위센서 시리얼 필요없을거같은데 어떻게 할까요?//////////////////
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
long pmcf10=0;
long pmcf25=0;
long pmcf100=0;
long pmat10=0;
long pmat25=0;
long pmat100=0;
int analogPin = 0;
int val = 0;
//////int stepMotorOn = 0;////////////
char buf[50];
void setup()
{
myStepper.setSpeed(60);
Serial.begin(9600);
Serial1.begin(9600);
}
void loop()
{
int count = 0;
unsigned char c;
unsigned char high;
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
while (Serial1.available())
{
c = Serial1.read();
if((count==0 && c!=0x42) ||
(count==1 && c!=0x4d))
{
Serial.println("check failed");
break;
}
}
if(count > 23){
Serial.println("complete");
}
else if(count == 4 || count == 6
|| count == 8 || count == 10
|| count == 12 || count == 14 )
{
high = c;
}
else if(count == 5)
{
pmcf10 = 256*high + c;
Serial.print("CF=1, PM1.0=");
Serial.print(pmcf10);
Serial.println(" ug/m3");
}
else if(count == 7)
{
pmcf25 = 256*high + c;
Serial.print("CF=1, PM2.5=");
Serial.print(pmcf25);
Serial.println(" ug/m3");
}
else if(count == 9)
{
pmcf100 = 256*high + c;
Serial.print("CF=1, PM10=");
Serial.print(pmcf100);
Serial.println(" ug/m3");
}
else if(count == 11)
{
pmat10 = 256*high + c;
Serial.print("atmosphere, PM1.0=");
Serial.print(pmat10);
Serial.println(" ug/m3");
}
else if(count == 13)
{
pmat25 = 256*high + c;
Serial.print("atmosphere, PM2.5=");
Serial.print(pmat25);
Serial.println(" ug/m3");
}
val = analogRead(analogPin); // analogPin 의 변화값(전류값)을 읽음
if (val > 500) // val 값이 100이 넘으면 (전류가 100이 넘으면)
{
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
}
else // val 값이 100이하면 (전류가 100이하면)
{
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
Serial.println(val); // 시리얼모니터에 전류값 표시
delay (500);
}
오류 메시지는 이렇게 뜨네요ㅜㅜ 왜 이런 오류가 뜨는지 알려주시면 감사드립니다!!!!!!
DHT11:4: error: conflicting declaration 'SoftwareSerial Serial1'
SoftwareSerial Serial1(2,3);
^
In file included from C:\Users\IT\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266/Arduino.h:263:0,
from sketch\DHT11.ino.cpp:1:
C:\Users\IT\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266/HardwareSerial.h:201:23: error: 'Serial1' has a previous declaration as 'HardwareSerial Serial1'
extern HardwareSerial Serial1;
^
exit status 1
conflicting declaration 'SoftwareSerial Serial1'
잘못된 라이브러리가 C:\Program Files (x86)\Arduino\libraries\examples에서 발견: C:\Program Files (x86)\Arduino\libraries\examples
|
|
이전글 | 아두이노 관련 질문 | 2019-06-04 |
다음글 | 서보모터 및 LCD출력에 관한 질문입니다. | 2019-06-05 |