Petfilamachine/README.md

39 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Petfilamachine
Простая прошивка для станка переработки бутылок из PET в пруток для 3d-принтера.
A simple firmware for a machine for processing plastic bottles into filament for a 3D printer running esp8266
#### Про проект
Я начал делать станок для протяжки ленты из ПЭТ бутылок в пруток для 3д принтера. Я нашел готовый станок ПетПулл2 и он показался мне замечательным. Однако вскрылся один минус. Автор станка пок акой-то причине выкладывает для него только скомпилированную прошивку в хекс формате.
Я решил что возможно для меня будет неплохой практикой попробовать написать свою прошивку. И чтобы не возникало еще каких-либо вопросов - я взял вместо ардуино нано - есп8266. Под этот контроллер у автора станка прошивки нет, и сам микроконтроллер в данное время дефицита полупроводников - дешевле чем Ардуино нано.
Скетч компилируется в Arduino IDE.
#### About this project
I started making a machine for pulling a ribbon from PET bottles into a rod for a 3D printer. I found a ready-made PetPull2 machine and it seemed wonderful to me. However, there was one downside. For some reason, the author of the machine uploads for him only the compiled firmware in hex format.
I decided that maybe it would be a good practice for me to try to write my own firmware. And so that there are no more questions - I took instead of arduino nano - esp8266. The author of the machine does not have firmware for this controller, and the microcontroller itself is currently in short supply of semiconductors - cheaper than Arduino nano.
Compiling sketch in Arduino IDE
#### Sone info about libraries and functions
#### EncButton by AlexGyver
```cpp
bool busy(); // вернёт true, если всё ещё нужно вызывать tick для опроса таймаутов
bool state(); // текущее состояние кнопки (true нажата, false не нажата)
bool press(); // кнопка была нажата [однократное срабатывание]
bool release(); // кнопка была отпущена [однократное срабатывание]
bool click(); // клик (нажата и отпущена) [однократное срабатывание]
bool held(); // кнопка была удержана [однократное срабатывание]
bool hold(); // кнопка удерживается [постоянное срабатывание]
bool step(); // режим импульсного удержания
bool step(uint8_t clicks); // режим импульсного удержания с предварительным накликиванием
bool releaseStep(); // отпущена после режима step
bool releaseStep(uint8_t clicks); // отпущена после режима step с предварительным накликиванием
uint8_t clicks; // доступ к счётчику кликов
uint8_t hasClicks(); // вернёт количество кликов, если они есть
bool hasClicks(uint8_t num); // проверка на наличие указанного количества кликов
```