brunch

You can make anything
by writing

C.S.Lewis

by 메이커k Apr 19. 2018

4/10 LED


사전 지식

serial 통신 

아두이노 led on/off 


저번에는 아두이노에서 발생한 데이터를 안드로이드에서 받아 보았다. 이번에는 스마트폰에서 발생한 데이터를 아두이노에서 받는다. 순서는 안드로이드에서 버튼을 누르면 시리얼통신으로 on,off 상태를 보내고 연결된 아두이노에서 시리얼 통신으로 "on" 상태를 전달받으면 아두이노에 기본 led 인 13번 핀번호 led를 on, off 한다.



아두이노에 내장된 led는 13번 핀을 사용하고 있다. 위치는 사진에 보이는 빨간 테두리 부분이다. 안드로이드 앱에 있는 ON , OFF 버튼을 클릭 시 신호를 발생하고, 이를 아두이노가 받아서 LED를 on off 하는 모습이다. 내장된 LED 말고, LED를 아두이노와 연결 구성하여 ON OFF 하여 사용할 수 도 있고, LED 뿐만 아니라 아두이노에 모터를 비롯한 센서들을 구성하여 다양한 응용이 가능해 보인다. 핵심 코드는 다음과 아래와 같다. 


# 아두이노 코드


#define led 13  // built-in LED

int ByteReceived;

void setup()   

{

  Serial.begin(115200);

  pinMode(LED_BUILTIN, OUTPUT);

}

void loop()   

{

  if (Serial.available() > 0)

  {

    ByteReceived = Serial.read();

    if(ByteReceived == '1')

    {

      digitalWrite(LED_BUILTIN,HIGH);

    }

    if(ByteReceived == '0')

    {

      digitalWrite(LED_BUILTIN,LOW);

    }

    Serial.println();    // End the line

  }

}


# 안드로이드 코드

buttonOn = (Button) findViewById(R.id.button_on);

buttonOn.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

        try {

            byte buffer[] = new byte[] {'1'};

            int numBytesWrite = sPort.write(buffer, 200);

            Log.d(TAG, "Write" + numBytesWrite + " bytes.");

        } catch (IOException x) {

        }

    }

});



매거진의 이전글 3/10 연결
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari