2025-04-09
備忘録として回路図とスケッチを残しておきます。
▼メインマイコンのスケッチ
- /*
- ESP32C3_PIC_JQ8400_Y_WING_v2c
- 2025-04-01
- */
- #include <Arduino.h>
- //#include <M5Atom.h>
- #include <SoftwareSerial.h>
- SoftwareSerial mySoftwareSerial(4, 5); // RX, TX EspSoftwareSerial
- #include <JQ8400_Serial.h>
- JQ8400_Serial mp3(mySoftwareSerial);
- #define SW1 8 //フロントレーザーキャノン
- #define SW2 10 /プロトン魚雷
- #define SW3 6 // エンジン始動
- #define SW4 7 // Main Title再生
- #define LED_1 3 //レーザーキャノン
- #define LED_2 2 //プロトン魚雷
- #define SW5 9 // LOOP停止
- const int WAITTIME = 25;
- const int STEP = 5;
- void setup() {
- mySoftwareSerial.begin(9600);
- mp3.reset();
- mp3.setVolume(30);
- mp3.setLoopMode(MP3_LOOP_NONE);
- //Serial.println("Normal"); mp3.setEqualizer(MP3_EQ_NORMAL);
- Serial.println("Pop"); mp3.setEqualizer(MP3_EQ_POP);
- //Serial.println("Rock"); mp3.setEqualizer(MP3_EQ_ROCK);
- //Serial.println("Jazz"); mp3.setEqualizer(MP3_EQ_JAZZ);
- //Serial.println("Classic"); mp3.setEqualizer(MP3_EQ_CLASSIC);
- Serial.begin (9600);
- pinMode(SW1, INPUT); //プッシュスイッチはNOタイプ
- pinMode(SW2, INPUT);
- pinMode(SW3, INPUT);
- pinMode(SW4, INPUT);
- pinMode(LED_1, OUTPUT);
- pinMode(LED_2, OUTPUT);
- pinMode(SW5, INPUT);
- mp3.playFileByIndexNumber(1);
- delay(50);
- }
- void loop() {
- if (digitalRead(SW1) == LOW) {
- //mp3.playFileByIndexNumber(2);
- mp3.interjectFileByIndexNumber(2);
- delay(50);
- for ( int i = 0 ; i < 7 ; i++ ) {
- digitalWrite(LED_1 , HIGH) ;
- delay(70);
- digitalWrite(LED_1 , LOW) ;
- delay(140);
- }
- }
- if (digitalRead(SW2) == LOW) {
- digitalWrite(LED_2 , HIGH);
- //mp3.playFileByIndexNumber(3);
- mp3.interjectFileByIndexNumber(3);
- delay(50) ;
- //digitalWrite(LED_2, LOW);
- int i = 255;
- while ( i >= 0 ) {
- analogWrite( LED_2, i );
- delay( WAITTIME );
- i = i - STEP;
- }
- }
- if (digitalRead(SW3) == LOW) {
- mp3.setLoopMode(MP3_LOOP_ONE);
- mp3.playFileByIndexNumber(4);
- delay(50);
- }
- if (digitalRead(SW4) == LOW) {
- mp3.setLoopMode(MP3_LOOP_ONE_STOP);
- mp3.playFileByIndexNumber(1);
- delay(50);
- }
- if (digitalRead(SW5) == LOW) {
- mp3.setLoopMode(MP3_LOOP_ONE_STOP);
- mp3.pause();
- //mp3.stop();
- delay(50);
- }
- }