정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 컴파일러는 이상이없어서 프로테우스로 돌려 볼려고 했는데 시뮬이 안되네요ㅠㅠ
아두이노 | 2018-09-30

#include <SoftwareSerial.h>
#include<Servo.h>

Servo myservo;//서보를 제어할 서보 오브젝트를 만듭니다.
SoftwareSerial btSerial(2,3); //RX,TX

int pos=0; //서보 위치를 저장할 변수를 선업합니다.
int TEMP=A5,FLEX=A4;//센서들의 포트변수를 선언합니다.
#define LED 13

void setup() {
  myservo.attach(10);//핀10의 서보를 서보 오브젝트에 연결합니다.
  pinMode(LED, OUTPUT);
  btSerial.begin(9600);
  Serial.begin(9600);

}

void loop() {
  int reading1=analogRead(TEMP);//온도센서로 부터 자료값을 받음
  float voltage=reading1*5.0/1024.0;//온도센서 볼트값
  float celsiustemp=(voltage-0.5)*100;//섭씨값
  float fahrenheittemp=celsiustemp*9.0/5.0+32.0;//화씨값
  int flexVal=analogRead(FLEX);//플렉스센서로 부터 자료값을 받음


    if(fahrenheittemp>=50){                //온도센서
        digitalWrite(11, HIGH);
        btSerial.println(f);
        }
   else{
        digitalWrite(11, LOW);
        btSerial.println(g);
        }
       
   
    if(flexVal>=200){                   //플렉스 센서
      digitalWrite(11, HIGH);
      Serial.println(h);
      }

    else{
      digitalWrite(11, LOW);
      Serial.println(i);
      }

 
 
 
  if(btSerial.available()){ 
     
      char e = btSerial.read();//LED
        
    switch(e){
      case 'a'://어플 ON버튼,LED가 켜지고 포트가나온다.
        digitalWrite(LED, HIGH);
       
        for(pos=0;pos<180;pos+=1)//0도에서 180도로 이동합니다.
        {
          myservo.write(pos);    //pos변수의 위치로 서보를 이동시킵니다.
          delay(15);
          }
        break;
       
      case 'b'://어플 OFF버튼,LED가 꺼지고 포트가 들어간다.
        digitalWrite(LED, LOW);

          for(pos=180;pos>=1;pos-=1)//180도에서 0도로 이동합니다.
        {
          myservo.write(pos);    //pos변수의 위치로 서보를 이동시킵니다.
          delay(15);
          }
        break; 


      case 'c':
          digitalWrite(11,HIGH);
          break;

      case 'd':
          digitalWrite(11,LOW);
          break;
      }

     
 }

}

이전글   |    esp8266 WiFi 모듈 사용해도 되나요? 2018-09-27
다음글   |    아두이노로 온도센서 기울기센서 부저 led 제어 오류... ... 2018-09-30