Protopie Connect

8

분 소요

ProtoPie Connect 입문 4: Arduino 2부 - 나만의 스케치 코드 작성하기

ProtoPie Connect의 Arduino 플러그인을 사용해 Arduino 프로젝트에 직접 액세스하는 방법을 알아보세요.

Jeff Clarke, UX Designer & ProtoPie Educator

소개

이전 레슨에서, 저는 Blokdots를 사용해 ProtoPie에서 Arduino 프로젝트를 얼마나 빠르고 쉽게 연결할 수 있는지 보여드렸습니다. 하지만 몇 가지 문제를 겪었습니다. 버튼 동작이 반대로 감지되어 — 버튼을 누르지 않았을 때 Blokdots는 1을, 눌렀을 때는 0을 보고했고 — 그리고 인코더를 너무 빨리 돌리면 “바운스,”라고 알려진 문제가 발생했는데, 이때 인코더가 위로 카운트해야 할 때 아래로 카운트하거나, 아래로 카운트해야 할 때 위로 카운트하기도 했습니다.

첫 번째 문제는 인코더의 접지(GND)와 전압(+) 핀 연결을 반대로 하여 우회할 수 있었고, 두 번째 문제는 인코더 노브를 너무 빨리 돌리지 않도록 주의하는 방식으로 해결했습니다. 이 두 문제(그리고 그 밖의 많은 문제들)는 직접 Arduino 코드를 작성하면 제대로 처리할 수 있습니다.

하지만… 코드는 무서워요!!

걱정하지 마세요! 코드를 직접 작성할 필요는 없습니다 — 이미 작성해 둔 "스케치"라는 Arduino 스크립트를 사용하게 될 거예요. 그냥 복사해서 붙여넣기만 하면 됩니다. 이 레슨은 코드를 작성하는 법을 배우는 내용이 아닙니다. 이 레슨에서 집중할 부분은 Arduino를 ProtoPie Connect와 함께 작동시키는 데 필요한 것만 아는 것입니다.

하지만 모험을 해보고 싶고 직접 스케치 작성에 도전해 보고 싶다면, 시작하는 데 도움이 되는 Arduino 코드 작성 예제가 온라인에 많이 있다는 것을 알아두세요. 사실 제가 작성한 스케치도 제가 배운 내용(음… 베낀 내용…)을 바탕으로 한 것이 많습니다. 이 글에서 말이죠.

배울 내용

이 튜토리얼에서는 다음 내용을 다룹니다:

  • ProtoPie Connect와 함께 사용할 때 주의해야 할 구체적인 코드 세부 사항

  • 코드를 검증하고 Arduino 보드에 업로드하기

  • ProtoPie Connect에서 Arduino 플러그인을 구성하고 활성화하기

소요 시간: ≤15분

준비물

  • 이 코드를 Arduino 소프트웨어 창에 붙여넣으세요.


Paste instructions for Sketch code
  • Pie 파일을 ProtoPie Connect로 가져와 브라우저에서 미리 보세요.

[기후 제어 Pie]

해봅시다!

모든 준비가 끝나면 아래 비디오를 따라 해보세요.

영상

참고

영상에서 ProtoPie Connect와 함께 사용할 Arduino 스케치를 작성할 때 기억해야 할 두 가지 중요한 점을 짚어드렸습니다. 참고용으로 아래에 이 두 가지 세부 사항을 남겨둘게요:

baud rate를 올바르게 설정하기

Connect의 Arduino 플러그인에서 선택한 baud rate(즉, 시리얼 연결이 업데이트를 확인하는 빈도)는 코드에서 지정한 값과 일치해야 합니다.


The baud rate you select in the plugin needs to match what you specified in your code.

ProtoPie Connect로 메시지 보내기

ProtoPie Connect는 시리얼 연결에 작성된 메시지를 찾기 때문에, 코드에서 Serial.print()Serial.println()을 사용해 Connect로 메시지를 보냅니다.

값이 없는 메시지의 경우, 다음처럼 시리얼 연결로 메시지를 출력하면 됩니다:

  • Serial.println(<message name>), 예: Serial.println("TEMP_UP");

값이 있는 메시지의 경우, 메시지 이름과 값을 두 개의 파이프(|) 문자로 구분해야 합니다.

  • 예:
    Serial.println("SET_TEMP||21");

ProtoPie Connect는 이 패턴을 인식하고 값 21이 포함된 메시지 SET_TEMP를 받습니다.

메시지의 값으로 변수를 사용하는 경우, Arduino 코드에서는 메시지를 한 줄로 만들 수 없습니다. 예를 들어, 다음은 작동하지 않습니다:

  • Serial.println("SET_TEMP||" + temp);

이 경우 코드를 두 줄로 작성해야 하며, 첫 번째 부분에는 Serial.print()를, 두 번째 부분에는 Serial.println()를 사용해야 합니다.

  • 예: ``Serial.print("SET_TEMP||"); Serial.println(temp);

Serial.print는 시리얼 연결의 현재 줄에 지정한 내용을 추가하는 반면, Serial.println은 시리얼 연결에 내용을 쓰고 끝에 Return 문자를 추가하여 줄의 끝, 또는 ProtoPie Connect의 관점에서 전송된 메시지의 끝을 의미합니다.

ProtoPie Connect는 메시지에 반응하기 전에 Return 문자가 시리얼 연결로 출력될 때까지 기다립니다. 이런 방식으로 최종 Serial.println() 명령을 실행하기 전에 여러 개의 Serial.print() 명령을 사용해 메시지를 여러 부분으로 프로그래밍적으로 구성할 수 있으며, 이를 통해 ProtoPie Connect에 완료된 메시지를 알려줄 수 있습니다.

  • 예:
    Serial.print(message); Serial.print(”||”); Serial.println(value);

이것으로 끝입니다! ProtoPie Connect 소개 5/7: Logic G29와의 상호작용에서는 진정한 멀티스크린 대시보드 경험을 만드는 방법을 보여드릴게요.