M5StickC Plus (ESP32)와 3D 프린터와 Blynk와 LEGO로 라디오 컨트롤했다.

소개



3D 프린터가 부활했기 때문에, 뭔가 만들려고 생각하고, 최근 놀고 있는 M5StickC와 GeekServo를 연결하는 마운트를 만들어 보았다. 좋은 느낌으로 만들어 만족. 했던 것을 정리해 둔다.

준비하는 것



도구



3D 프린터



Creality Ender 3 V2라는 것을 사용하고 있다.



참고 : 3D 프린터를 골라 사서 조립하여 인쇄했다. - Qiita

캘리퍼스



디지털 굉장하다.


부품



합계 4,000엔 정도. 아키타라 다른 용도에 유용할 수 있고, 코스파 최강설.

필라멘트 약간



PLA 사용 중

M5StickC Plus



M5StickC에서도 OK

M5StickC Plus - SWITCH-SCIENCE

GeekServo x2



이 서보가, LEGO 컴파티블로, 360도 회전하기 때문에, 사용하기 쉽다.
GeekServo 9G 360° Motor-Orange - SWITCH-SCIENCE

참고 : LEGO와 M5StickC에서 움직이는 차 만들었다. - Qiita

점퍼 케이블



케이블 필요. 전원과 접지를 분기할 필요가 있었으므로, 핀에 납땜하고 있다.


LEGO 타이어 x2



십자가의 구멍이있는 녀석


레고 파츠의 장미 판매는 여기가 좋다.
레고 부품부터 미니 피그까지 갖추어지는 통신 판매 전문 레고 숍 브리커스

LEGO를 연결하는 사람 x4



LEGO TECHNIC의 LEGO 사면 대체로 들어 있다(아마)


LEGO의 데코 루트 좋아하는만큼



GeekServo에 접속할 수 있기 때문에 데코된다.

3D 인쇄 작업



우선 3D 프린터로 M5StickC와 GeekServo를 연결하는 마운트를 만들었다.

스케치



간단하고 튼튼해지도록 생각하고 스케치했다.



측정



상당히 귀찮다.
GeekServo와 M5StickC의 크기를 캘리퍼스로 측정했습니다.

모델링



Tinkercad는 브라우저에서 할 수 있는 녀석을 사용했다. 간단.
대시보드 | Tinkercad

이런 느낌이 들었다.


데이터는 여기에 있습니다.
M5StickC Mounter for LEGO Compatible Motor by optimisuke - Thingiverse

3D 인쇄



Cura는 소프트를 사용해도 설정하고 3D 프린트용의 데이터로 변환한다.


완성



이런 느낌. 그렇다.



조립



타이어는 직접 서보에 붙인다.


서보와 3D 프린터로 만든 마운트를 연결한다.


M5StickC도 접속해 데코한다.


프로그램



M5StickC Plus



M5StickC Plus 측은 이 때와 완전히 함께.
LEGO와 M5StickC와 Blynk에서 라디오 컨트롤을 만들었습니다. - Qiita
#define BLYNK_PRINT Serial
#define BLYNK_USE_DIRECT_CONNECT

#include <BlynkSimpleEsp32_BLE.h>
#include <BLEDevice.h>
#include <BLEServer.h>
#include "esp32-hal-ledc.h"
#include <M5StickCPlus.h>

char auth[] = "YourAuthToken";

const int WIDTH_BIT = 10;
const int FREQ = 50;
const int SPEED_PIN = 26;
const int SPEED_CH = 2;
const int STEERING_PIN = 25;
const int STEERING_CH = 3;

void setup()
{
  Serial.begin(115200);
  Serial.println("Waiting for connections...");
  Blynk.setDeviceName("Blynk");
  Blynk.begin(auth);

  ledcSetup(SPEED_CH, FREQ, WIDTH_BIT);
  ledcAttachPin(SPEED_PIN, SPEED_CH);
  ledcSetup(STEERING_CH, FREQ, WIDTH_BIT);
  ledcAttachPin(STEERING_PIN, STEERING_CH);

  M5.begin();
  M5.Lcd.fillScreen(TFT_BLACK);
  M5.Lcd.setTextColor(TFT_WHITE);
  M5.Lcd.setCursor(20, 40, 2);
  M5.Lcd.print("SERVO");
}

void loop()
{
  Blynk.run();
}

BLYNK_WRITE(V1) {
  int16_t steering = param[0].asInt();
  int16_t speed = param[1].asInt();
  ledcWrite(SPEED_CH, speed);
  ledcWrite(STEERING_CH, steering);
  M5.Lcd.fillScreen(TFT_BLACK);
  M5.Lcd.setCursor(20, 80, 2);
  M5.Lcd.print(speed);
  M5.Lcd.setCursor(20, 120, 2);
  M5.Lcd.print(steering);
  Serial.println(speed);
  Serial.println(steering);
}

스마트폰



Blynk 사용했다.
이 때와 거의 거의 함께 설정을 줄였다.
LEGO와 M5StickC와 Blynk에서 라디오 컨트롤을 만들었습니다. - Qiita





동작 확인



좋은 느낌으로 움직였다.

개선



접속 부분이 미묘하게 했으므로, 조금 조정해 프린트 해 다시 했다. M5StickC의 옆의 슬릿에 맞도록, 뻐꾸기가 되도록 하고 있다. 좋은 느낌.


결론



좋은 느낌으로 3D 프린터를 활용할 수 있었다.
아들 군도 괜찮아 줘서 만족.

좋은 웹페이지 즐겨찾기