BASIC4MCU | 질문게시판 | 답변 : 블루투스로 값을 받았는대 led가 켜지지 않습니다..
페이지 정보
작성자 master 작성일2022-11-27 14:32 조회2,215회 댓글1건본문
//-----------------------------Master 코드
#include <SoftwareSerial.h>
SoftwareSerial HC06(2,3); // RX,TX 포트 4번
//
void setup(){
Serial.begin(9600); // PC - 아두이노 연결라인
HC06.begin(9600); // 아두이노 - 블루투스 연결라인
}
//
void loop(){
//if(HC06.available()){ Serial.write(HC06.read()); }
//if(Serial.available()){ /HC06.write(Serial.read()); }
//HC06.print("NOCKANDA!");
//delay(1000);
int Value=analogRead(A0);
float volt=Value*5.0/1024.0;
float temp=volt*100-50;
String tempS=String(temp);
Serial.println(tempS);
int t=temp;
HC06.print(t);
delay(1000);
}
//
//
//-----------------------------slave 코드
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
//
#include <SoftwareSerial.h>
SoftwareSerial HC06(2,3); // RX,TX
//
#include <Servo.h>
Servo servoLeft;
Servo servoRight;
//
int led=5;
//
void setup(){
pinMode(led,OUTPUT);
lcd.begin(); lcd.backlight();
servoLeft.attach(13);
servoRight.attach(12);
Serial.begin(9600); //PC-아두이노간
HC06.begin(9600); //아두이노-블루투스모듈
}
//
void loop(){
if(HC06.available()){
int temp=HC06.read();
Serial.println(temp);
if(temp>=27){
digitalWrite(led,HIGH);
tone(4,5000,1000);
lcd.setCursor(0,0); lcd.print(temp); lcd.print(" ");
//lcd.setCursor(0,1); lcd.print(text + "C");
}
else{ digitalWrite(led,LOW); servoLeft.detach(); servoRight.detach(); }
}
}
//
void forward(int time){ // Forward function
servoLeft.writeMicroseconds(1700); // Left wheel counterclockwise
servoRight.writeMicroseconds(1300); // Right wheel clockwise
delay(time);
}
//
void turnLeft(int time){ // Left turn function
servoLeft.writeMicroseconds(1300); // Left wheel clockwise
servoRight.writeMicroseconds(1300); // Right wheel clockwise
delay(time);
}
//
void turnRight(int time){ // Right turn function
servoLeft.writeMicroseconds(1700); // Left wheel counterclockwise
servoRight.writeMicroseconds(1700); // Right wheel counterclockwise
delay(time);
}
//
void backward(int time){ // Backward function
servoLeft.writeMicroseconds(1300); // Left wheel clockwise
servoRight.writeMicroseconds(1700); // Right wheel counterclockwise
delay(time);
}
댓글 1
조회수 2,215ENEN님의 댓글
ENEN 작성일
답변해 주셔서 감사합니다!
복사해서 해봤는데 시리얼 모니터랑 lcd에 출력되는 값이 계속 50에서 53만 뜨고요 부저도 갑자기 소리가 이상해지고 빨라졌습니다!
무엇이 문제일까요?