Skip to content

ripred/Mimic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0323c0a · Aug 18, 2022

History

33 Commits
May 21, 2022
May 5, 2022
May 4, 2022
Jan 27, 2020
Apr 9, 2021
Feb 15, 2020
Jan 15, 2020
Jan 16, 2020
Feb 15, 2020
Aug 18, 2022
Feb 7, 2020

Repository files navigation

Mimic

"Mimic" Desktop robotic arm toy project

Created January 2020 by Trent M. Wyatt

Video link

  • Box with two arms, each with 4 degrees of freedom: Waist, Elbow, Wrist, and Pincher.
  • The first arm has a 5K or 10K potentiometer at each joint and the other arm has a servo at each joint.
  • The first arm is the input arm, reading the 4 analog values from the pots
  • The second arm is the output arm that can mimic the movements of the input arm
  • A pushbutton and a bi-color LED are provided as input and output for setup, mode selection etc.
  • An on/off switch is also included.
  • A jumper is included to allow single or dual voltage sources for logic and servos
  • Two 18650's power the logic and servos
  • Built in USB battery charger

Current features:

  • Allows the output arm to mimic the input arm in real time.
  • The mimic can be disabled
  • It can "park" the output arm so it lays flat across to box top
  • Movements can be recorded and played back
  • Recorded movements can be stored to/from EEPROM
  • Uses Button "Gestures" to multiplex the functionality of the single control button
  • During playback the "pinch" potentiometer controls the playback speed
  • Uses lightweight dynamic template based storage for recording, playback, and parking sequences
  • (hardware) Added a brace to pressure the wrist servo shaft so it stays pressed in (better: replace that servo)

Control by using the button with "gestures":

  • Single Click: Toggle idle or mimic mode
  • Single Click and Hold: Enter Recording Mode:
    • Single Click: Add position
    • Single Click and hold: Exit recording mode
  • Double Click: Enter Playback Mode:
    • Any button press: Exit playback mode
  • Double Click and Hold: Park the servo arm and save any recording to the EEPROM

TODO:

  • Add googly eyes to servo arm :-)
  • Add ability to play "Scissors/Rock/Paper" against the arm! :-)
  • Add mic and op-amp to have dance-party mode!
  • Enhance the output arm so it takes the position of each servo into account when moving to a new set of positions so the deltas for each movement can be evenly spread across a given amount of time. This will allow further enhancement as a "playback speed" setting can then be added.
  • Add a SoftSerial port and implement an API to allow external control
  • Add HM-10 Bluetooth module to SoftSerial port for wireless control
  • Use the serial API to drive the arm from my JavaChess repo
  • Use the serial API to be able generate arm animations when someone scores from my nhl/baseball game feeds repo