BASIC4MCU | 질문게시판 | 아두이노 압력센서
페이지 정보
작성자 ellen 작성일2020-10-10 18:22 조회4,191회 댓글1건본문
안녕하세요 아두이노 압력센서 값 출력하는 게 뭔가 이상해서 질문드립니다.
사진과 같이 압력을 주지 않았을 때는 값이 적게 나와야 하는게 정상인 것 같은데,,
왜 254까지 나왔다가 다시 두자리 수로 돌아가는 건가요,,??
압력을 주었을 때는 175 언저리로 나왔다가 다시 떼면 몇 초 즈음 후에
다시 숫자가 적어집니다. 그러다가 또 다시 앞에 말했던 것처럼 보폭이 왔다 갔다 해서
어디가 잘못된 건가요??ㅠㅠ
전체 코드 첨부할게요
#include<SoftwareSerial.h>
SoftwareSerial BTSerial(2,3);
SoftwareSerial btSerial(2,3);
//int btn = 13;
int SensorPin = A2;
int buzzPin = 12;
void setup() {
pinMode(8, OUTPUT); // ENABLE
digitalWrite(8, HIGH);
Serial.begin(9600);
BTSerial.begin(9600);
pinMode(buzzPin, OUTPUT);
// pinMode(btn, INPUT);
}
void loop() {
if(BTSerial.available())
{
Serial.write(BTSerial.read());
}
if(Serial.available())
{
BTSerial.write(Serial.read());
}
/*
char data;
int value;
value = digitalRead(btn);
if(value == 1)
{
data = '1';
}
else
{
data = '0';
}
*/
int SensorReading = analogRead(SensorPin);
int mfsr_r18 = map(SensorReading, 0, 1024, 0, 255);
Serial.println(mfsr_r18);
delay(1000);
int val; // 수신된 센서값 (0 or 1)
if(mfsr_r18 > 100)
{
BTSerial.write(mfsr_r18); // 송신
}
val = btSerial.read();
// Serial.println(val);
if(val == 1)
{
digitalWrite(buzzPin, HIGH);
}
else
{
digitalWrite(buzzPin, LOW);
}
}
댓글 1
조회수 4,191master님의 댓글
master 작성일
회로 구성을 알 수 없으므로 정확한 것은 모르겠고
10k 또는 100k 풀다운 저항을 추가해보세요