motorized_fader/README.md

104 lines
2.2 KiB
Markdown
Raw Normal View History

# Motorized Fader
## Description
2025-02-13 00:50:16 +00:00
Program for the ATtiny13A that controls a motorized fader by moving into a
saved position read out of EEPROM memory.
## Requirements
2025-02-13 00:50:16 +00:00
**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
2025-02-14 20:49:02 +00:00
./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
2025-02-14 20:49:02 +00:00
./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)
2025-02-13 00:50:16 +00:00
### Building Hex Files
Builds the binary hex files. They are located in the `build/src/` directory
found in the project root.
```sh
cd ./<PROJECTNAME>
echo "2" | ./otto.sh
```
2025-02-13 00:50:16 +00:00
### Automated Flashing Hex Files
Builds then flashes the binary hex files onto the micro-controller
```sh
cd ./<PROJECTNAME>
echo "4" | ./otto.sh
```
2025-02-13 00:50:16 +00:00
### Running Tests
The code below will run the cpputest tests in verbose and color mode.
```sh
cd ./<PROJECTNAME>
echo "1" | ./otto.sh
```