제로부터 시작하는 극한의 아두이노 DIY생활 - 시리얼통신5

in PIRCOIN · 해적 코인4 years ago

안녕하세요!! Jimae입니다.

오늘은 저번에 이어서 시리얼통신 심화 버전을 가보겠습니다!!

저번에 컴퓨터에서 아두이노로 시리얼통신을 통해 데이터를 보내는 방법을 말했었죠.

그방법 입니다.

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available())
  {
    char ch = Serial.read();

    Serial.println(ch);
  }
}

자 분석해볼까요? setup 함수 내부에는 시리얼통신 속도를 설정하는것 이기에 넘어가도 될것같습니다.

그렇다면 밑에 loop 함수를 봐야하는대

if(Serial.available()) 이부분이 바로 컴퓨터에서 아두이노로 데이터 들어왔을때

Ture 즉 인식이되어 if문구에 { } 이렇게 괄호 쳐져있는 프로그램이 실행이 된다고 보시면 됩니다.

다시 컴퓨터에서 아두이노로 들어왔을때

char ch = Serial.read();

Serial.println(ch);

이 프로그램이 실행이 된다고 보시면 됩니다.

Serial.read();

특히 Serial.read(); 함수를 통해서 1 Byte의 데이터를 읽어들이는 함수거든요?

그래서 그걸 ch라는 변수로 받아서 결국 print 하는 프로그램입니다.


제로부터 시작하는 극한의 아두이노 DIY생활 - 시리얼통신3

자 여기서 이글의 처음에 나온 프로그램을 사용하여 빨간색부분 창에 우리가 아무 데이터나 써보고 파란색 창에 제대로 그것이 나오는지 확인을 해봅시다.




이 사진들을 보면 입력창에 대문자 "T"를 써서 엔터를 눌렀습니다.

그래서 밑에있는 사진처럼 출력창 마지막에 T가 나왔어요.

현재 프로그램이 한글자씩만 인식이 되게 프로그램이 되어있어서 이건좀 우리가 보기에 귀찮군요.

약간 수정해봅시다.

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available())
  {
    char ch = Serial.read();

    Serial.print(ch);
  }
}

Serial.print(ch); 로 바꿧어요 기존에는 Serial.println(ch); 사용 했는대 이것의 의미는 문자를 뿌리고 다음줄로 Enter 명령어가 들어가는 함수입니다.

Serial.print(ch); 이 함수는 Enter 명령어가 없는 함수에요.

이걸로 다시 실행해 보겠습니다.



이렇게 "test Hello World" 라고 문자열이 들어가는군요.

자 이렇게 컴퓨터에서 아두이노로 시리얼 통신을 통해서!! 데이터를 넣어봤습니다.

다음에는 여기서 더 심화로 들어가 볼까요.??

아직 테크닉 남아있습니다.

오늘은 여기까지 다들 안녕히 주무세요!

제로부터 시작하는 극한의 아두이노 DIY생활 - 시리얼통신1
제로부터 시작하는 극한의 아두이노 DIY생활 - 시리얼통신2
제로부터 시작하는 극한의 아두이노 DIY생활 - 시리얼통신3
제로부터 시작하는 극한의 아두이노 DIY생활 - 시리얼통신4

Posted through the AVLE Dapp (https://avle.io)

Sort:  

Upvoted! Thank you for supporting witness @jswit.

즐거운 날 되세요~~^^

!shop

Hi~ jimae!
@garamee21 has gifted you 1 SHOP!

Currently you have: 21 SHOP

View or Exchange SHOP Please go to steem-engine.net.

Are you bored? Play Rock,Paper,Scissors game with me!

Coin Marketplace

STEEM 0.05
TRX 0.33
JST 0.080
BTC 63386.83
ETH 1683.18
USDT 1.00
SBD 0.41