아두이노에서 시리얼 모니터를 이용하면 프로그램(스케치) 실행 중간중간에 변수값 변화나 실행과정을 출력하여 볼수 있습니다. 이를이용하면 디버깅이 좀더 쉬워집니다.

 

스케치는 툴메뉴에서 시리얼 모니터를 통해서 실행하거나우측상단의 시리얼 모니터 버튼을 이용하여 실행할 수 있습니다.

 


시리얼 모니터에 텍스트 출력하기

[예제]

void setup() {
  Serial.begin(9600);

  Serial.write("Hello");
}

void loop() {
    
}

▶ begin() 함수는 시리얼 통신을 열고, 시리얼 통신의 속도를 지정하게됩니다. 예제에서 입력한 9600은 9600bps를 뜻하고, 이는 초당 9600bit를 전송한다는 뜻입니다. 따라서 프로그램에서의 통신속도와 시리얼모니터의 통신속도를 같게 맞춰야합니다.

▶ write()함수는 해당 문자열을 입력하게됩니다.

 

[결과]

시리얼 모니터에 write()함수에서 작성한 Hello가 출력된것을 확인할 수 있습니다. 이때 우측하단의 9600보드레이트를 통해 프로그램과 전송속도를 맞춘것 또한 확인 할 수있습니다.

 

[예제]

void setup() {
  Serial.begin(9600);

  Serial.write(65);
}

void loop() {
    
}

▶write() 함수는 에 숫자를 입력하면 해당 숫자의 아스키 값이 출력됩니다. 예제에서 65에 해당하는 아스키값은 A이므로 65가 아닌 A가 출격되는 것입니다.

 

[결과]

 

[예제]

void setup() {
  Serial.begin(9600);

  Serial.print(65);
}

void loop() {
    
}

▶print() 함수에 숫자를 입력하면 write()함수와는 다르게 그 값을 그냥 출력하게 됩니다. 즉 그 값을 출력하고 싶다면 print문을 사용해야합니다.

 

[결과]

[예제]

void setup() {
  Serial.begin(9600);

  Serial.println("Hi!!");
  Serial.print("OK\n");
  Serial.print("Good^^");
}

void loop() {
    
}

▶println() 함수는 문자열을 출력하고 줄바꿈을 합니다. 즉 해당함수 출력후 다음에 출력되는 내용은 다음 줄에 출력하게 됩니다. 줄바꿈을 하는 다른 방법은 문자열 마지막에 \n을 입력하는 것입니다.

 

[결과]

 


시리얼 모니터에서 입력한 값을 아두이노로 보내기

[예제]

void setup() {
     Serial.begin(9600);
}

void loop() {
     if (Serial.available()) {
          int r = Serial.read();
          Serial.println(r);
     }
}

▶available() 함수는 현재 시리얼 통신에 값이 있는지 없는지 확인하는 함수로 값이있다면 True를 반환합니다.

▶read()함수는 시리얼 모니터에서 입력한 겂을 읽어오게됩니다.

 

 

 

[결과]

입력란에 abc를 입력하고 전송을 클릭하면 아래와 같은 결과가 나옵니다.

만약 println을 사용하지 않고 write()함수를 사용하게 된다면 아스키값인 abc가 그대로 출력해볼수 있습니다. 이때 변수 r의 형은 byte로 변경해 줘야합니다.

 


serialEvent () 함수 사용하기

[예제]

String inputString="";
boolean stringComplete = false;

void setup() {
     Serial.begin(9600);
     inputString.reserve(200);
}

void loop() {
     if (stringComplete) {
          Serial.println(inputString);
          inputString="";
          stringComplete=false;
     }
}

void serialEvent() {
     while(Serial.available()) {
          char inChar=(char)Serial.read(); 
          inputString += inChar;
          if(inChar=='\n') {
                stringComplete = true;
          }
     }
}

▶serialEvent() 를 사용하는 예제입니다. 시리얼에 값이 생성되는 이벤트가 발생되면 serialEvent()함수가 호출됩니다.

 

[결과]

입력란에 abc를 입력하고 전송을 클릭하면 아래와 같은 결과가 나옵니다.

 

 

블루투스 모듈과 아두이노 연결하기

블루투스를 이용하여 아두이노를 원견조정하기

 

 

DC모터는 보통 자동차바퀴나 드론날개를 회전하는데 사용합니다.

 


L9110S 모터 드라이브

DC모터를 제어할때 모터드라이브를 사용하면 보다 쉽게 제어가 가능합니다. 여기서는 L9110S 모터 드라이브를 사용하도록 하겠습니다.

 

L9110S 모터 드라이브


한개의 모터 제어하기

[회로구성]

 

[프로그램(스케치)]

void setup() {
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
}

void loop() {
  // 앞으로 회전
  analogWrite(5,255);
  analogWrite(6,0);
  delay(1000);
    
    
    // 뒤로 회전
  analogWrite(5,0);
  analogWrite(6,255);
  delay(1000);
    
    // 정지
  analogWrite(5,0);
  analogWrite(6,0);
  delay(1000);
}

이 프로그램은 모토를 앞으로 1초동안 회전하고 뒤로 1초동안 회전하후 1초동안 멈추게 됩니다.

[실행결과 동영상]

 

 



구글에서 검색이 잘되게 하려면 구글 서치콘솔에 사이트맵(sitemap)을 등록해야합니다. 사이트맵을 생성하는 방법과 구글서치콘솔에 등록하는 방법에 대해 소개하겠습니다.



 

https://www.xml-sitemaps.com/에서 접속하여 티스토리 URL을 입력하고 START를 클릭합니다.



sitemap.xml을 생성하는데 몇분정도 걸립니다. 합니다.


생성된 sitemap.xml를 다운 받아서 글쓰기에서 파일 업로드합니다. 이때 새로운 에디터를 사용하면 안되고 티스토리 셋팅에서 새로운 글쓰기를 "사용하지 않습니다"로 변경하여 예전 글쓰기 모드에서 글을 써야합니다.


업로드된 파일에서 오른쪽 클릭하여 URL을 알아낸후 구글서치콘솔의 sitemaps메뉴에서 등록하면됩니다.



sitemap.xml









 

구글 서치 콘솔(Google Search Console)에 사이트를 등록하였다면 사이트맵을 제출해야 그 사이트가 구글에서의 검색이 잘 될 수 있습니다. 보통은 https://www.xml-sitemaps.com/와 같은 사이트를 이용하여 사이트맵을 생성한후 해당 사이트에 sitemap.xml파일을 넣고 구글 서치 콘솔에 사이트맵을 제출하게 됩니다. 그런데 쇼피파이(shopify)는 사이트맵(sitemap.xml)을 기본적으로 지원하고 있어 그냥 등록하기만 하면 됩니다.

 


 

사이트맵 찾기

사이트맵파일(sitemap.xml)은 해당 쇼핑몰 도메인의 루트 디렉터리에 있습니다. 예를 들어 도메인명이 shop.com이라면 사이트맵은 shop.com/sitemap.xml입니다. 사이트맵은 자동적으로 생성됩니다. 따라서 제품이 등록되면 자동으로 업데이트됩니다. 그러므로 사용자가 주기적으로 사이트맵을 구글 서치 콘솔에 등록할 필요는 없는 것입니다.

 

구글 서치 콘솔에 제출하기

우선 구글 서치콘솔에 접속하여 좌측 메뉴에서 sitemaps를 클릭합니다.

 

사이트맵 URL입력란에 sitemap.xml을 입력하고 제출을 클릭합니다.

 

제출된 사이트맵 리스트에 사이트맵(sitemap.xml)을 확인할 수 있습니다.

 

구글은 이후 이정보를 이용하여 크롤링하고 색인을 하게 됩니다.

+ Recent posts