Raspberry Pi 기반 벽 회피 로봇 – FabLab NerveCentre
참고:이 지침은 완전하지 않지만 도움이 될 수 있습니다.
Derry's NerveCentre의 우수한 사람들이 코드를 학교에 가지고 갈 수 있도록 게시됨
다시 이 일을 하고 싶지만 현재 직장 때문에 당분간 그럴 수 없습니다.
이 instructable은 여기에서 찾을 수 있는 다른 벽 회피 로봇의 대안입니다.
http://www.instructables.com/id/Arduino-wall-avoid…
동일한 결과를 얻을 수 있도록 대체 플랫폼과 코딩을 제공하려는 의도입니다.
이 프로젝트에서 우리는 Raspberry Pi와 친숙한 L293D 듀얼 h-bridge 칩을 사용합니다. 초음파 센서는 널리 사용되는 HC-SR04입니다.
코딩은 Python으로 이루어지므로 코딩을 많이 해보지 않은 사람도 해석하기가 훨씬 쉽습니다.
프로젝트를 즐기시고 필요한 개선이 이루어질 수 있도록 피드백을 보내주십시오.
1단계:필요한 것
A Raspberry Pi – 저는 B+를 사용했지만 모든 RPi는 각 모터를 구동하는 데 사용되는 핀 번호를 약간 수정하면 작동합니다.
모터 드라이버 - 저는 여기에서 L293D PCB 키트를 사용했습니다:http://www.rkeducation.co.uk/L293D-Project-PCB.php… 대안에 대한 질문이 있으므로 나중에 정보가 충분하기를 바랍니다.
2 X 직각 기어 DC 모터 및 휠 – 모든 DC 모터를 사용할 수 있습니다.
HC-SR04 초음파 센서 – RPi 및 Arduino 프로젝트에 매우 널리 사용되며 사용 가능합니다.
9V 배터리와 배터리 스냅 - 모터를 구동하기 위한 것입니다.
5V 배터리 - Anker 배터리를 사용하여 RPi를 실행했습니다.
배선 – 암-암 및 암-수 와이어 선택.
저항기 - 전압 분배기를 만드는 데 2개만 있으면 됩니다. 나는 100Ohm과 220Ohm 페어링을 사용했습니다. 전압 분배기 생성에 대한 자세한 내용은 아래를 참조하세요. 궁극적으로 하나의 저항이 다른 저항의 두 배에 가까워야 하지만
작은 브레드보드 – 절연 테이프 등을 대신 사용하면 이것 없이도 할 수 있습니다.
2단계:Pi를 사용하여 초음파 센서에서 판독값을 가져오는 방법을 살펴보겠습니다.
여기에서 사용할 수 있는 ModMyPi.com의 자습서를 통해 이 작업을 수행하는 방법을 배웠습니다.
https://www.modmypi.com/blog/hc-sr04-ultrasonic-ra…
전압 분배기를 적용하는 방법을 보여주는 회로도가 첨부되어 있습니다.
간단히 말해서, 이것은 센서의 ECHO 핀에서 신호의 전압을 다시 낮추는 데 사용됩니다. 5V는 핀을 떠나 저항을 통과하여 전압 강하를 생성합니다. 이 시점에서 하나의 분기가 저항을 통해 GND로 이동하여 두 배의 전압을 빼앗고 다른 분기는 이러한 저항 중 하나를 통과하므로 전압이 3.3V로 감소합니다.
Pi는 이 신호를 3.3V로 줄여야 합니다. 그렇지 않으면 US 센서가 작동하지만 가짜 판독값을 반환합니다. 따라서 전압 분배기가 필요합니다.
이것을 브레드보드해야 하는 경우 첨부된 링크를 참조할 수 있습니다. 나는 (나중에) 능력이 있다면 작은 전압 분배기를 생산하기 위한 몇 가지 제조 파일을 첨부했습니다.
초음파 센서를 테스트하려면 첨부된 코드를 사용할 수 있습니다(Github에서 사용 가능한 내 이미지에서 작동하지 않는 경우). 이렇게 하려면 파일을 다운로드하고 RPi의 LXTerminal에서 파일을 다운로드한 폴더로 이동합니다. 그런 다음 "sudo python FILENAME.py"를 입력합니다.
3단계:이제 모터를 구동하는 방법을 살펴보겠습니다.
이제 모터를 연결할 수 있습니다.
모든 것은 이미지에 따라 연결할 수 있습니다. 각 색상이 연결되는 위치를 쉽게 볼 수 있도록 색상을 반복하지 않는 것이 매우 유용합니다.
첨부된 코드(모터 움직임을 보여줌)에서 RPi를 모터 드라이버에 연결하는 3개의 핀에 대해 명명 표준을 사용했음을 알 수 있습니다. 예:
Motor1A =36 – IP1 또는 IP2를 연결할 핀을 나타냅니다.
Motor1B =38 – IP1 또는 IP2를 연결할 핀을 나타냅니다.
Motor1E =40 – EN1을 연결할 핀을 나타냅니다.
"Motor2*" 시리즈도 마찬가지입니다.
Motor1A =33 – IP3 또는 IP4를 연결할 핀을 나타냅니다.
Motor1B =35 – IP3 또는 IP4를 연결할 핀을 나타냅니다.
Motor1E =37 – EN2를 연결할 핀을 나타냅니다.
이것들이 연결되면 각 모터 단자도 위로 연결해야 합니다. 한 모터를 MA에 연결하고 다른 모터를 MB에 연결합니다. 모터의 양쪽으로 가는 와이어는 손상되지 않으므로 매우 임의적입니다.
다시, 첨부된 파일을 다운로드하고 이전 지침에 따라 파이썬 코드를 실행할 수 있습니다.
4단계:모두 함께 실행하기
이 시점에서 아마도 첨부된 그림과 같은 배선이 엉망일 것입니다!
섀시를 만드는 것 외에 모든 것이 함께 작동하도록 할 준비가 되었습니다.
0.5초마다 초음파 센서를 사용하여 거리를 측정하는 파이썬 스크립트(이전 지침에 따라 다시 실행됨)가 첨부되어 있습니다. 이 측정값이 10cm 아래로 떨어지면 바퀴 중 하나가 뒤집힙니다. 섀시에 모두 함께 장착되면 로봇이 주변을 돌아다니며 근처에 있는 것을 감지하면 회전합니다.
자세한 내용:Raspberry Pi 기반 벽 회피 로봇 – FabLab NerveCentre