제조공정
![]() |
| × | 1 | |||
| × | 4 | ||||
| × | 1 |
![]() |
|
LittleArm 2C는 STEM 수업에서 더 많은 로봇 공학 커리큘럼을 구현할 수 있도록 아이들이 쉽게 사용할 수 있는 키트로 설계되었습니다. 아이들이 사용하기 쉽도록 더욱 견고하고 조립하기 쉽게 제작되었습니다.
모든 부품은 쉽게 3D 인쇄할 수 있으며 팔을 매끄럽고 단순하게 유지하도록 설계되었습니다. 전체 디자인에는 15개 미만의 나사가 있습니다.
팔을 제어하려면 Windows 애플리케이션(원래는 여기에서 Python 코드로 작성됨)을 사용하거나 이를 위해 만든 Android 앱과 함께 Bluetooth를 통해 사용할 수 있습니다.
LittleArm 2C 조립에 대한 전체 지침은 여기에서 찾을 수 있습니다.
3D 프린팅 파일은 여기에서 다운로드할 수 있습니다.
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">
// LittleArm 2C arduino 코드// LittleArm 2C 3D 인쇄 로봇 팔의 직렬 제어 허용 // Created by Slant Concepts#include섹션>//arduino library#include //standard c library#define PI 3.141서보 베이스서보; 서보 숄더서보; 서보 엘보 서보; 서보 그리퍼서보;//++++++++++++++++++전역 변수++++++++++++++++++++++++++++++ +++struct jointAngle{ //구조체는 변수를 그룹으로 구성하는 방법입니다. int base; 인트 숄더; int 엘보;};구조체 jointAngle desiredAngle; //servosint의 원하는 각도 desiredGrip; // 그리퍼의 원하지 않는 위치 gripperPos; //gripperint 명령의 현재 위치; // 관절 각도의 집합int desiredDelay; // 서보가 단계 사이에서 만드는 지연 // int ready =0; // 프로세스가 완료되었음을 알리는 데 사용되는 마커 //+++++++++++++++FUNCTION DECLARATIONS+++++++++++++++++++ ++++++++int servoParallelControl(int thePos, Servo theServo); //서보를 제어하는 함수입니다.//++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++void setup() // 아두이노 보드 작동 준비 완료{ Serial.begin(9600); // USB 통신(Serial Port)을 켜고 초당 9600비트로 통신하게 한다 baseServo.attach(5); // 핀 5의 서보를 서보 객체에 연결합니다. ShoulderServo.attach(4); // 4번 핀의 서보를 서보 객체에 연결합니다.elbowServo.attach(3); // 3번 핀의 서보를 서보 객체에 연결합니다.gripperServo.attach(2); // 핀 2의 서보를 서보 객체에 연결합니다. Serial.setTimeout(50); //컴퓨터와의 대화 시도를 중지하면 50밀리초 후에 응답이 없습니다. arduino가 너무 오랫동안 직렬을 읽지 않도록 합니다. Serial.println("started"); // "시작됨" 컴퓨터로 인쇄 baseServo.write(90); //서보의 초기 위치 ShoulderServo.write(100); ElbowServo.write(110);// 준비 =0;} //기본 arduino 루프. 이것은 모든 기본 프로그램이 배치되어야 하는 곳입니다.void loop() { if (Serial.available()){ // 데이터가 USB 포트를 통해 arduino로 들어오는 경우...// ready =1; // Ready는 명령이 실행 중임을 나타내기 위해 1로 설정됩니다. // 명령은 "#,#,#,#,#,\n" 형식으로 컴퓨터에서 전송됩니다. // 아래 코드는 해당 명령을 "파싱"합니다. // 각각 기본 각도, 어깨 각도, 팔꿈치 각도, 그립 각도 및 서보의 지연에 해당하는 정수로 변환합니다. DesiredAngle.base =Serial.parseInt(); 원하는 각도.숄더 =Serial.parseInt(); DesiredAngle.elbow =Serial.parseInt(); 원하는그립 =Serial.parseInt(); 원하는 지연 =Serial.parseInt(); if(Serial.read() =='\n'){ // 마지막 바이트가 '\n'이면 읽기를 중지하고 명령을 실행합니다. '\n'은 '완료'를 나타냅니다. Serial.flush(); //버퍼에 쌓인 다른 모든 명령을 지웁니다. Serial.print('d'); // "d" 명령의 완료 보내기는 "실행 완료"를 나타냅니다. } } // 이 값은 관절이 아직 위치에 도달했는지 여부의 상태입니다. // 다음과 같이 프로그램의 일부 내부에 선언된 변수 , "로컬 변수"라고 합니다. int status1 =0; // 기본 상태 int status2 =0; // 어깨 상태 int status3 =0; //팔꿈치 상태 int status4 =0; //그리퍼 상태 int done =0; // 이 값은 모든 관절이 해당 위치에 도달했을 때를 알려줍니다. while(done ==0){ // 모든 관절이 해당 위치에 도달할 때까지 루프 &&ready ==1 //서보를 원하는 위치로 이동 //이 블록의 코드는 "함수"를 사용하여 보다 간결하게 만듭니다. status1 =ServoParallelControl(desiredAngle.base, baseServo, desiredDelay); status2 =servoParallelControl(desiredAngle.shoulder, ShoulderServo, desiredDelay); status3 =servoParallelControl(desiredAngle.elbow,elbowServo,desiredDelay); status4 =servoParallelControl(desiredGrip,gripperServo,desiredDelay); // 모든 관절이 제 위치에 도달했는지 확인 if (status1 ==1 &status2 ==1 &status3 ==1 &status4 ==1){ done =1; //완료되면 =1이면 루프가 중지됩니다. } }// while의 끝}//+++++++++++++++++++++++++++++ +기능 정의++++++++++++++++++++++++++++++++++++++++++++int ServoParallelControl(int thePos , Servo theServo, int theSpeed ){ //함수 형식:outputType FunctionName(inputType localInputName) //이 함수는 서보를 원하는 위치로 일정 수만큼 이동하고 해당 위치에 가까웠는지 또는 다시 캐시했는지 반환합니다. // thePos - 원하는 위치 // thServo - 이동하려는 서보의 주소 핀 // Speed - 서보 단계 간의 지연 int startPos =theServo.read(); //우리가 작업하고 있는 서보의 현재 위치를 읽습니다. int newPos =startPos; // newPos는 이동할 때 서보의 위치를 유지합니다 // 명령과 관련하여 위치가 어디에 있는지 정의 // 현재 위치가 원하는 것보다 작으면 위치를 위로 이동 if (startPos <(thePos-5)){ newPos =newPos + 1; theServo.write(newPos); 지연(theSpeed); 반환 0; // 서보가 위치에 도달하지 않았다고 주 프로그램에 알립니다. } // Else 현재 위치가 원하는 것보다 크면 서보를 아래로 이동합니다. else if (newPos> (thePos + 5)){ newPos =newPos - 1; theServo.write(newPos); 지연(theSpeed); 반환 0; } // 서보가 원하는 범위 내에서 +-5이면 서보가 원하는 위치에 도달했음을 메인 프로그램에 알립니다. 그렇지 않으면 { 반환 1; } } //서보 병렬 제어 종료
제조공정
이 튜토리얼에서는 Arduino hexapod를 구축하는 방법을 보여줍니다. 이름에서 알 수 있듯이 헥사포드에는 6개의 다리가 있지만 그 외에도 꼬리 또는 복부, 머리, 안테나, 하악 및 기능적인 눈도 있습니다. 이 모든 것이 헥사포드를 개미처럼 보이게 하므로 Arduino Ant Robot이라고도 부를 수 있습니다. 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 로봇을 제어하기 위해 맞춤형 Android 애플리케이션을 만들었습니다. 앱에는 4개의 버튼이 있어 로봇에게 전진 또는 후진, 좌회전 또는 우
라즈베리 파이 Raspberry Pi 로봇을 만드는 것이 까다롭고 복잡합니까? 당신은 올바른 위치에 있습니다. 실제로 로봇에 Pi 보드를 사용하면 저렴한 가격에 완전한 컴퓨터를 얻을 수 있습니다. 따라서 이를 소형 폼 팩터 및 광범위한 커뮤니티 지원과 결합하면 초보자에게도 훌륭한 보드가 될 것입니다. 그러나 로봇의 세계에 뛰어드는 것은 보다 발전된 회로 설계에 뛰어드는 것을 의미합니다. 하지만 걱정하지 마세요. 최대한 쉽게 만들어 드리겠습니다. https://www.wellpcb.com/ 따라서 이 기사에서는 Raspber