# 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. ## 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](https://learn.adafruit.com/usbtinyisp/drivers) 2. open Powershell 3. navigate to the repo directory *cd Downloads\gf_002* 4. enter the command below. ```ps1 ./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. ```ps1 ./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. ```sh cd ./ echo "2" | ./otto.sh ``` ### Automated Flashing Hex Files Builds then flashes the binary hex files onto the micro-controller ```sh cd ./ echo "4" | ./otto.sh ``` ### Running Tests The code below will run the cpputest tests in verbose and color mode. ```sh cd ./ echo "1" | ./otto.sh ```