Building an Arduino Controlled Animatronic System - Part 1 - The Brains!
HTML-код
- Опубликовано: 9 фев 2018
- In part 1, we take a look at building the brains of the animatronics and assembling them. We discuss parts needed and how to do a full assembly.
Stay tuned for parts 2 and 3 for the completion of this project. When the project is finished, we'll have an animatronic eyeball that replays programmed movements.
Parts Used:
Feather Terminal Block: www.adafruit.com/product/2926
Feather 32U4: www.adafruit.com/product/2771
Feather Servo Wing: www.adafruit.com/product/2928
Right Angle Headers: www.adafruit.com/product/816
Feather Stacking Header: www.adafruit.com/product/2830
I2C Fram: www.adafruit.com/product/1895
DC Female Barrel Jack: www.adafruit.com/product/368
5V 2A Power Supply: www.adafruit.com/product/276 - Наука
You have no idea how happy I am finding this
Also I understand your lessons better than anyone I’ve ever seen I just want to tell you what a nice job you’ve been very good keep it up
great video, thanks for sharing your know-how
Very nice soldering job and your close-up filming works great.
Came here because I was planning to build a Bender (Futurama) robot.
Still new to 3D printing though so need to build up a little bit more experience with that first.
Hi Jim, I am working on the build and share when done. Your series have been great to follow. So far all the parts have been printed and all the parts had arrived except the barrel jack, the control board is together the remotes are completed one eyeball competed. i have to reprint one eyelid since i broke it. Just wanted to send you a thank you. The end goal is to make a full size hatbox ghost that talks and moves.
1973mre awesome! With this base system it’s very easy to do. Here is my previous project that is my Ode to the Haunted Mansion: vimeo.com/262862356
With the system you’re building here, you’ll only need to add the Adafruit sound fix board, an extra servo for the mouth, possibly an extra fram card depending on how much you need to store, and one extra switch for switching the controller to record mouth movement vs eyelid movements.
If you need some guidance, hit me up on Twitter @jimscuba2386 and I’d be glad to help point you in the right directions. Good luck!
Can you post a link to your version of this project?
Jim, I use a breadboard & with your situation, I'd put 1 male/male pin in the breadboard for each end of female header, attach the female header to them, upside-down, then place microcontroller on male pins of female header, solder, chk, then finish soldering. That way the breadboard holds you square. I can tweet you a pic if necessary. Also consider making your power connection from board to board to plug, that way only 1 set of wires to plug jack.
Builder's Mark yep. Totally valid way to do it and I tried to hint at that. I just showed the other method in case you don’t have a breadboard handy.
Also because in the past I’ve gotten in a hurry and soldered too quickly then flipped it over to find out the headers weren’t straight or seating against the board fully. Then I spend hours trying to resolver everything and usually wound up damaging the board when the pads fell off. DOH! :)
If people put the board in a vise, it’s easy to solder too many pins at once. Just trying to make people aware...solder one pin, check the header THEN solder the rest.
If you’ve got a breadboard and male header handy, that’s an easier way to go. :) Thanks for mentioning it!
See ya at mrrf! 👍
Hi Jim, I was wondering how long a sequence the FRAM chip can remember? You mentioned that one of your robots uses many of them. In the future could you possibly show us how to use more than one at a time?
So to recap, the Adafruit Feather holds the Arduino program to operate everything, the Servo driver operates the servos and the FRAM stores the sequence of pulses?
I am going to order my parts to make this now that I am back from a Disney World vacation. I am looking forward to trying all of this out.
Thanks!
Dan Massey you got it. Each fram card is 32KB is 32768bytes per fram card. I’ve found that taking a position recoding every 15ms gives smooth motion without filling up space too fast. So 32768*15ms = 491520ms or 491 seconds or 8.1minutes.
If you have less motion to capture you can use the first half of the card for one servo and the second half of the card for the second servo. This project only required 1 fram card. My egore project has 7 minutes of music and 9 servos so I needed to use 8 fram cards. :)
You can also change the sampling rate to every 20ms you can get almost 11 minutes per card.
Hope this helps!
What is needed to have six different animatronic acts/bits/routines/ skits instead of one 8 minute long skit?
At the start your table tricked me into thinking the animatronic is human-sized 😹
Do you have the programs available for doing the 3-D printing of the parts?
can anyone tell me how hard it would be to do this with a raspberry pi and a camera. to have it follow a person with opencv and repeat a program while maintaining eye contact on the person or object
Jim. the Ada store didn't have Adafruit 32u4 Basic Proto, so I purchased the Adalogger 32u4. My question here will be, can I used a large memory card to save all my movements and recall them back? instead of using i2c fram's?
Technically yes it should work, however you'll have to write different code. Also writing to SD cards is slower and SD card wear out faster versus FRAM.
Can I do this with pneumatics?
Hi Jim, can you clarify if possible to stack more than one servo feather wing? If yes, how do I access pins of the additional, 2nd servo wing in the code?
Thanks!!!
Yes. You set the address pins on the board to the next address register. Then in your code setup section where you initiate your boards, you define the next board with the associated address
In the beginning it initiates the board with the line:
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
the area in the parenthesis is where you put the address of the board. By default leaving it empty goes to the standard board address if you don't increment the address of the board.
I believe you'd just have to add the next line:
Adafruit_PWMServoDriver pwm2 = Adafruit_PWMServoDriver(0x41); where 0x41 is the address you chose for the next board by soldering pins.
I believe you'll also need to add to these lines:
pwm.begin();
pwm2.begin();
pwm.setPWMFreq(60); // Analog servos run at ~60 Hz updates
pwm2.setPWMFreq(60);
To call that servo on an additional board you just would write:
pwm2.setPWM(servonumber, 0, servoposition);
Hope this helps.
@@jim2386 hi, what is the default servo frequency if 60Hz is not added?
Thank you!
@@jim2386 to make this work, I also had to solder a jumper A0 on the servo feather that will be used as pwm2 to access 0x41.
Otherwise both servo feathers respond to 0x40
Thank you!
@@dgililov right. You have to assign a different address for every board. You got it!
I really hate to bother you but I am still trying to figure out a 3-D printer like I said I have no experience in them I do a Cnc So I can operate some my budgets somewhere around five or 600 please let me know if you have any suggestions thank you Jerry. Also do you sell the plastic parts in case I can’t get a 3-D printer thanks again.
Hi Jim,
For some reason the runtime program would not start if feather 32u4 is not connected to USB but just to 5v power supply. If I connect usb cable and then disconnect when it starts running, it will continue to run for some time and then halt.
Any known ways to troubleshoot this? Thank you!
You probably have the serial wait loop enabled in the beginning. It’s waiting for you to start the serial window. Comment it out.
Thank you! That resolved the issue
I am not trying to be rude to you Jim but is there a reason you can't partially plug in the top board to the bottom board to make them line up then place a dab of solder on the ends then remove the boards and solder everything ??? I am not an electronics guy I am just trying to see if that is an easier way to do it?
Elite Stomper are you talking about removing the screwshield board from the system?
what can i replace the Adafruit Feather 32u4 Basic Proto with? - its out of stock
Rafael Yaluff amazon has it in stock
@@jim2386 thank you!
Why can't you insert the male-male (in the female stacking header) - as you have around 6:20, THEN put your female stacking header (upside-down) onto the male-male pins on the board. This ensures that the female stacking header is aligned exactly as needed for attaching the subsequent stacking headers when you solder the female stacking header to the board.
can i use arduino mega instead of 32u4??
Or an Uno?
What kind of 3-D printer do you recommend for someone just starting
What’s your budget?
Probably nothing over 500 or somewhere around there
Are used to do work for Disney and Seaworld and MGM I am trying to build a small outdoor gallery but I wanna add some animatronics to some of my artwork into some of my buildings that I’m doing which are like Keebler houses
I bought the controllers that you recommend this coming week I’m gonna try to assemble I’m just trying to understand the difference between flux and resin core solder
Production ideas. 😀
Will it work with phnematics?
Bling Master servos. I’m working on some pneumatic controllers but then you need a pump, an accumulator etc. everything is just bigger. Solenoids might be a better solution for certain movements. Quiet and run on small power supplies.
@@jim2386 I wanna make a phnematic animatronic but the problem is I wanna know a way to control it any ideas?