질문게시판 > 아두이노 소스 합치기

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

아두이노 소스 합치기

페이지 정보

작성자 열심히하자 작성일19-02-10 23:08 조회81회 댓글0건

본문

여기서 아두이노 도움을 받으면서 서로 다르게 소스들을 연구해서 합치고 실행하면서 진행을 하고 있습니다.

근데 서로다르게 하다보니 서로의 소스를 하나로 합치는 노력을 해봤지만, 할때마다 제 작동이 되지 않고 있습니다.

그래서 전문가의 도움을 받아 대략적으로나마 실행이 가능한 소스코드를 보고 싶습니다.

소스코드를 비교하고 난 뒤, 저희들이 잘못된 부분을 다시 돌아보고 싶습니다.

---------------------------------------------------------------------------------------------------------

소스 1.

 

#include <SoftwareSerial.h>

#include <DHT.h>

 

int T = 2, R = 3;

int temp_sensor = 4;

 

int sensor = 6;

 

int measurePin = A0;

int ledPower = 5;

 

int samplingTime = 280;

int deltaTime = 40;

int sleepTime = 9680;

 

int vibration_sensor=7;

int vibration_data;

 

int sensorPin = A1;

 

const int red = 10;

const int green = 9;

const int blue = 8;

 

char color;

 

float voMeasured = 0;

float calcVoltage = 0;

float dustDensity = 0;

 

SoftwareSerial my_blue(T, R);

DHT my_sensor(temp_sensor, DHT11);

 

void setup(){

  

  Serial.begin(9600);

  my_blue.begin(9600);

  pinMode(ledPower,OUTPUT);

  pinMode(vibration_sensor,INPUT);

  pinMode(sensor, INPUT);

  pinMode(red, OUTPUT);

  pinMode(green, OUTPUT);

  pinMode(blue, OUTPUT);

  my_sensor.begin(); 

}

 

void loop(){

  {

  vibration_data=digitalRead(vibration_sensor);

  Serial.print("vib : ");

  Serial.println(vibration_data);

  delay(250);}

  {

  int a = map(getdust(),8,133,10,100);

  char b[4] = "";

  

  sprintf(b,"%03d",a);

  Serial.print("dust: ");

  Serial.println(b);

  delay(250);}

  {  

  int readingSensor = analogRead(sensorPin);  

  

  Serial.print("rain: ");

  Serial.println(readingSensor);

  Serial.println();

  delay(250); }

  

  {

  int temp = my_sensor.readTemperature(); 

  int humi = my_sensor.readHumidity(); 

  

  my_blue.print("temp : ");

  my_blue.print(temp);

  my_blue.print(" / humi : ");

  my_blue.println(humi); 

  delay(250); }

  

  {

  while(Serial.available() ){

    color = Serial.read();}

  if(color == 'r'){

  redFunction();

  }

  if(color == 'b'){

  blueFunction();

  }

  if(color == 'g'){

  greenFunction();

  }

  if(color == 'y'){

  yellowFunction();

  }

  if(color == 'v'){

  violetFunction();

  }

  if(color == 'w'){

  whiteFunction();

  }

  if(color == 'c'){

  cyanFunction();}

  }

  

}

 

//

int getdust(){

  digitalWrite(ledPower,LOW);

  delayMicroseconds(samplingTime);

  voMeasured = analogRead(measurePin);

  delayMicroseconds(deltaTime);

  digitalWrite(ledPower,HIGH);

  delayMicroseconds(sleepTime);

  calcVoltage = voMeasured * (3.3 / 1024);

  dustDensity = 100 * calcVoltage - 0.1;

  return(dustDensity);

}

void redFunction(){

  digitalWrite(blue,LOW);

  digitalWrite(green,LOW);

  digitalWrite(red,HIGH);

}

void blueFunction(){

  digitalWrite(blue,HIGH);

  digitalWrite(green,LOW);

  digitalWrite(red,LOW);

}

void greenFunction(){

  digitalWrite(blue,LOW);

  digitalWrite(green,HIGH);

  digitalWrite(red,LOW);

}

void yellowFunction(){

  digitalWrite(blue,0);

  digitalWrite(green,50);

  digitalWrite(red,255);

}

void violetFunction(){

  digitalWrite(blue,255);

  digitalWrite(green,0);

  digitalWrite(red,255);

}

void whiteFunction(){

  digitalWrite(blue,110);

  digitalWrite(green,220);

  digitalWrite(red,255);

}

void cyanFunction(){

  digitalWrite(blue,255);

  digitalWrite(green,255);

  digitalWrite(red,0);

}

----------------------------------------

소스 2

 

#include <Servo.h>

int flame=0;

int buzzer=13;

//

int vibration_sensor=7;

int vibration_data;

//

int motor=5; // 서보 모터의 핀 번호

Servo servo;

//

int angle=0;

//

void setup(){

  Serial.begin(9600);    // 시리얼 통신,속도는 9600

  //

  pinMode(13,OUTPUT); // LED, 부저 출력담당

  pinMode(3,INPUT); // 인체감지센서 입력담당

  //

  pinMode(buzzer, OUTPUT);

  //

  pinMode(vibration_sensor,INPUT);//아두이노의 6번핀을 입력으로 설정합니다.

  //

  servo.attach(motor);   // 모터 시작

  pinMode(motor,OUTPUT); // 모터 출력

  servo.write(angle);

}    

//

void loop(){

  vibration_data=digitalRead(vibration_sensor);//vivration_data값에 현재 진동센서의 값을 입력합니다.

  Serial.println(vibration_data);//센서값을 출력하여 줍니다

  //

  int value = digitalRead(3);

  Serial.println(value);

  if(value == HIGH) digitalWrite(2,HIGH); // 인체 감지되면 2번에 전류를 흘려라

  else {

    digitalWrite(2,LOW); // 인체감지가 안되면 전류를 끊어라

    delay(1000);

  }

  //

  int Val=analogRead(A2); // 사운드센서 소음 측정

  if(Val>40){

    Serial.println(Val);

    delay(100);

  }

  //

  int sensor=analogRead(A0); // 조도센서의 데이터 받아오기

  if(sensor>1000){// 주위가 어둡다면

    while(angle<180){ servo.write(++angle); delay(10); } // 서보 모터의 각도를 180도로  

  }

  else{// 주위가 밝다면

    while(angle>0){ servo.write(--angle); delay(10); } // 서보 모터의 각도를 180도로

  }

  //

  flame = analogRead(A1);

  Serial.print("Flame=");

  Serial.println(flame); // 시리얼통신 화면에 변수에 저장된 값을 출력

  delay(100);

  if (flame>0){

    Serial.println(" Flame is around you ");

    tone(buzzer, 1000, 50);

    delay(50);

    tone(buzzer, 200, 50);

    delay(50);

  }

  else{

    noTone(buzzer);

    delay(100);

  }

}

-------------------------------------------------------

디지털이든 아날로그든 겹치는 부분은 바꿔주셔도 됩니다.

단지 합쳐지는 모습을 보고 저희가 합친 코드랑 비교해보고 싶습니다.

부탁드리겠습니다.

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 0

조회수 : 81

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[6] master  17-10-29
공지 [무료 공개] 소스코드 하이라이트 v2.0 beta [… 댓글[1] 첨부파일master  18-01-23
질문 아두이노 모터드라이버 L293B를 이용한 제어 질문 드… 닷모드 새글 19-04-19
질문 아트메가128 pwm신호 반송주기 질문있어요 댓글[3] 썰지 새글 19-04-19
질문 원하는 문자열 잘라쓰는 방법 댓글[1] 알라알 새글 19-04-19
질문 입력신호 처리가 궁금해요 스캉이 새글 19-04-19
답변 답변 : 입력신호 처리가 궁금해요 댓글[5] master 새글 19-04-19
답변 답변 : 입력신호 처리가 궁금해요 master 새글 19-04-19
질문 RS-485를 이용한 PC에서 여러개의 LCD제어 첨부파일알라알 새글 19-04-18
답변 답변 : RS-485를 이용한 PC에서 여러개의 LCD… master 새글 19-04-19
질문 아두이노 모터 정역제어 맛나는바나나 새글 19-04-18
답변 답변 : 아두이노 모터 정역제어 master 새글 19-04-19
질문 RS485 시리얼통신 코딩 제발 부탁합니다ㅠㅠ 댓글[2] 알라알 새글 19-04-18
질문 processing 질문 입니다 . 댓글[1] 배울께요 새글 19-04-18
질문 Atmega328p 인터럽트 질문 댓글[1] 롯데캐슬아파트  19-04-17
질문 아두이노 코딩 제발 부탁드려요 ㅠㅠ! 댓글[1] 훈야  19-04-17
질문 아두이노 초보.... 답 좀 알려주세요 댓글[1] 아두이노쓰  19-04-17
질문 atmega128 twi통신 통신상태 점검 소스 질문 댓글[1] wiopf1  19-04-17
질문 소리 인식을 하여 led가 켜졌을 시 자동으로 10초 … 달성폴리텍  19-04-17
답변 답변 : 소리 인식을 하여 led가 켜졌을 시 자동으로… master  19-04-17
질문 아두이노 먼지센서 대해서.. 첨부파일마늘짱아찌  19-04-17
답변 답변 : 아두이노 먼지센서 대해서.. master  19-04-17
질문 스위치 입력으로 출력제어 댓글[2] 스캉이  19-04-17
질문 LCD 표시 댓글[1] 배울께요  19-04-17
질문 가변저항을 돌려서 3개의 FND 응용 질문 댓글[2] 배울께요  19-04-16
질문 빛 센서를 이용해서 어두워 지면 하트 모양이 나오게 표… 배울께요  19-04-16
질문 서브 모터 돌아가는 각도를 LCD에 표시하는 연습하고 … 배울께요  19-04-16
질문 아두이노 먼지센서쪽에서 오류값에러...! 첨부파일마늘짱아찌  19-04-16
답변 답변 : 아두이노 먼지센서쪽에서 오류값에러...! 댓글[1] master  19-04-16
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전