You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-4Lines changed: 12 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,8 @@ Export your Blender animation to servo position values. They can be used with an
4
4
5
5
Animate your robot or animatronic project and take advantage of Blender's animation tools!
6
6
7
+
Also check out the [Blender Servo Animation Arduino Library](https://github.com/timhendriks93/blender-servo-animation-arduino) which is specifically designed to work with this add-on.
8
+
7
9
## Features
8
10
9
11
- Represent servos through armature bones
@@ -36,15 +38,15 @@ The underlying principle is that each bone represents a servo motor in the real
36
38
| Property | Description |
37
39
| -------- | ----------- |
38
40
| Servo ID | Unique number between `0` and `255` to identify this servo (used to send serial commands) |
39
-
| Position Min | The minimum position value to identify this servorvo physically stops moving |
41
+
| Position Min | The minimum position value to identify this servo physically stops moving |
40
42
| Position Max | Same as `Position Min`, but for the maximum value |
41
43
| Set Position Limits | Define a position range to limit the calculated position values according to a specific build |
42
44
| Position Limit Start | The minimum position value before the servo is supposed to stop moving within a specific build |
43
45
| Position Limit End | Same as `Position Limit Start`, but for the end value |
44
46
| Neutral Angle | The assumed neutral angle of the servo in degrees (typically half the rotation range) which should be adjusted carefully, since the servo will first move to its 'natural' neutral angle when powered |
45
47
| Rotation Range | The manufactured rotation range of the servo in degrees (typically `180`) |
46
48
| Euler Rotation Axis | The Euler rotation axis (`X`, `Y` or `Z`) of the bone rotation representing the servo movement |
47
-
| Multiplier |Multilplier to increase or decrease the rotation to adjust the intensity within a specific build |
49
+
| Multiplier |Multiplier to increase or decrease the rotation to adjust the intensity within a specific build |
48
50
| Reverse Direction | Whether the applied rotation should be reversed when converting to position value which might be necessary to reflect the servo's positioning within a specific build |
49
51
50
52
### Choosing a Position Value Range
@@ -75,6 +77,8 @@ Make sure to select the armature containing the bones/servos you want to export
Alternatively, you can also trigger the export via the timeline menu which is shown in the live mode section below.
81
+
78
82
### Export Formats
79
83
80
84
There are two different formats to choose from:
@@ -84,9 +88,9 @@ There are two different formats to choose from:
84
88
85
89
### Using the Exported Data
86
90
87
-
This repository contains some [examples](examples) about how to use the exported data with micro controllers. You'll find some Arduino project examples with a very basic program to play back the exported animation.
91
+
For projects which involve an Arduino compatible microcontroller, the easiest way to work with the exported data is by using the dedicated [Blender Servo Animation Arduino Library](https://github.com/timhendriks93/blender-servo-animation-arduino). This library allows you to map the exported positions to a servo representation and add custom logic to actually send servo control signals. Check out the library's repository for more details and some read-to-use examples.
88
92
89
-
Of course you can also implement a more sophisticated solution, e.g. by adding a start and stop logic, choosing from multiple animations or handling multiple servos in a more efficient way. Since you'll most likely want to animate more than one servo, you can also find a basic example on how to [control multiple servos using a PCA9685 PWM module](examples/ArduinoPCA9685/ArduinoPCA9685.ino).
93
+
Apart from using the library, it is also possible to write use the exported data in any other kind of program. Especially the JSON format simply represents a list of position values which can be easily parsed via code.
90
94
91
95
## Live Mode via Serial Connection
92
96
@@ -127,3 +131,7 @@ The protocol defines in which order and pattern individual bytes are transferred
The position value is split into 2 bytes (high and low), while the first byte is the most significant one.
134
+
135
+
### Reading Serial Commands on an Arduino
136
+
137
+
Instead of writing your own logic to read and interpret the serial commands, you can also use the [Blender Servo Animation Arduino Library](https://github.com/timhendriks93/blender-servo-animation-arduino) which has a built-in support for the live mode. Check out the library's repository for more details and some read-to-use examples.
0 commit comments