motorized_fader/README.md

2.4 KiB

Motorized Fader

Description

Program for the ATtiny13A that controls a motorized fader by moving into a saved position read out of EEPROM memory.

Requirements

Hadware:

  • ATtiny13A/ATtiny45/ATtiny85.
  • usbasp programmer.
  • UNIX computer(to use the scripts for automation).

Software:

  • avr-gcc
  • avrdude(<=7.0)
  • CMAKE(<= 3.20)

Instructions

Setting Fader Position

To set the fader position preform a long press of the button.

The position will now be saved into the EEPROM memory.

Move to Position

To automatically move the fader into the saved location preform a quick press of the button.

The speed can be adjusted by changing the input value of the speed pot. The speed adjustment affects the on/off ratio of the motor and has a programmed minimum speed value in the function to prevent endless looping.

Move to secondary Position

When the motor has already preformed a move to position from a quick button press, you can tap the button once more and it will go back to it's previous position from your initial button press.

Building Project(Windows)

Flashing the Project

On Windows(usbtinyisp)

  1. Install the usbtiny driver:
    1. plug in usbtiny device
    2. Install the drivers from: adafruit
  2. open Powershell
  3. navigate to the repo directory cd Downloads\gf_002
  4. enter the command below.
./avrdude.exe -p t13 -c usbtiny -B 125kHz -U flash:w:.\build\src\main.hex -U lfuse:w:0x6A:m -U hfuse:w:0xFF:m -U lock:w:0xFF:m

On Windows(usbASP)

  1. Install the usbasp driver:
    1. plug in usbasp device
    2. run the 'zadig-2.8.exe' program
    3. select the libusb 32 on the right by clicking the down arrow to select.
  2. open Powershell
  3. navigate to the repo directory cd Downloads\gf_002
  4. enter the command below.
./avrdude.exe -p t13 -c usbasp -B 125kHz -U flash:w:.\build\src\main.hex -U lfuse:w:0x6A:m -U hfuse:w:0xFF:m -U lock:w:0xFF:m

Building Project(UNIX)

Building Hex Files

Builds the binary hex files. They are located in the build/src/ directory found in the project root.

cd ./<PROJECTNAME>
echo "2" | ./otto.sh

Automated Flashing Hex Files

Builds then flashes the binary hex files onto the micro-controller

cd ./<PROJECTNAME>
echo "4" | ./otto.sh

Running Tests

The code below will run the cpputest tests in verbose and color mode.

cd ./<PROJECTNAME>
echo "1" | ./otto.sh