아두이노 rs232 예제

Arduino의 직렬 포트를 통해 수신된 정보가 포함된 파일을 만들려고 합니다. 예를 들어 디지털 및 아날로그 핀의 값을 정기적으로 로그 파일에 저장하려고 합니다. 시리얼은 맛있는 아침 식사 음식처럼 들릴 지 모르지만 실제로는 매우 다릅니다. 직렬이라는 단어는 “하나씩”을 의미합니다. 예를 들어, 연쇄 살인범은 한 번의 살인으로 멈추지 않고 많은 사람들을 차례로 찌른다. 직렬 데이터 전송은 데이터를 한 번에 한 비트씩, 한 비트씩 전송하는 경우입니다. 아두 이노 팀은 미래의 아두 이노 다운로드와 뉴 소프트 시리얼을 제공 할 계획이다. Arduino 버전의 릴리스 노트를 확인하여 이 소프트웨어가 이미 포함되어 있는지 확인하십시오. 소프트웨어 직렬 포트를 빌드하려면 Pin 1과 0이 Arduino의 기본 제공 포트에서 제어하는 것과 거의 동일한 방식으로 포트의 송신 및 수신 회선 역할을 하는 핀 쌍을 선택합니다.

그림 4-5에서는 핀 3과 2가 표시되지만 사용 가능한 모든 디지털 핀을 사용할 수 있습니다. 이미 기본 제공 포트에서 구동되고 있으므로 0과 1을 사용하지 않는 것이 좋습니다. 이를 통해 Arduino, RS-232 쉴드, USB 케이블 및 계측기만 사용할 수 있습니다. 이러한 설정에서는 코드의 출력을 테스트하기 위해 직렬 모니터를 사용할 수 있어야 합니다. 이 정보가 없으면 블라인드 작업중이며 코드가 적절한 출력을 생성한다고 가정해야 합니다(그렇지 않을 수 있음). 톰 이고에 (확인)에 의해 이야기 만들기. 이 책은 처리 및 Arduino를 다루며 통신 코드의 많은 예를 제공합니다. 단방향 직렬 장치(즉, 보내고 받는 장치만 사용하는 경우) 필요하지 않은 줄에 대해 NewSoftSerial 생성자에서 존재하지 않는 핀 번호를 지정하여 리소스를 보존할 수 있습니다. 예를 들어 직렬 LCD는 기본적으로 출력 전용 장치입니다. 데이터를 수신할 것으로 예상하거나 원하지 않는 경우 이 구문을 사용하여 NewSoftSerial에 알릴 수 있습니다. 우리는 온도 값이 레지스터 (30011)에 저장되고 함수 readHoldingRegisters로 액세스 할 수 있음을 레지스터 맵에서 볼 수 있으며, 16 비트 형식 (2 바이트)로 저장됩니다.

따라서 온도 값을 얻는 데 필요한 함수가 다음 코드 예제에 나와 있습니다. 모든 Arduino 마이크로 컨트롤러에는 하나 이상의 기본 제공 직렬 포트가 포함되어 있습니다. 이 특별한 하드웨어는 파트너 장치가 데이터로 보는 일련의 정밀한 시간 펄스를 생성하고 그 대가로 수신하는 유사한 스트림을 해석하는 역할을 합니다. 메가에는 4 개의 포트가 있지만 대부분의 아두 이노 맛은 하나만 있습니다. 둘 이상의 직렬 장치에 대한 연결이 필요한 프로젝트의 경우 추가 포트를 에뮬레이트하는 소프트웨어 라이브러리가 필요합니다. “소프트웨어 직렬” 라이브러리는 임의의 디지털 I/O 핀 쌍을 새 직렬 포트로 효과적으로 변환합니다. 1장에서는 Arduino 직렬 포트를 컴퓨터에 연결하여 스케치를 업로드하는 방법을 설명했습니다. 업로드 프로세스는 컴퓨터에서 Arduino로 데이터를 보내고 Arduino는 상태 메시지를 컴퓨터로 다시 전송하여 전송이 작동하는지 확인합니다. 이 레시피는 이 통신 링크를 사용하여 Arduino와 컴퓨터 또는 다른 직렬 장치 간의 정보를 보내고 받는 방법을 보여 줍니다.