A new pet for VHS!

We would love your servos! How many do you have?
We need 12 of them, but if you have less than that we could still use them for prototyping!

2 Likes

This can totally be done with a slightly more powerful micro-controller like an esp32 (which gives you wifi), or a teensy 3.2 or similar. As long as it has a hardware i2c port to handle a bunch of expanders. I don’t like pi’s because you start adding a whole other software stack of things to go wrong, but I am not a good coder.

Servo control: 16-CHANNEL 12BIT PWM SERVO DRIVER I2C PCA9685 - drives 16 servos, controlled off of i2c so you can daisy chain them if you want. Quick to update over high speed i2c. Work great.

Sentry mode: several PIR sensors, pin goes low when it senses a change in the local heat: SENSOR, PIR MOTION, HP-208N or similar. Connect one in each direction you want to sense. If you start running out of pins on your micro-controller switch to a teensy 3.5 or 4.0 or go for a port expander chip like the mcp23017 (which also talks over i2c) MCP23017 - i2c 16 input/output port expander : ID 732 : $6.95 : Adafruit Industries, Unique & fun DIY electronics and kits and has an easy library to use it with.

You can also use a relay to apply or kill power to the servos when they are moving/not. Just basically wire it in to the power input to the above board. This will also minimize heating of the servos and make them last longer. Get a powerful relay (30 amp+ dc rated) as the inrush current to servos is substantial.

Lights are easy with something like the fastled library and apa102s or neopixels etc and a fairly fast microcontroller GitHub - FastLED/FastLED: The FastLED library for colored LED animation on Arduino. Please direct questions/requests for help to the FastLED Reddit community: http://fastled.io/r We'd like to use github "issues" just for tracking library bugs / enhancements.

Eyes could be something like led matrix panels: LED MATRIX - SERIAL INTERFACE - RED/GREEN which would let you program different expressions. They make them in single color or rgb versions: NEOPIXEL NEOMATRIX 8X8 64 RGB LED
Could also just do neopixel rings: https://leeselectronic.com/en/product/15215.html

As for the code, a good way to handle something like this is to have conditional flags for various modes, and a loop that just goes through with if than else statements to do different things depending on which mode it currently is in. With that you can avoid delay statements, I can sit down and run you though the idea sometime if you like.

code for my beaver, there are just various functions that get called to check inputs, update the motors, update the displays etc. All on timers.

Rotating the body can be done, you have issues with the electrical connections, solveable if you don’t want it to rotate more than 360 degrees, otherwise you need a slip ring and that gets fun when you have a lot of power running through the thing (needed for the servos). Basic idea is to mount the whole thing on a ring and find someway to rotate it. I have done it in the past with a chain sprocket from a bicycle and a small stepper motor.

1 Like

I have one of these (or at least a knock off of a knock off) I will happily donate to the project…

3 Likes

I do feel like a RasPi with Python will get you to a workable project faster. Microcontroller development has a lot of (performance-related) benefits, but it is way slower to develop for.

I’ve had good luck with the RasPi’s servo driver library for Python, buuut, you can totally use I2C chips like this for the Pi and that’s probably more robust.

Also long-term stability with the Pi is an issue I’ve had, so David is totally right, but stability improvements seem like stretch goal over getting V1 working fast.

All of these are very much my own biases :slight_smile:

2 Likes

I am also biased because my first experience with a pi involved four identical working sd cards of an approved type, of which only one would actually work on the pi the others would throw weird errors.

I find developing for a pi to take longer because I am not familar with the software stack or workflow, but I have done a few dozen projects with microcontrollers and find them super quick to develop stuff for. At the end of the day its all what you get used to and whether you like python or C.

The other plus for arduio’s is there is a robust library support for whatever you want to do, any of those adafruit or sparkfun boards have a library and its basically, connect wires, download library, flash example, run and at least you know if it works right away, next is just kludging it to do what you want. by way of example, my loon has libraries for the encoders, the sound board, the rc reciever, the neopixels, running average calculation, and an time elapsed calculator, none of which I had to write. I imagine there must be something similar for a pi but I am not familiar with the ecosystem.

Oooh, awesome! That would be great!

@dbynoe aswell as @Metal_Janet we’re discussing the project yesterday and Imma do my best to summerize:

The two stage tentacles are undoubtedly awesome
And doable.bit require a controller each and a lot of servos for 6 tentacles.

Another possibility is a rotating inner ring with a track or uneven c system that will move all the tentacles on one “random enough” track
This will be cheap but kind of a " one trick pony" ie just waving randomly.

@Metal_Janet proposed a really plasticized silicon so that it can “splat” against the containing globe… which is a supercool idea.

So I propose. A hybrid

Also check these compliant 2 degrees of freedom mechanisms out. 2 DOF Fully Compliant Space Pointing Mechanism by BYU_CMR - Thingiverse
I think they would be great for attaching the tentacles to the chassis

This is a cool design and this group has some other neat ones as well. I like idea of using compliant mechanisms, though this particular model probably isn’t a great fit for what you’re thinking. This one is not designed or optimized for printing with an FDM printer (even the versions they’ve added) - it’s really meant for SLS. It would need to be reconfigured or divided into separate parts to work reliably, and even then it will be light duty.

(I did a test print - the horizontal flexure elements are super fragile due to layer delamination)

Aaaaah shoot it was gonna be so cool
But thanks for saving me a lot of headache
@JDMc

1 Like

I left the servo board in the drop box labeled: “For PET Project”
It’s in a small Mylar bag…

2 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.