BASIC4MCU | 질문게시판 | 블루투스 속도 조절
페이지 정보
작성자 Winavr 작성일2019-05-12 22:14 조회5,356회 댓글0건본문
#include <SoftwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 2 // 습도센서 Signal 선 연결
#define DHTTYPE DHT22 // 습도센서 종류: DHT22
DHT dht(DHTPIN,DHTTYPE);
LiquidCrystal_I2C lcd(0x3F,16,2); // LCD주소: 0x27 또는 0x3F
//
int analog = analogRead(A1);
int relay1 = 10; // relay에 10번핀 설정
int relay2 = 9;
int motorPin = 6;
int R = 3;
float hum,temp;
SoftwareSerial bluetooth(8, 9);
int fan = 0;
//
void setup(){
Serial.begin(9600);
bluetooth.begin(9600);
dht.begin();
lcd.init(); lcd.backlight(); lcd.clear();
pinMode (relay1, OUTPUT); // relay를 output으로 설정
pinMode (relay2, OUTPUT);
pinMode(motorPin, OUTPUT);
pinMode(R, OUTPUT);
Serial.begin(9600);
while (! Serial);
Serial.println("Speed 0 to 255");
}
//
void loop(){
int analog = analogRead(A1);
int speed = Serial.parseInt();
if (Serial.available())
{
if (speed >= 0 && speed <= 255)
{
analogWrite(motorPin, speed);
}
}
delay(2000);
hum=dht.readHumidity();
temp=dht.readTemperature();
Serial.print("HUMIDITY: "); Serial.print(hum,0); Serial.print("%,");
Serial.print("SOIL: "); Serial.print(analog );
Serial.print("TEMPERATURE: "); Serial.print(temp,0); Serial.println(" C");
lcd.setCursor(0,0); lcd.print("TEM:"); lcd.print(temp,0);
lcd.print("C SOIL:"); lcd.print(analog);
lcd.setCursor(0,1); lcd.print("HUM:"); lcd.print(hum,0);
lcd.print("% FAN:"); lcd.print(fan);
if(temp>27){
digitalWrite (relay1, HIGH);
digitalWrite (relay2, LOW);//relay OFF
}
else if(temp<26){
digitalWrite (relay1, LOW);
digitalWrite (relay2, HIGH);// relay ON
}
else{
digitalWrite (relay2, LOW);
digitalWrite (relay1, LOW);}
if(analog>350){
digitalWrite (R, LOW);//relay OFF
}
else if(analog<350){
digitalWrite (R, HIGH);// relay ON
}
char val = bluetooth.read();
if (bluetooth.available())
{
Serial.write(bluetooth.read());
}
if(val == 'a')
{
fan = 2;
analogWrite(6,0);
}
if(val == 'b')
{
fan=1;
analogWrite(6, 130);
}
if(val == 'c')
{
fan=0;
analogWrite(6,255);
}
}
이렇게 코드를 구상하였습니다그런데 어플을 누르면 팬의 속도가 작동하지 않습니다.따로 팬을 이용했을때는 정상적으로 동작하는 것을 확인하여서코드들을 결합하였습니다. 그런데 동작하지 않는 이유가 무엇인지 잘 모르겠습니다.
댓글 0
조회수 5,356등록된 댓글이 없습니다.