아니에요 어려운건 일도 없어요 그냥... 시간하고 돈인거 같아요... 출력물이랑(디자인 너무 마음에 들고 조립할때 너무 재미있어요) 나사 베어링은 원작자분이 설명해주신데로 구입하면 되구.. (볼트 너트는 여유있게.. ) 육안 조종하실꺼면 모터, esc, pwm 수신기, 조종기, 배터리 있으면 되구.. 조금 더 가서 fpv 시스템 달면 더 비싸지구요.. 이미 rc에 취미 있으신 분이면 돈도 적게 들고 금방 만드실텐데 입문자라도 뭐 어때요.. 알고 싶으면 다 알 수 있는 시대인데 돈은 뭐.. 하고 싶은거면 라면 먹으면서 모아서 해야죠 시간도.. 만드는 과정이 재미있는거니까 오래걸리면 그거대로 좋아요 저도 아직 달려보지 못해서 기계적인 내구성은 잘 모르겠어요
hello, Did you make any improvements compared to the TH-cam tutorial? I see your Robot works very well. If I use 3D files on TH-cam, will it be as good as your robot? -can you please provide more details about those 3 gears used, like diameter size, number of teeth and hole size., if you print it yourself can you share the 3d printing file Is that Okay ? - What 4 types of servo motors are there (180 degrees or 270 degrees or 360 degrees)? Thanks a lot 🥰🥰🥰🥰🥰
No improvements, just that I used esp32 instead of Arduino, and I asked Chet gpt how to smooth the ADC to reduce fluctuations in the value of the potentiometer. The gear was made using the GF GEAR GENERATOR from Fusion 360. It probably made the same gear ratio as the producer suggested, but I don't remember it very well. I looked up the gear file I created, but I couldn't find it. Instead, I'll write down the link to the picture of the gear. Sorry for not being helpful. I'm more foolish than I thought drive.google.com/file/d/1CbgmspCT43WojeAv_6dsY9LjwRB5jNNt/view?usp=drive_link
@@esp-el4do Really thank you very much. I have started printing the parts and will finish in 40 hours. I have 1 more question: -I think what range should the potentiometer be in before inserting and closing the controller and before loading the program. do i have to have potentiometer at a particular position when attaching to the controller body? Can you tell me how to position the potentiometer when assembling? Thanks a lot
@@mr.q1880 This is the code I used It also includes setting minimum and maximum values for servos and potentiometers The code is not perfect, it's sloppy, but it works for me I'm not sure anyone else will work the same way I do When I first started making this project, I had the same concerns as you I started without understanding anything software or mechanical I've tried a lot to make it work, and I've been helped by Chetgpt in a lot of ways. I still don't understand how it works, but it works anyway drive.google.com/file/d/1ZcvgJ7b0P2AW8uCqIkWPjav0n1Ghxp5B/view?usp=drive_link
I'm so sorry. This is not a project that I created. I just copied it. The project that Build Some Stuff created is posted here at www.thingiverse.com/thing:6313449
I'm so sorry. This is not a project that I created. I just copied it. The project that Build Some Stuff created is posted here at www.thingiverse.com/thing:6313449
아.. 이게... 저도 잘 모르지만은... 내부 ADC가 좀 부정확하다고 하더라구요 (외부 ADC 모듈로 하면 낫다고 하는데 저는 안해봤어요) 포텐셔미터에 공급되는 DC전원의 노이즈도 영향이 있더라구요 ( ESP에 바로 공급하는것보다 확장 쉴드를 통해 공급하는게 ADC값이 덜 튀었어요..) 챗GPT에 ADC값 스무딩해줘 평활화 해줘 하면 코드 짜줄꺼에요 복붙하시면 되요 (ADC 평균값을 내는 방식이라 조금 딜레이가 생겨요 그래도 이게 제일 효과 좋았어요)
const int numReadings = 10; // 스무딩을 위한 읽기 수 int readings[numReadings]; // 읽기 값을 저장하는 배열 int readIndex = 0; // 다음 읽기 위치 int total = 0; // 읽기 값의 총 합 void setup() { // 이전 설정 유지 } void loop() { // 이전 루프 유지 moveMotorSmoothed(potWrist, wrist); moveMotorSmoothed(potElbow, elbow); moveMotorSmoothed(potShoulder, shoulder); moveMotorSmoothed(potBase, base); } void moveMotorSmoothed(int controlIn, int motorOut) { total -= readings[readIndex]; // 이전 값을 총 합에서 제거 readings[readIndex] = analogRead(controlIn); // 새로운 값을 읽음 total += readings[readIndex]; // 새 값을 총 합에 추가 readIndex = (readIndex + 1) % numReadings; // 다음 위치 계산 // 평균 계산 int average = total / numReadings; // 평균 값을 사용하여 모터 제어 int pulse_wide = map(average, 800, 240, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH); int pulse_width = int(float(pulse_wide) / 1000000 * FREQUENCY * 4096); pwm.setPWM(motorOut, 0, pulse_width); }
beautiful banana robot
so fluid
만들고하는거어렵나요?
아니에요 어려운건 일도 없어요 그냥... 시간하고 돈인거 같아요... 출력물이랑(디자인 너무 마음에 들고 조립할때 너무 재미있어요) 나사 베어링은 원작자분이 설명해주신데로 구입하면 되구.. (볼트 너트는 여유있게.. ) 육안 조종하실꺼면 모터, esc, pwm 수신기, 조종기, 배터리 있으면 되구.. 조금 더 가서 fpv 시스템 달면 더 비싸지구요.. 이미 rc에 취미 있으신 분이면 돈도 적게 들고 금방 만드실텐데 입문자라도 뭐 어때요.. 알고 싶으면 다 알 수 있는 시대인데 돈은 뭐.. 하고 싶은거면 라면 먹으면서 모아서 해야죠 시간도.. 만드는 과정이 재미있는거니까 오래걸리면 그거대로 좋아요 저도 아직 달려보지 못해서 기계적인 내구성은 잘 모르겠어요
Great project, any website info?
The link has all the information th-cam.com/users/makeyourpet
hello, Did you make any improvements compared to the TH-cam tutorial? I see your Robot works very well. If I use 3D files on TH-cam, will it be as good as your robot? -can you please provide more details about those 3 gears used, like diameter size, number of teeth and hole size., if you print it yourself can you share the 3d printing file Is that Okay ? - What 4 types of servo motors are there (180 degrees or 270 degrees or 360 degrees)? Thanks a lot 🥰🥰🥰🥰🥰
No improvements, just that I used esp32 instead of Arduino, and I asked Chet gpt how to smooth the ADC to reduce fluctuations in the value of the potentiometer. The gear was made using the GF GEAR GENERATOR from Fusion 360. It probably made the same gear ratio as the producer suggested, but I don't remember it very well. I looked up the gear file I created, but I couldn't find it. Instead, I'll write down the link to the picture of the gear. Sorry for not being helpful. I'm more foolish than I thought drive.google.com/file/d/1CbgmspCT43WojeAv_6dsY9LjwRB5jNNt/view?usp=drive_link
All servos are using 180 degrees
@@esp-el4do Really thank you very much. I have started printing the parts and will finish in 40 hours. I have 1 more question: -I think what range should the potentiometer be in before inserting and closing the controller and before loading the program. do i have to have potentiometer at a particular position when attaching to the controller body? Can you tell me how to position the potentiometer when assembling? Thanks a lot
@@mr.q1880 This is the code I used It also includes setting minimum and maximum values for servos and potentiometers The code is not perfect, it's sloppy, but it works for me I'm not sure anyone else will work the same way I do When I first started making this project, I had the same concerns as you I started without understanding anything software or mechanical I've tried a lot to make it work, and I've been helped by Chetgpt in a lot of ways. I still don't understand how it works, but it works anyway drive.google.com/file/d/1ZcvgJ7b0P2AW8uCqIkWPjav0n1Ghxp5B/view?usp=drive_link
@@esp-el4do Can you open access to the 2 google drive links you just sent me?
What arm project is this?
www.thingiverse.com/thing:6313449 th-cam.com/video/AIsVlgopqJc/w-d-xo.html The producer made it well, so it's easy to copy it. Try it
@@esp-el4do great, thank you!
Hii, I need help with the inverse kinematic solution to your robotic arm, can you help me with that
I just copied the project. I don't have the knowledge
Прелесть ❤
Awesome
love it, reminds me of the remote handling arms for nuclear fuel. must be lots or uses like hand controlled manipulator for an rov.
I'm so sorry. This is not a project that I created. I just copied it. The project that Build Some Stuff created is posted here at www.thingiverse.com/thing:6313449
Genial proyecto.
I'm so sorry. This is not a project that I created. I just copied it. The project that Build Some Stuff created is posted here at www.thingiverse.com/thing:6313449
저는 설명대로 하니까 모터가 덜덜 떨리던데 어떻게 해결하신거에요?
아.. 이게... 저도 잘 모르지만은... 내부 ADC가 좀 부정확하다고 하더라구요 (외부 ADC 모듈로 하면 낫다고 하는데 저는 안해봤어요) 포텐셔미터에 공급되는 DC전원의 노이즈도 영향이 있더라구요 ( ESP에 바로 공급하는것보다 확장 쉴드를 통해 공급하는게 ADC값이 덜 튀었어요..) 챗GPT에 ADC값 스무딩해줘 평활화 해줘 하면 코드 짜줄꺼에요 복붙하시면 되요 (ADC 평균값을 내는 방식이라 조금 딜레이가 생겨요 그래도 이게 제일 효과 좋았어요)
const int numReadings = 10; // 스무딩을 위한 읽기 수 int readings[numReadings]; // 읽기 값을 저장하는 배열 int readIndex = 0; // 다음 읽기 위치 int total = 0; // 읽기 값의 총 합 void setup() { // 이전 설정 유지 } void loop() { // 이전 루프 유지 moveMotorSmoothed(potWrist, wrist); moveMotorSmoothed(potElbow, elbow); moveMotorSmoothed(potShoulder, shoulder); moveMotorSmoothed(potBase, base); } void moveMotorSmoothed(int controlIn, int motorOut) { total -= readings[readIndex]; // 이전 값을 총 합에서 제거 readings[readIndex] = analogRead(controlIn); // 새로운 값을 읽음 total += readings[readIndex]; // 새 값을 총 합에 추가 readIndex = (readIndex + 1) % numReadings; // 다음 위치 계산 // 평균 계산 int average = total / numReadings; // 평균 값을 사용하여 모터 제어 int pulse_wide = map(average, 800, 240, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH); int pulse_width = int(float(pulse_wide) / 1000000 * FREQUENCY * 4096); pwm.setPWM(motorOut, 0, pulse_width); }
@@esp-el4do 혹시 이거일까요
@@esp-el4dopwm 기판 뭐사용하신거에요?
void setup() { Serial.begin(115200); delay(10); analogReadResolution(10); pinMode(switchPin, INPUT_PULLUP); // initialize all the readings to 0 for (int thisReading = 0; thisReading < numReadings; thisReading++) { readingsWrist[thisReading] = 0; readingsElbow[thisReading] = 0; readingsShoulder[thisReading] = 0; readingsBase[thisReading] = 0; } // Connect to Wi-Fi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); webSocket.begin(); } void loop() { webSocket.loop(); // subtract the last reading: totalWrist = totalWrist - readingsWrist[readIndex]; totalElbow = totalElbow - readingsElbow[readIndex]; totalShoulder = totalShoulder - readingsShoulder[readIndex]; totalBase = totalBase - readingsBase[readIndex]; // read from the sensor: readingsWrist[readIndex] = analogRead(potWrist); readingsElbow[readIndex] = analogRead(potElbow); readingsShoulder[readIndex] = analogRead(potShoulder); readingsBase[readIndex] = analogRead(potBase); // add the reading to the total: totalWrist = totalWrist + readingsWrist[readIndex]; totalElbow = totalElbow + readingsElbow[readIndex]; totalShoulder = totalShoulder + readingsShoulder[readIndex]; totalBase = totalBase + readingsBase[readIndex]; // advance to the next position in the array: readIndex = readIndex + 1; // if we're at the end of the array... if (readIndex >= numReadings) { // ...wrap around to the beginning: readIndex = 0; } // calculate the average: int averageWrist = totalWrist / numReadings; int averageElbow = totalElbow / numReadings; int averageShoulder = totalShoulder / numReadings; int averageBase = totalBase / numReadings; int switchVal = digitalRead(switchPin); String message = String(averageWrist) + "," + String(averageElbow) + "," + String(averageShoulder) + "," + String(averageBase) + "," + String(switchVal); webSocket.broadcastTXT(message); Serial.println(switchVal); delay(20); } 저는 이렇게 짜주더라구요@@ElySeL