Skip to content

Jesssullivan/momo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

a WIP by Jess @ the D&M Makerspace.

Jump to Quickstart Instructions
Jump to all designs
Jump to additional notes

Iterations of Hardware- Source Links (Fusion 360):




Hmmm


For more introductions to Open Source collaboration with the D&M Makerspace, visit:

Current features:

  • robust, single lever for brake & throttle
  • hardware uses standard, 22.2mm diameter handlebar tubing
  • configurable on the fly for either left (CW = throttle) or right (CCW = throttle) lever setup
  • USB "HID compliant" serial communication
  • 8 bit brake + throttle output regardless of motion constraints or hardware type

Previously:

  • configurable for either digital (encoder) or analog (potentiometer) angle sensors

Quickstart:

# clone this repo:
git clone https://github.com/jesssullivan/momo 

# get updated joystick library:
git clone https://github.com/MHeironimus/ArduinoJoystickLibrary 

# encoder support uses pjrc's library (standard `Encoder` lib available from arduino IDE)
#  pjrc: http://www.pjrc.com/teensy/td_libs_Encoder.html

# move / make sure directory "Joystick" is in the ``` Arduino/libraries ``` folder.  
# if you are using Arduino IDE, you could do something like:
zip ~/Downloads/ArduinoJoystickLibrary/Joystick .
# ....then add the archive as a .zip  in the Libraries menu.  
# Or if Arduino is installed at $HOME, something along the lines of:
cp -rf Joystick ~/Arduino/libraries 

cd momo/utb

# edit the config.h (pinout, logging, etc):
nano config.h

# compile and upload from your shell
# (alternatively your can use the Arduino IDE uploader)
arduino --upload utb.ino

# you could work on another branch with:
# git checkout testing
# :)

extra notes regarding cmake & compilation, YMMV:

USB port must be accessible to $USER:

# to checks  permissions on port:
ls -l /dev/ttyACM*

# add $USER to rw group of port, usually group 'dialout':
sudo adduser $USER dialout

# to change permissions at port:
sudo chmod a+wrw /dev/ttyACM0

*Regarding cmake, intellij, etc-

# get ide here, at least for uploading arduino .elf:
# https://www.arduino.cc/en/Main/Software

# something along the lines of:~~~~
tar xvf arduino-1.8.10/arduino-1.8.10-linux64.tar.xz 
chmod u+x arduino-1.8.10/install.sh
sudo ./arduino-1.8.10/install.sh

# using avrdude --> atmega: (unlikely to work well)
avrdude -C/../avrdude.conf -v -patmega328p -carduino -P/dev/my_com_port -b57600 -D -Uflash:w:/...my_project.hex:i

retrieve HID depends:

# std arduino usb library:
wget https://raw.githubusercontent.com/arduino/ArduinoCore-samd/master/cores/arduino/USB/PluggableUSB.h
# pluggable depend:
wget https://raw.githubusercontent.com/omnidan/ArduinoPure/master/arduino/USBAPI.h

.elf --> hex:

avr-objcopy -j .text -j .data -O ihex main.elf main.hex

About

@ D&M Makerspace

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors