DC모터 두개를 이용한 자율 주행차 비슷한것을 인터넷 강의를 들으며 만들기 시작했다.

그런데 주어진 모터 드라이브가 내가 갖고 있는 TB6612FNG와 달라서 이점을 고려하면서 작업을 진행하였다.

그런데 Warning 이나 Error없이 진행되던 소스에 갑자기 RuntimeWarning: This channel already in use 이런 문구들이 나타나기 시작했다. GPIO 핀을 다른 곳에 꽂아도 마찬가지로 나타나는 Warning들...   에러는 아니지만 깔끔한 소스를 원하는 것이 기본아닌가...

인터넷을 검색해보니 답은 간단하다 cleanup()을 해주란다. 집에 있는 부품들과 라즈베리파이 소스에 GPIO 핀에 대한 선언후 바로 GPIO.cleanup()을 실행시키고 이후 진행시키는 것을 시도해 보았는데 첫번째 소스는 해결된 듯 했으나 두번째 소스에서 해결되지 않았다. 근본적인 하드웨어 연결부분과 코딩을 재검토 해보는 것이 좋겠다.

Timport RPi.GPIO as GPIO
# do stuff …

# … left blank for the reader to fill in …
# … then perform a clean exit:

try :

except :

finally :
   GPIO.cleanup()

그리고 TB6612FNG 모터 드라이브에 연결된 모터들이 반응을 하지 않으니 별도의 모터용 전원을 넣어주는 것도 고려해야 할 것 같다. 이후 내용은 직접 테스트해보고 다시 수정하여 정리하고자 한다.

Posted by 천칭
,