메이킹 일지 (진행 중)/하이퍼랩스 게임기

하이퍼랩스 게임기 제작 - 2. 프로젝트 준비 (부품 구매 및 회로, 코딩)

  • -

 

https://bker001.tistory.com/383

 

하이퍼랩스 게임기 제작 - 1. 프로젝트 기획

https://youtu.be/bnUPxolw8Zg 이 오킹님의 영상을 보고 하이퍼랩스라는 장난감에 대해 알게 되었습니다. https://hyperlaps.io/en/ Innovative DIY (Do It Yourself) Board Game - Hyperlaps.io © Hyperlaps© is a super fun and competitiv

bker001.tistory.com

 

 

생각보다 조회수와 반응이 괜찮아서 빠르게 진행해보고 있습니다. 그래봤자 하루에 10씩 ㅎ;

아무튼 이번에는 저번 글에 이어서 부품을 구매했다는 것 일단 보여드립니다

 

 

 

 

일단 아래처럼 nema17(스테퍼모터)을 연결할때 프로파일 안쪽으로 벨트를 넣고 프로파일 한 쪽 끝에는 텐셔너를 달아서 텐션 정리와 한 쪽 끝 고정을 확실히 하려고 합니다. 스테퍼모터에 따라오는 벨트용 타이밍 풀리, 엔드스톱등도 같이 구매했습니다.

 

 

 

여런 식

 

 

 

 

 

 

여기에 추가적으로 필요할 M4 볼트들과 인서트너트, 브라켓, A4988 드라이버, 제일 중요한 스테퍼모터까지 구매해줬습니다. 대략 뼈대를 움직이게 하는 하드웨어적인 부품 구매가 끝나서 이제는 총체적으로 어떻게 아두이노와 연결할지 대략 회로도를 짜봤습니다.

 

 

 

 

 

 

보이시는 것처럼 연결할 예정입니다. 사진 찍을때 5v를 VIN으로 연결해버렸는데 그거만 수정하면 실제 연결과 똑같이 진행될 거 같습니다! 

일단 전체적으로 5v전원을 고려하지 않고 회로를 분배했기 때문에 실제 작동을 시켜봐야 알거 같습니다.

코드도 대략 필요한 코드만 따왔고 상호간에 연결을 전혀 안해놨습니다. 진짜 따오기만 한 정도

 

 

 

int IRsensor = 6;
int IRvalue = 0;
const int stepPin = 12;
const int dirPin = 13;
int limitswitch1 = 7;
int limitswitch2 = 8;
int joystick = 10;
int relay = 11;
int rswi = 9;

void setup() {
  // 리밋 스위치 설정
  pinMode(limitswitch1, INPUT);
  pinMode(limitswitch2, INPUT);
  Serial.begin(9600);
  // 조이스틱 설정
  pinMode(joystick, INPUT_PULLUP);
  // 릴레이 설정
  pinMode(relay, OUTPUT);
  // IR센서
  pinMode(IRsensor, INPUT);
  // 모터
  pinMode(stepPin,OUTPUT);
  pinMode(dirPin,OUTPUT);
  // 리모콘 스위치
  pinMode(rswi, INPUT_PULLUP);
}

void loop() {
  // 리밋 스위치 설정
 if(digitalRead(limitswitch1)==HIGH){
  Serial.println("limitswitch1");
  delay(100);
 }
  if(digitalRead(limitswitch2)==HIGH){
  Serial.println("limitswitch2");
  delay(100);
 }
 // 조이스틱 설정
 Serial.print(analogRead(A1));
 Serial.print(" ");
 Serial.print(analogRead(A0));
 Serial.print(" ");
 Serial.println(digitalRead(joystick)); //스위치값
 delay(100);
 // 릴레이 설정
 digitalWrite(relay, HIGH);
 delay(1000);
 digitalWrite(relay, LOW);
 delay(1000);
 // IR센서
 IRvalue = digitalRead(IRsensor);
 if (IRsensor == HIGH){
   Serial.println(" ");
   delay(1000);
 }
 else {
   Serial.println(" ");
   delay (1000);
 }
 // 모터
 digitalWrite(dirPin,HIGH);
 for(int x= 0; x < 200; x++){
    digitlaWrite(stepPin.HIGH);
    delayMicroseconds(2000);
    digitalWrite(stepPin,LOW); 
    delayMicroseconds(2000); 
  }
  delay(1000); // One second delay
  digitalWrite(dirPin,LOW); //Changes the rotations direction
  for(int x = 0; x < 400; x++) {
    digitalWrite(stepPin,HIGH);
    delayMicroseconds(1000);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(1000);
  }
  delay(1000); 
  // 리모컨 스위치
  if(digitalRead(rswi) == LOW){
    digitalWrite(relay, HIGH);
    delay(300);
    digitalWrite(relay, LOW);
  }
  else{
    digitalWrite(relay, LOW);
  }

}

 

 

여기까지 딱 준비해놨습니다. 이제 오면 조립하면서 추가 부품 모델링하고 제작하고 그렇게 진행됩니다!@

그리고 추가로 esp32를 이용한 블루투스 리모컨 이야기를 진지하게 찾아봤습니다...만

지금 하는 유선 리모컨만으로 문제가 되는 건 없어서 일단 진행해보고 욕심이 생기면 그때 더 알아보려고 합니다

 

https://blog.naver.com/PostView.nhn?blogId=elepartsblog&logNo=221539140298 

 

ESP32 사용해보기 - 04. 블루투스 예제 동작 테스트

WI FI 테스트에 이어서 이번 포스팅에서는 블루투스 기능을 테스트해 보도록 하겠습니다. ESP8266는...

blog.naver.com

 

https://makerspace.steamedu123.com/entry/ESP32-%EB%B8%94%EB%A3%A8%ED%88%AC%EC%8A%A4-%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%95%98%EA%B8%B0

 

[ESP32] 블루투스 테스트 하기

본 절은 ESP32를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. SS1 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. ESP32를 연결하고, 간단한 코딩으로 블루투스

makerspace.steamedu123.com

 

 

 

반응형
Contents

포스팅 주소를 복사했습니다!

이 글이 도움이 되었다면 추천 부탁드립니다!