BASIC4MCU | 질문게시판 | 아두이노 소스 코드 길이가 너무 길어져서 질문이 있습니다.
페이지 정보
작성자 냉냉냥성냥 작성일2018-12-02 20:10 조회10,458회 댓글0건본문
블루투스로 집안 설계도를 받은 다음에 집안의 상황이 변하면 변한 상황을 출력하는 소스코드 입니다만, 소스코드가 너무 길어져서 뭔가 줄일 방법이 없나 물어봅니다. 설계도는 그냥 대충 -하고 |를 이용해서 만들었습니다. 여기서 만약 room1의 문이 열리면 블루투스로 기기에 room1이 열린 설계도가 출력 하게 만들었고 room1이 열린 상태에서 room2가 열린다면 room1과 room2가 열린 설계도를 출력하게 만들었습니다. 방문은 스위치를 누르면 열고 닫게 했구요.. 자동 형광등은 제대로 작동하는걸 봤으니 무시하셔도 됩니다. 아 밑에 빈 조건문은 만들다 만거니 상관하지 말아주세요.
#include<LED.h>
#include"Temperature.h"
#include "Humidity.h"
#include <UltraSonic.h>
#include"Switch.h"
#include "RgbLcd.h"RgbLcd lcd;
LED myled;
Humidity humidity;
#define TEMP_ADDR 72
#define HUMI_ADC 55
UltraSonic dUltra;
Temperature temper;
Switch pushSwitch;
void blueprint(){
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t| veranda |\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| room 1 | | room 2 |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("--------------------------- --------------\r\n");
Serial3.print("| | |\r\n");
Serial3.print("| t | living room |\r\n");
Serial3.print("| o | -------------|\r\n");
Serial3.print("| i | | |\r\n");
Serial3.print("| l | | |\r\n");
Serial3.print("| e | | room 3 |\r\n");
Serial3.print("| t | | |\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("|----------------------------------------- ---------------------|\r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| door | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t|------------| | | \r\n");
Serial3.print("\t |------------| | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | kitchen | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t |------------------------| \r\n");
Serial3.print("hudi: ");
Serial3.print(humidity.read());
Serial3.println("%");
Serial3.print("temp: ");
Serial3.print(temper.getTemperatureC());
Serial3.print("º");
Serial3.print(" C");
Serial3.print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
}void blueprint_door_open(){
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t| veranda |\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| room 1 | | room 2 |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("--------------------------- --------------\r\n");
Serial3.print("| | |\r\n");
Serial3.print("| t | living room |\r\n");
Serial3.print("| o | -------------|\r\n");
Serial3.print("| i | | |\r\n");
Serial3.print("| l | | |\r\n");
Serial3.print("| e | | room 3 |\r\n");
Serial3.print("| t | | |\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("|----------------------------------------- ---------------------|\r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| door | | | \r\n");
Serial3.print("\t| (light On) | | | \r\n");
Serial3.print("\t|------------| | | \r\n");
Serial3.print("\t |------------| | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | kitchen | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t |------------------------| \r\n");
Serial3.print("hudi: ");
Serial3.print(humidity.read());
Serial3.println("%");
Serial3.print("temp: ");
Serial3.print(temper.getTemperatureC());
Serial3.print("℃");
Serial3.print("\n\nlight On\n\n\n\n\n\n\n\n\n\n\n\r\n");
}
void blueprint_door_close(){
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t| veranda |\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| room 1 | | room 2 |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("--------------------------- --------------\r\n");
Serial3.print("| | |\r\n");
Serial3.print("| t | living room |\r\n");
Serial3.print("| o | -------------|\r\n");
Serial3.print("| i | | |\r\n");
Serial3.print("| l | | |\r\n");
Serial3.print("| e | | room 3 |\r\n");
Serial3.print("| t | | |\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("|----------------------------------------- ---------------------|\r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| door | | | \r\n");
Serial3.print("\t| (light Off)| | | \r\n");
Serial3.print("\t|------------| | | \r\n");
Serial3.print("\t |------------| | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | kitchen | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t |------------------------| \r\n");
Serial3.print("hudi: ");
Serial3.print(humidity.read());
Serial3.println("%");
Serial3.print("temp: ");
Serial3.print(temper.getTemperatureC());
Serial3.print("℃");
Serial3.print("\n\nlight Off\n\n\n\n\n\n\n\n\n\n\n\r\n");
}void blueprint_room1_open(){
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t| veranda |\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| room 1 | | room 2 |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("----------| ------------ --------------\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("| t | | living room |\r\n");
Serial3.print("| o | -------------|\r\n");
Serial3.print("| i | | |\r\n");
Serial3.print("| l | | |\r\n");
Serial3.print("| e | | room 3 |\r\n");
Serial3.print("| t | | |\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("|----------------------------------------- ---------------------|\r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| door | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t|------------| | | \r\n");
Serial3.print("\t |------------| | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | kitchen | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t |------------------------| \r\n");
Serial3.print("hudi: ");
Serial3.print(humidity.read());
Serial3.println("%");
Serial3.print("temp: ");
Serial3.print(temper.getTemperatureC());
Serial3.print("℃");
Serial3.print("\n\nlight Off\n\n\n\n\n\n\n\n\n\n\n\r\n");
}void blueprint_all_open(){
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t| veranda |\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| room 1 | | room 2 |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("----------| ------------ ------- |---\r\n");
Serial3.print("| | | | |\r\n");
Serial3.print("| t | living room | |\r\n");
Serial3.print("| o ------ ------| ---|\r\n");
Serial3.print("| i | |\r\n");
Serial3.print("| l | |\r\n");
Serial3.print("| e | | room 3 |\r\n");
Serial3.print("| t | | |\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("|----------------------------------------- ---------------------|\r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| door | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t|------------| | | \r\n");
Serial3.print("\t |------------| | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | kitchen | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t |------------------------| \r\n");
Serial3.print("hudi: ");
Serial3.print(humidity.read());
Serial3.println("%");
Serial3.print("temp: ");
Serial3.print(temper.getTemperatureC());
Serial3.print("℃");
Serial3.print("\n\nlight Off\n\n\n\n\n\n\n\n\n\n\n\r\n");
}void blueprint_room1and2_open(){
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t| veranda |\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| room 1 | | room 2 |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("----------| ------------ ------ |----\r\n");
Serial3.print("| | | | |\r\n");
Serial3.print("| t | | living room |\r\n");
Serial3.print("| o | -------------|\r\n");
Serial3.print("| i | | |\r\n");
Serial3.print("| l | | |\r\n");
Serial3.print("| e | | room 3 |\r\n");
Serial3.print("| t | | |\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("|----------------------------------------- ---------------------|\r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| door | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t|------------| | | \r\n");
Serial3.print("\t |------------| | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | kitchen | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t |------------------------| \r\n");
Serial3.print("hudi: ");
Serial3.print(humidity.read());
Serial3.println("%");
Serial3.print("temp: ");
Serial3.print(temper.getTemperatureC());
Serial3.print("℃");
Serial3.print("\n\nlight Off\n\n\n\n\n\n\n\n\n\n\n\r\n");
}void blueprint_room1and2andtoilet_open(){
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t| veranda |\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| room 1 | | room 2 |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("----------| ------------ ------ |----\r\n");
Serial3.print("| | | | |\r\n");
Serial3.print("| t | | living room |\r\n");
Serial3.print("| o ------ -------------|\r\n");
Serial3.print("| i | |\r\n");
Serial3.print("| l | |\r\n");
Serial3.print("| e | | room 3 |\r\n");
Serial3.print("| t | | |\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("|----------------------------------------- ---------------------|\r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| door | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t|------------| | | \r\n");
Serial3.print("\t |------------| | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | kitchen | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t |------------------------| \r\n");
Serial3.print("hudi: ");
Serial3.print(humidity.read());
Serial3.println("%");
Serial3.print("temp: ");
Serial3.print(temper.getTemperatureC());
Serial3.print("℃");
Serial3.print("\n\nlight Off\n\n\n\n\n\n\n\n\n\n\n\r\n");
}void blueprint_room1andtoilet_open(){
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t| veranda |\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| room 1 | | room 2 |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("----------| ------------ --------------\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("| t | | living room |\r\n");
Serial3.print("| o ------- -------------|\r\n");
Serial3.print("| i | |\r\n");
Serial3.print("| l | |\r\n");
Serial3.print("| e | | room 3 |\r\n");
Serial3.print("| t | | |\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("|----------------------------------------- ---------------------|\r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| door | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t|------------| | | \r\n");
Serial3.print("\t |------------| | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | kitchen | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t |------------------------| \r\n");
Serial3.print("hudi: ");
Serial3.print(humidity.read());
Serial3.println("%");
Serial3.print("temp: ");
Serial3.print(temper.getTemperatureC());
Serial3.print("℃");
Serial3.print("\n\nlight Off\n\n\n\n\n\n\n\n\n\n\n\r\n");
}void blueprint_room1androom3_open(){
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t| veranda |\r\n");
Serial3.print("\t| |\r\n");
Serial3.print("\t-------------------------------------------------------------------\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| room 1 | | room 2 |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("\t| | | |\r\n");
Serial3.print("----------| ------------ --------------\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("| t | living room | |\r\n");
Serial3.print("| o | ----- |---|\r\n");
Serial3.print("| i | | |\r\n");
Serial3.print("| l | | |\r\n");
Serial3.print("| e | | room 3 |\r\n");
Serial3.print("| t | | |\r\n");
Serial3.print("| | | |\r\n");
Serial3.print("|----------------------------------------- ---------------------|\r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t| door | | | \r\n");
Serial3.print("\t| | | | \r\n");
Serial3.print("\t|------------| | | \r\n");
Serial3.print("\t |------------| | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | kitchen | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t | | \r\n");
Serial3.print("\t |------------------------| \r\n");
Serial3.print("hudi: ");
Serial3.print(humidity.read());
Serial3.println("%");
Serial3.print("temp: ");
Serial3.print(temper.getTemperatureC());
Serial3.print("℃");
Serial3.print("\n\nlight Off\n\n\n\n\n\n\n\n\n\n\n\r\n");
}void setup()
{
humidity.begin(HUMI_ADC);
temper.begin(TEMP_ADDR);
Serial3.begin(115200);
myled.begin(36);
dUltra.begin(75, 2);
pushSwitch.begin();
lcd.begin(62, 63, 64, 65, 66, 67, 45, 44, 43, 42, 16, 2);
lcd.onBacklightBlue();
blueprint();
}
void loop()
{
int room1=0,room2=0,room3=0,toilet=0;
uint8_t pushKey;
int distance=0;
distance = dUltra.ReadDistanceCentimeter();
delay(100);
if(distance<50)
{
myled.AllOn();
blueprint_door_open();
delay(3000);
myled.AllOff();
blueprint();
}
if(pushKey>0)
{
if(pushKey == 1)
{
if(room1==0){
if(room2==1 && room3==1 && toilet==1)
{
blueprint_all_open();
room1=1;
}
else if(room2==1 && room3==0 && toilet==0)
{
blueprint_room1and2_open();
room1=1;
}
else if(room2==1 && room3==0 && toilet==1)
{
blueprint_room1and2andtoilet_open();
room1=1;
}
else if(room2==0 && room3==1 && toilet==0)
{
blueprint_room1androom3_open();
room1=1;
}
else if(room2==0 && room3==0 && toilet==1)
{
blueprint_room1andtoilet_open();
room1=1;
}
else if(room2==0 && room3==0 && toilet==0)
{
room1=1;
blueprint_room1_open();
}
}
else if(room1==1)
{
if(room2==0 && room3==0)
{
blueprint();
room1=0;
}
}
}
else if(pushKey==2)
{
}
}
}
댓글 0
조회수 10,458등록된 댓글이 없습니다.