산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

리틀 로버

구성품 및 소모품

Arduino Nano R3
× 1
브레드보드(일반)
× 1
점퍼 와이어(일반)
× 1
초음파 센서 - HC-SR04(일반)
× 1
마이크로 연속 회전 FS90R 서보용 Adafruit 휠
× 2
Adafruit 연속 회전 마이크로 서보 - FS90R
× 2
LED(일반)
모든 색상. 그것은 단지 그것을 즐겁게 만들고 주위를 돌아다닐 때 깜박거리도록 하기 위한 것입니다.
× 2
4xAA 배터리 홀더
배럴 배터리 홀더를 사용했습니다... 참고용입니다.
× 1
SparkFun 볼 캐스터 금속 - 3/8"
× 1
플라스틱 용기
싼 타파웨어 또는 500g 마가린 상자와 같습니다.
× 1
스티커
이것은 내가 참조하는 스티커의 종류를 보여주는 예시일 뿐입니다...
× 1

필요한 도구 및 기계

뜨거운 글루건(일반)
카펫 칼

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

배경

제 조카(9세)와 조카(7세)는 제가 얼마 전에 만든 장애물 회피 로봇의 비디오를 보고 완전히 미쳤습니다.

슬프게도 이 튜토리얼은 내 하드 드라이브가 죽어가고 백업과 DropBox, GitHub 등의 이점을 발견하기 이전에 오지 않을 것입니다. :)

그래서 (조금) 교육적이고 재미있는 것을 생각해낼 수 있는지 알아보기로 했습니다. 최대한 장난감을 단순화하여 이 작은 로버를 생각해 냈습니다.

섀시는 원래 게 스틱이 들어 있던 상자입니다. 사이즈가 딱 맞았던 것 같습니다. (상자에 가득 차서 씹어주신 아버지께 감사드립니다 :D ) 마가린 용기도 적당한 크기일 것입니다.

면책 조항으로 여기에서 우리가 로봇을 어떻게 만들었는지 설명하고 아이들이 거의 모든 작업을 스스로 하게 합니다. 저는 어떤 방법으로든 그렇게 하는 것을 권장하지 않습니다. 문제의 각 어린이가 다양한 작업을 신뢰할 수 있는지 여부를 결정하는 것은 책임 있는 부모/보호자/고모/삼촌/베이비시터로서 귀하에게 달려 있습니다. 꼭 필요한 것은 아니었지만 아이들은 로봇 작업을 할 때 보호용 고글을 착용하게 되었습니다. 우리가 사용한 상자는 정말 부드러운 플라스틱으로 만들어졌기 때문에 카펫 칼이 자신이나 자신의 팔다리를 향하도록 하는 위험에 대한 브리핑을 한 후 조카와 조카가 직접 자르도록 했습니다. LED용 구멍을 뚫기 위해 우리는 잠재적인 부상을 제한하기 위한 소형 무선 전기 드라이버

대기 상태였던 의료 키트가 아직 사용되지 않고 있다는 소식을 전해드리게 되어 기쁩니다. :)

하지만 다시 말하지만, 당신은 성인입니다!

회로

나는 내가 했던 방식으로 두 서보를 연결하여 회로를 내가 가질 수 있는 것보다 조금 더 복잡하게 만들었습니다.

아이들을 위해... 계속 말하지만 '아이들'에는 언니(35세)와 엄마(65세)가 포함되어 있었는데, 둘 다 로보트 공예의 오후를 즐겼습니다. 실제 아이들. :)

그래서 청중을 위해 실제 세계와 브레드보드의 크기를 1:1로 유지하기 위해 A4 페이지에 이미지를 인쇄하고 올바른 색상과 길이의 점퍼 와이어를 모두 제공했습니다.

회로가 조립되면 Arduino에 프로그램을 로드하기만 하면 됩니다. 필요한 경우 코드를 약간 수정하는 데 도움이 되도록 코드에 주석을 포함했습니다. 모든 것이 올바르게 연결되면 서보가 회전하기 시작하고 LED가 깜박입니다. 그리고 센서 앞에 손을 대면 하나의 서보 서보가 멈추고 다른 하나는 다른 방향으로 잠시 회전합니다.

모두 준비되었습니다!

조립

이제 '섀시'를 가져와 구멍을 뚫을 때입니다.

전면에서 센서의 위치를 ​​표시하고 '눈' 구멍을 잘라냅니다.

측면에서 바퀴가 들어갈 위치를 잘 측정하고 측면에 구멍을 자릅니다. 상자 바닥 가장자리에서 서보가 들어갈 만큼 충분히 크지만 장착 브래킷이 들어가지 않을 만큼 충분히 작습니다. 을 통해.

작은 드릴 비트를 사용하여 LED용 작은 구멍 2개를 뚫습니다.

상자 바닥에서 뒤쪽을 향하여 바퀴 바퀴를 조입니다(또는 핫 글루로 고정).

이제 상자에 모든 것을 넣고 제자리에 핫 풀로 붙일 준비가 되었습니다.

접착제가 굳으면 바퀴를 서보에 장착합니다.

상자를 장식하십시오! (그리고 그들에게 사진을 게시하세요! 정말 대단할 것입니다!)

배터리를 넣고 배터리가 다 떨어질 때까지 작은 로버가 방을 무작위로 움직이는 것을 지켜보십시오. 아니면 소음에 질려버리세요. 또는 개가 그것을 붙잡습니다! :D

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 리틀로버
  • LittleRoverArduino
    이것은 4핀 초음파 센서의 코드 버전입니다.
    #include /*3핀만 있는 센서가 있는 경우 6행의 주석을 제거하고 7행의 주석 처리*///int distanceR =A0; //트리거 핀트 거리 =6; // 트리거 핀트 pingDelay =10; //초음파 센서의 펄스 길이 int distanceR =A0; //에코 핀트 led1 =8, led2 =9; //LEDsServo leftPower;Servo rightPower;unsigned long flashTime; unsigned long nextSensorTime;float 장애물Dist =0.0f;void setup() { //Serial.begin(115200); leftPower.attach(3); rightPower.attach(5); 왼쪽파워.쓰기(90); rightPower.write(90); 핀모드(LED1, 출력); 핀모드(LED2, 출력); 지연(1000);} 무효 루프() { LED(); /* 이렇게 하면 검사를 초당 5회로 제한하여 센서가 배터리를 너무 빨리 소모하는 것을 방지할 수 있습니다. 이 수를 늘려 검사 빈도를 줄일 수 있지만 그러면 벽에 부딪힐 수 있습니다... */ if(millis() - nextSensorTime> 200){ nextSensorTime =밀리(); /* 때때로 센서가 혼란스러워 아무것도 반환하지 않기 때문에 여기에서 2개의 판독값을 수행합니다... */ float reading1 =TakeReading(); 지연(100); float 판독2 =TakeReading(); Serial.println(읽기1); Serial.println(reading2); // 그 다음 우리는 장애물에 대해 가장 큰 거리를 취합니다. barrierDist =reading1>=reading2 ? 독서1 :독서2; //거리가 10cm 미만이면 회전하고, 그렇지 않으면 직진합니다. if(obstacleDist <10.0f){ //Serial.println("회전"); 회전하다(); }else{ //Serial.println("앞으로"); 앞으로(); } }}무효 LED(){ if(millis() - flashTime> 1000) flashTime =millis(); if(millis() - flashTime <500){ digitalWrite(led1, LOW); 디지털 쓰기(led2, HIGH); }else if(millis() - flashTime> 500){ digitalWrite(led1, HIGH); 디지털 쓰기(LED2, LOW); }}void forward(){ /* 로봇이 뒤로 가고 있는 것을 발견하면 135와 45를 서로 바꿉니다. */ leftPower.write(135); rightPower.write(45);}void turn(){ /* 로봇이 다른 방향으로 회전하도록 하려면 아래의 92-93 행 주석을 제거하고 95-96을 주석 처리합니다. */ //leftPower.write(90); //rightPower.write(135); 왼쪽파워.쓰기(45); rightPower.write(90); delay(350);}float TakeReading(){ 부호 없는 긴 에코 =0; 플로트 결과 =0.0f; 핀모드(거리, 출력); digitalWrite(거리, 낮음); 지연 마이크로초(2); digitalWrite(거리, 높음); 지연마이크로초(pingDelay); digitalWrite(거리, 낮음); 핀모드(거리R, 입력); 디지털 쓰기(거리R, 높음); 에코 =펄스인(거리R,HIGH,38000); 결과 =에코/58.138; 결과 반환;}

    회로도

    littlerover_87IypZOgwm.fzz

    제조공정

    1. Rover
    2. UFO 공격!
    3. Arduino 디지털 주사위
    4. 물에서 나오는 불
    5. 3D RGB Arduclock
    6. 마이리버
    7. 아이언맨
    8. 조이스틱 게임
    9. 나를 찾기
    10. Arduino 3D 인쇄 로봇 팔