blob: 61dbe712c60b8a881ee4533f5e557dfb7c80277a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
import a1Img from "../assets/a1.png";
import CodeSnippet from "../components/CodeSnippet";
import LinkWithIcon from "../components/LinkWithIcon";
export default function PrintingPage() {
const roboArmCode = `#include <Bluepad32.h>
#include <ESP32Servo.h>
#define DEADZONE 30
#define BASE_PIN 15
#define SHOULDER_PIN 2
#define ELBOW_PIN 4
#define WRIST_PIN 16
#define HAND_PIN 17
Servo base, shoulder, elbow, wrist, hand;
ControllerPtr pad;
void onConnectedGamepad(ControllerPtr ctl) {
Serial.printf("Gamepad #%d verbunden\n", ctl->index());
pad = ctl;
}
void onDisconnectedGamepad(ControllerPtr ctl) {
Serial.printf("Gamepad getrennt\n");
}
int16_t mapAxis(int16_t v) {
if (abs(v) < DEADZONE) v = 0;
return map(v, -512, 512, 0, 180);
}
void setup() {
BP32.setup(&onConnectedGamepad, &onDisconnectedGamepad);
BP32.enableNewBluetoothConnections(true);
base.attach(BASE_PIN);
shoulder.attach(SHOULDER_PIN);
elbow.attach(ELBOW_PIN);
wrist.attach(WRIST_PIN);
hand.attach(HAND_PIN);
}
void loop() {
BP32.update();
if (pad && pad->isConnected()) {
base.write(mapAxis(pad->axisX()));
shoulder.write(mapAxis(-pad->axisY()));
elbow.write(mapAxis(-pad->axisRY()));
hand.write(mapAxis(pad->throttle() - pad->brake()));
if (pad->l1()) wrist.write(0);
else if (pad->r1()) wrist.write(180);
else wrist.write(90);
}
delay(15);
}`;
return (
<>
<title>߸ 3d printing</title>
<h1>3D Printing</h1>
<img src={a1Img} alt="Bambu Lab A1" className="mx-auto mb-4 w-64 rounded-lg shadow"/>
<h2>Projects</h2>
<h3>Robot Arm</h3>
<p><LinkWithIcon href="https://makerworld.com/en/models/528885-robotic-arm#profileId-445995" target="_blank">3D Model</LinkWithIcon> changed the model to work with my servo motors.</p>
<CodeSnippet code={roboArmCode} initialLines={5} />
<h3>Diy Drone</h3>
<p>WIP</p>
</>
);
}
|