Skip to content

Commit 380658c

Browse files
committed
mention arduino library in readme
1 parent 79879ce commit 380658c

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

README.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ Export your Blender animation to servo position values. They can be used with an
44

55
Animate your robot or animatronic project and take advantage of Blender's animation tools!
66

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+
79
## Features
810

911
- Represent servos through armature bones
@@ -36,15 +38,15 @@ The underlying principle is that each bone represents a servo motor in the real
3638
| Property | Description |
3739
| -------- | ----------- |
3840
| 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 |
4042
| Position Max | Same as `Position Min`, but for the maximum value |
4143
| Set Position Limits | Define a position range to limit the calculated position values according to a specific build |
4244
| Position Limit Start | The minimum position value before the servo is supposed to stop moving within a specific build |
4345
| Position Limit End | Same as `Position Limit Start`, but for the end value |
4446
| 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 |
4547
| Rotation Range | The manufactured rotation range of the servo in degrees (typically `180`) |
4648
| 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 |
4850
| 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 |
4951

5052
### Choosing a Position Value Range
@@ -75,6 +77,8 @@ Make sure to select the armature containing the bones/servos you want to export
7577

7678
![Servo Settings panel](screenshots/export_menu.png)
7779

80+
Alternatively, you can also trigger the export via the timeline menu which is shown in the live mode section below.
81+
7882
### Export Formats
7983

8084
There are two different formats to choose from:
@@ -84,9 +88,9 @@ There are two different formats to choose from:
8488

8589
### Using the Exported Data
8690

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.
8892

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.
9094

9195
## Live Mode via Serial Connection
9296

@@ -127,3 +131,7 @@ The protocol defines in which order and pattern individual bytes are transferred
127131
| Hexadecimal | 0x3C | 0x00 | 0x01 | 0x77 | 0x3E |
128132

129133
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

Comments
 (0)