macOS 에서 리산테크 AVR FLASHER 10 사용하기

![img_1](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_UQMMViB7Of1FnJHfsB5xeHz97bHSsjJk1JtteJCBYDswq109E_WFqRIsOuYLcGFQ2UXLdkERQHWFspN9JUUzCywiamd4JVcXVp3fPrjd0kMElJ2wlAC6fZlICVxuw6JV3bSRDRQBpITNEQgEWaCBStmQwkSV9yVxjOcZUX_XTVnxlxohNqYlUvRKls/s4000/KakaoTalk_Photo_2025-01-04-00-14-17.jpeg) AVR 프로그래밍에 주로 사용하는 리산테크의 AVR FLASHER 10 제품이다. 총 10개의 서로다른 펌웨어를 저장하여 PC 없이도 타겟 장치의 전원으로 펌웨어 다운로드가 가능하다. 펌웨어 다운로드가 고속으로 이루어지기 때문에 아주 편하다. 최근 윈도우 데스크탑 보다 맥북으로 작업을 하는 상황이 많아지면서 이 장비를 사용하는데에 소프트웨어 지원이 윈도우만 되기때문에 불편함을 격고 있었다. 이것때문에 윈도우 노트북을 장만하는건 말이 안되는거 같고 그렇다고 매번 데스크탑을 켜는것도 불편하고 고민만 하고 있었다. 예전에는 부트캠프를 사용해 윈도우 용 프로그램을 쉽게 사용할수 있었지만 맥북이 애플실리콘을 사용하면서 이런점은 살짝 불편해 졌다고 볼수도있다. 호환성이 많이 좋아졌다고 하지만 예전에 Whisky로 시도했다가 실패한 경험이 있었기 때문에 큰 기대는 하지 않으려고했다. 아직 가상화는 시도해보지 않았는데 UTM 은 좀 쓰기가 불편했고 Parallels 는 과금방식이 전부터 마음에 들지 않았다. 사실 개인 사용 목적으로는 VMWare가 무료이기 때문에 다른 선택지가 없다. ![img_2](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl6Piz058YvIQ1Wv-lqH-lgM7cpMD1KP4Qps0jIAQ2KPVy8mK51ecO-iCA4eH3teAte-Kk...

[Raspberry Pi] - rc카 만들기 #7 카메라 틸트 만들기 (Camera Tilt)





#7 카메라 틸트



카메라를 사용하는 방법을 알았으니 이제 로봇에 마운트를 시켜야 한다.
물론 그냥 달아 주기만 해도 멋지지만 서보 모터를 장착한 카메라 틸트를 이용하면 로봇이 큰 이동없이 제자리에서 주변을 둘러 볼 수 있다. 
문제는 시중의 틸트들은 대부분 가격이 만만치가 않다. 
거기다 마음에드는 구조일수록 고가였다. 까짓거 만들자는 생각이 들었다.

틸트 프레임은 포맥스를 이용해 제작하였다.
포맥스는 칼로 자를 수 있을 만큼 재단이 쉽고 내구성도 좋다.
또 생상도 다양해 선택의 폭이 넓다. 
틸트는 파츠별로 제작하여 조립식으로 만들었다.





틸트는 1mm 포맥스 2장을 겹쳐서 만들었고, Pi Cam 구입시 딸려오는 마운터를 마운트 할 수 있도록 만들었다. 토션 스프링은 기타줄을 잘라 만들었다.




안쪽의 서보모터는 록타이트로 붙여진 것이 아니라 추후에 틸트가 업그레이드 될 수도 있기때문에 끼워서 고정되는 방식으로 제작하였다. (록타이트는 제질에 따라 부품이 손상될수도 있다.)




하단의 서보모터는 스크류 나사로 고정되어있다.
서보 컨트롤러 선을 각각의 핀에 할당  해주고 Dual Shock 4로 컨트롤 할 수 있도록 조건문을 작성해 준다. 입력 펄스값은 본인이 어떤 각도를 기준으로 삼았냐에 따라 다르다.

다음 코드는 카메라 틸트 부분만을 캡쳐한 것으로 L2, R2가 0보다 작거나 같으면 펄스값을 0으로 만들어 틸트가 컨트롤러(Dual Shock 4)의 입력으로 움직이지 않도록  해준다. 이는 Dual Shock 4의 오른쪽 Axis를 로봇의 앞 바퀴의 방향전환을 담당하는 서보와 함께 이용하기 때문이다. 주변 환경의 관찰이 필요할 시에 L2, R2을 당겨서 카메라의 방향을 오른쪽 Axis로 조종 할 수 있도록 한다. 

참고로 L2, R2의 값은 1부터 -1까지의 값이며 완전히 눌렸을 때의 값이 1이다.
따라서 L2, R2위의 두 키가 정해진 값이상으로 눌리지 않으면 각각의 서보모터는 작동하지 않는다.

혹은 L2, R2가 눌리지 않았을 때의 idle값으로 가장 최근에 입력받은 펄스값을 입력해주어도 된다. 일단 펄스값이 주어지면 반복문 내에서 약속된 횟수만큼 Raspberry Pi에서 계속 신호를 보내기 때문에 서보모터가 외부 힘에 의해 움직이지 않는다. (서보모터가 낼수있는 토크보다 강한 힘을 가하면 고장남) 반면에 펄스값에 0을 주게 되면 손으로도 쉽게 서보모터를 움직일수 있다.






다음 영상 내 소음은 쿨링 팬 소음이다.
스트리밍도 하고 로봇 제어도 하다보면 60도가 넘어가면서 데몬이 꺼지기도한다.
힘들어서 스스로 꺼버리는거 같다. 팬을 통해 38도 수준으로 다운시킬 수 있었다.







Thx.

Comments

  1. 안녕하세요 컴공4학년 학생입니다.
    서보 모터를 이용해서 파이카메라의 각도를 제어하고
    실시간 스트리밍해서 앱으로 보여주고 싶은데
    지금 하신 프로젝트의 소스코드를 보면 도움이 많이 될거같은데
    제공해 주 실수있을까요..??

    ReplyDelete
    Replies
    1. 대학시절 취미로 만들어본거라 도움은 아마 안될겁니다.

      그래도 보고 싶으시다면 이 곳 에 제가 진행하던 프로젝트의 "극히일부"소스가 있습니다.
      아쉽지만 저때 사정이 좀 있어서 완성본은 없습니다. (프로젝트 업데이트가 2017년도에 끊긴 이유입니다.)

      그리고 이 소스코드는 거의 맨 처음에 작성한 포로토타입 소스코드고 중요한 스트리밍 부분이 누락되었기 때문에 큰 도움은 되지 않을거 같구요.

      하지만 블로그에 있는 소스코드로도 무선 스트리밍에 컨르롤러 조종까지 충분히 구현 가능합니다.
      솔직히 제 깃허브 보다는 블로그 업데이트 기록에있는 소스코드를 보시는 쪽이 더 도움이 되실겁니다.

      Delete

Post a Comment

좋은하루되세요. ^^

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[Arduino] - HC-06를 이용해 PC 와 Arduino 블루투스 연결

[Python] - 블루투스 모듈 HC-06의 MAC 주소를 이용하여 통신 포트 찾기