diff --git a/ESP Вариант.fzz b/ESP Вариант.fzz new file mode 100644 index 0000000..a1782a8 Binary files /dev/null and b/ESP Вариант.fzz differ diff --git a/NANO Вариант.fzz b/NANO Вариант.fzz new file mode 100644 index 0000000..1f6d682 Binary files /dev/null and b/NANO Вариант.fzz differ diff --git a/README.md b/README.md index 0188f67..00bfd94 100644 --- a/README.md +++ b/README.md @@ -1 +1,26 @@ -# I-am-just-a-fish \ No newline at end of file +![IDE](https://img.shields.io/badge/Work%20in-Arduino%20IDE-green) + +## О проекте + +Небольшое устройство воспроизводящее звук и управляющее двигателем, созданное ради шутки, а точнее ради мема с крутящимися объектами под музыку. + +## Инструкция по запуску + +1) Подготовить и отформатировать sd карту в формат FAT32 +2) Загрузить аудиофайл на флешку (MP3, WAV, WMA) +3) Открыть `src.ino` в Arduino IDE +4) Выбрать COM порт и модель платы +5) Изменить время до оставноки двигателя (`MUSIC_TIME` в коде) +6) Прошить + +## Схема устройства + +### Arduino + + +### ESP8266 Lolin + + +## Библиотеки + +* [DFPlayerMini_Fast](https://github.com/PowerBroker2/DFPlayerMini_Fast) \ No newline at end of file diff --git a/img/ESP Вариант.png b/img/ESP Вариант.png new file mode 100644 index 0000000..e1c75a3 Binary files /dev/null and b/img/ESP Вариант.png differ diff --git a/img/NANO Вариант.png b/img/NANO Вариант.png new file mode 100644 index 0000000..92f1402 Binary files /dev/null and b/img/NANO Вариант.png differ diff --git a/src/src.ino b/src/src.ino new file mode 100644 index 0000000..c4fc37a --- /dev/null +++ b/src/src.ino @@ -0,0 +1,44 @@ +#include +#include + +SoftwareSerial playerSerial(4, 5); // RX, TX + +DFPlayerMini_Fast myMP3; +int buttonState = 0; + +#define MUSIC_TIME 140000 // время песни в мс (для остановки двигателя) +uint32_t tmr; // переменная таймера + +void setup() { + Serial.begin(115200); + + playerSerial.begin(9600); + myMP3.begin(playerSerial, true); + + delay(100); + + Serial.println("Установка максимальной громкости"); + myMP3.volume(30); + + Serial.println("Воспроизведение остановлено"); + myMP3.stop(); + + pinMode(15, OUTPUT); + pinMode(16, INPUT); + + analogWrite(15, 0); +} + +void loop() { + buttonState = digitalRead(16); + if (buttonState == HIGH) { + Serial.println("Устройство активировано"); + myMP3.play(1); + analogWrite(15, 120); + tmr = millis(); + } + + if (millis() - tmr >= MUSIC_TIME) { + analogWrite(15, 0); + } +}