A motorized fader program for the ATtiny13A uC.
Go to file
Jake Goodwin d455f80759 Updated date/username 2025-02-17 18:33:20 -08:00
.template_files Initial commit 2025-02-10 18:25:49 +00:00
build Initial commit 2025-02-10 18:25:49 +00:00
docs Initial commit 2025-02-10 18:25:49 +00:00
inc Added the template test files I made before. 2025-02-16 10:28:35 -08:00
mocks Added mocks 2025-02-16 10:13:45 -08:00
src Updated date/username 2025-02-17 18:33:20 -08:00
tests got ADC to pass current tests. 2025-02-16 17:34:20 -08:00
.gitignore ignore my dev notes. 2025-02-10 10:59:03 -08:00
.gitmodules Initial commit 2025-02-10 18:25:49 +00:00
CMakeLists.txt Updated version number 0.2.0 --> 0.2.1 2025-02-16 10:29:22 -08:00
Doxyfile Updated to project version 0.1.1 2025-02-14 12:53:53 -08:00
README.md updated version number and documentation 2025-02-14 14:12:03 -08:00
avr-gcc-toolchain.cmake updated to reflect the instructed powershell commands. 2025-02-14 12:49:17 -08:00
compile_commands.json Initial commit 2025-02-10 18:25:49 +00:00
otto.sh updated menu and setup correct make commands. 2025-02-14 13:04:22 -08:00
setup.sh Initial commit 2025-02-10 18:25:49 +00:00

README.md

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
  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