[답변] 캔위성 아두이노 송수신 문의 > Q&A

본문 바로가기

사이트 내 전체검색


커뮤니티
누구나 참여할 수 있는 캔위성 체험·경연대회 홈페이지 입니다.



Q&A

Home   >  커뮤니티  >  Q&A

[답변] 캔위성 아두이노 송수신 문의

페이지 정보

profile_image
작성자 name
댓글 0건 조회 1,454회 작성일 17-07-21 19:19

본문

1. 캔위성 ==> 아두이노 데이터 전송
 캔위성에서 아두이노로 신호를 보내는 방법으로는 
 1.1 간단한 방법으로는 디지털 신호를 보내는 방법입니다. 
      ( 예로 D0 에 ON/OFF 명령 등 ).
 1.2 조금 더 확장해서 쓴다면, 여러 디지털 신호를 조합해서 사용하는 방법입니다.
      예를 들어서 , D0 ~ D7 까지를 데이터로 사용하고  D8을 신호 전송용으로 사용한다면,
      아두이노에서 D8 신호가 0 에서 1 로 변할때 D0 ~ D7 신호를 획득하여,
      이 값을 이용하여 아두이노가 다른 처리를 할 수 있을 겁니다.
      추가적으로 D9 을 이용하여 서보 0번 값인지 서보 1번 값인지 등을 구분하는 것도 방법이 될 수 있습니다.
1.3 Serial Port 를 이용하는 방법
      예를 들어 TX(Camera) 핀을 아두이노의 RX 핀에 연결하여 통신하는 방법입니다.
     이때는 카메라와 아두이노 보드 양쪽이 Tx(Camera) 핀을 통하여 데이터를 수신하기 때문에,
     카메라 모듈이 처리하지 않는 프로토콜로 데이터를 전송하는 것이 필요합니다.
    ( 예를 들어 마치 아두이노쪽에서 메시지 데이터를 보내는 것처럼,
                           캔위성에서 메시지를 아두이노와 카메라로 보내고,
                            아두이노에서 그 메시지를 인식해 보세요. )

2. 아두이노 ==> 캔위성 데이터 전송
 여러 방식의 프로토콜을 써도 되는데
 캔위성에서 MSG_OPERATION 을 사용하는 방법을 쓰기 때문이지요.
 만일 아두이노에서 그냥 데이터만을 연속적으로 보내고 있다면,
 캔위성 또는 지상국에서 어떤 데이터 인지를 알기가 어렵기 때문에,
 76 00 A0 가 오면 메시지이니까, 이것을 지상국에 보내면 알 수 있으니,
이러한 방법을 쓰고 있는 것입니다.
( 이 부분은 from Arduino-MSG 프로토콜 부분 참고하시면 되겠네요. )
( 이 부분은 to 지상국 - 메시지 프로토콜 부분 참고하시면 되겠네요. )
( A0 는 MSG_TYPE 이고 다음에 MSG_LEN 부분이 있어요. )
 
3. 아두이노, 서보모터
 캔위성의 전원에서 현재 5V DC-DC 변환기의 용량이 500mA 로 크지 않기 때문에, 서보모터 여러개 돌리는 것이 안 될 수 있을 겁니다.
 모터를 여러개 사용한다면, 충분한 전원이 공급될 수 있도록 모터 구동용 배터리를 추가 하는 게 좋을 것 같습니다.
 추가적으로 안정적인 서보모터를 구동하는 것은 전용으로 컨트롤러(아두이노 등) 을 사용하시는 게 좋을 겁니다.
 캔위성에서는 여러가지 일들을 하느라고, PWM 제어 신호가 정확하지 않을 수도 있습니다.

> > > 안녕하세요, 슬기부 태연한 다람쥐 팀입니다. > 캔위성과 아두이노의 송수신에 대해서 궁금한 점이 있어 질문 드립니다. > > > 1. 아두이노에서 캔위성으로부터 데이터 받기 > 캔위성에서 아두이노로 데이터를 전송하려면 어떤 방식으로 전송해야 하나요? 아두이노의 RX핀과 연결한 캔위성 포트(예시로 D1)로 데이터를 write하면 되나요? 그러러면 그 핀에 어떤 오브젝트를 attach(D1)한 다음에 그 오브젝트에 전송하고 싶은 값을 바이트 당 전송하면 되는 건가요? 만약 그렇다면 무슨 오브젝트를 선언해야하는지 모르겠습니다. > > 2. 아두이노에서 캔위성으로 데이터 전송하기 > 이 부분은 책자에 설명이 나온 것 같은데 왜 데이터를 송신하면서 76 00 A0을 붙이는 지 질문 드리고 싶습니다. 여기서 A0은 여덣 개의 센서 중 하나를 의미하는 것인가요? 그냥 단순하게 아두이노에서 선언한 변수를 보내고 싶다면 이 변수를 unsigned char 배열로 해서 하나씩 Serial.write()로 보내면 되는 건가요? > > 3. 아두이노와 서보모터 > 아두이노 쉴드를 쓰지 않은 채로 여러 개의 서보모터를 구동하고 이와 동시에 아두이노를 캔위성과 연결하고 싶습니다. 서보모터 2개의 파워는 캔위성에서 받고 시그널만 아두이노의 디지털 핀에 꽂으면 되죠? 그리고 아두이노 자체의 파워는 캔위성 4층 케이블을 통해서 받고요. 이렇게 해도 문제가 없나요? > > > 감사합니다! >

댓글목록

등록된 댓글이 없습니다.


캔위성체험경연대회 주소 : 34141 대전광역시 유성구 대학로 291 KAIST 인공위성연구소
E-mail : cansat@kaist.ac.kr
COPYRIGHT SATREC CANSAT COMPETITION 2023. ALL RIGHTS RESERVED.