콘텐츠로 바로가기

now0930 일지

이런저런 생각

  • 홈
  • 비공개
  • 강좌
  • 잔여 작업 조회
  • 위치

Lego MindStorm EV3 제어기

조종기 다음으로 Lego 마인드스톰으로 모터 제어기를 만들었다.

기본개념이 아래 그림에 표시되어 있다.

조종기의 역할

  • 서버.
  • 휴대폰 기울기를 확인하여, 공을 기울기 방향으로 이동.
  • 공이 화면 구석으로 이동하면, 기울기가 공 위치를 변경하지 않음
  • 공 위치를 135도 회전 후, 수평 이동시켜
    “Left;…, Right:…” 형식으로 소켓으로 전송

Lego Mindstorm의 역할
(전에 만들었던 부분을 재활용 하여, 지저분함.)

  • 클라이언트.
  • 링 버퍼를 만든 후, Left, Right 이동 위치를 버퍼에 저장.
  • Thread가 Socket으로 안드로이드 폰에 connect, receive, close.
  • 이 과정을 반복
  • 수신 데이터(“Left:….,Right:….”)에서
    “Left:”, “,Right:”의 위치를 찾음.
  • 숫자를 추출, trim 후 integer로 변경.
  • 변경된 integer만큼, Left, Right 모터를 이동.

EV3를 lejos 베타 버전을 사용해서인지, socket의 utf-8로 데이터가 전송되지 않았다. ascii로 변경, 전송하여 시간 좀 걸렸다.

중요한 사실이

  • 내가 생각한 만큼 잘 움직이지 않는다.
    차량 바퀴를 4개로 만들다 보니, Left 모터를 -방향, Right 모터를 +방향으로 돌리면, 확 돌아야 되는데, 지 몸체에 걸려 안돈다!!!
    또한 제품이 무거워서인지, 바퀴가 헛도는 경우가 많다.
  • 실행 순서에 따라, NullPointException이 너무 많다.
    try, throw로 도배를 해야 할 듯한데, 시간이 또 한없이 갈 듯하다.
  • 안드로이드 폰의 좌표 설정 문제.
    화면의 공이 디스플레이 중앙에 있는데, EV3이 후진한다.
    보정을 해야 하는데, 귀찮다.
  • 안드로이드 폰 화면이 꺼지면, 동작이 멈춰야 하는데 그렇지 않다. 링 버퍼에서 다 사용하면, 0으로 이동이 맞아 보이는데..계속 움직인다.

더 중요한 사실이,

  • 애가 별로 재미없어 한다!!
    차가 빨랑 빨랑 움직여야 하는데, 지정 위치로 가다 보니, 너무 느리다. 파워로 수정하려니 귀찮고.

누가 소켓을 잘 정리하여 인터넷에 올렸다.
여기와 여기.
DataInputStream을 그냥 사용했는데, 별 목적이 없으면 사용하지 않는게 맞아 보인다.
DataInputStream으로 안드로이드 폰과 EV3이 통신이 되지 않는다.
누가 이미 작성한 코드를 쓰다 보니, socket을 어떻게 쓰는지 정리되지 않아는데, 위 사이트가 정리하는데 도움을 줬다.

이 글 공유하기:

  • Tweet
발행일 2017-09-06글쓴이 이대원
카테고리 LEGO 태그 EV3, LEGO, 레고

댓글 남기기응답 취소

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

글 내비게이션

이전 글

원격 조종기 만들기

다음 글

gtx 1060 6gb+tensorflow gpu 버전 세팅 후기

2025 5월
일 월 화 수 목 금 토
 123
45678910
11121314151617
18192021222324
25262728293031
4월    

최신 글

  • common mode, differential mode 2025-05-11
  • signal conditioner, 신호 처리기 2025-05-10
  • strain gage 2025-05-09
  • 칼만 필터 2025-05-01
  • positioner(I/P) 2025-04-26

카테고리

  • 산업계측제어기술사
  • 삶 자국
    • 책과 영화
    • 투자
  • 생활코딩
    • LEGO
    • ROS
    • tensorflow
  • 전기기사
  • 피아노 악보

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org

페이지

  • 소개
  • 잔여 작업 조회
    • 작업 추가
    • 작업의 사진 조회
    • 작업 수정 페이지
  • 사진
    • GPS 입력된 사진
    • 사진 조회
  • 위치
    • 하기 휴가 방문지
    • 해외 출장

태그

android bash c docker driver FSM gps java kernel LEGO linux mysql network program opcua open62541 plc programmers python raspberry reinforcementLearning ros state space system program tensorflow transfer function 경제 미국 민수 삼국지 세계사 실기 에너지 역사 유전자 일본 임베디드 리눅스 전기기사 조선 중국 채윤 코딩 테스트 통계 한국사 한국어

팔로우하세요

  • Facebook
now0930 일지
WordPress로 제작.
 

댓글 로드중...