Hallo ins Forum,
mein Name ist Stefan, ich bin neu hier und ein ABSOLUTER Anfänger.
Da ich ein passionierter Modellbauer bin, aber eher für Landschaftsgestaltung usw. ein Händchen habe, habe ich mich um das Thema Elektronik immer gedrückt.
In meinem neusten Projekt benötige ich aber Arduino Elektronik und hoffe auf eure Hilfe, da ich davon keine Ahnung habe. Ich habe mir in Foren, bei Youtube usw. ein Miniwissen angeeignet und damit folgendes "gebastelt".
Ein Arduino Uno an dem ein TFT LCD Display 1,8" , 8 LEDs und ein mp3 Player angeschlossen sind. Das Display spielt eine gewisse Abfolge von Effekten ab, die LED
s blinken nach kurzer Zeit kurz auf und der mp3 Player spielt eine Datei ab. Soweit so gut. Den passenden Code habe ich mir irgendwie, ohne zu Wissen wie, zusammengebastelt.
Nun soll es aber so sein, das das ganze Programm starten und 5 Minuten läuft (ohne Rücksicht wie lange die mp3 läuft), dann soll es 10 Minuten pausieren und dann alles wieder von vorne.
Ich habe viel gelesen, mir angeschaut und ausprobiert, leider bekomme ich es nicht hin. Das wird vielleicht auch daran liegen das der vorhandene Code schlecht ist. Nun wäre eure Hilfe nicht schlecht, danke schonmal im voraus.
#include "display.h"
int ledPins [8] = {2, 3, A0, A1, A2, A3, A4, A5};
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
// Use pins 6 and 7 to communicate with DFPlayer Mini
static const uint8_t PIN_MP3_TX = 6; // Connects to module's RX
static const uint8_t PIN_MP3_RX = 7; // Connects to module's TX
SoftwareSerial softwareSerial(PIN_MP3_RX, PIN_MP3_TX);
// Create the Player object
DFRobotDFPlayerMini player;
void setup(void) {
// Serial.begin(9600);
// Serial.print(F("Hello! ST77xx TFT Test"));
displaySetup();
// Serial.println(F("Initialized"));
// tft.invertDisplay(true);
tft.fillScreen(ST77XX_BLACK);
delay(500);
for (int i=0; i<8; i++){
pinMode(ledPins[i], OUTPUT);
}
// Init USB serial port for debugging
Serial.begin(9600);
// Init serial port for DFPlayer Mini
softwareSerial.begin(9600);
// Start communication with DFPlayer Mini
if (player.begin(softwareSerial)) {
Serial.println("OK");
// Set volume to maximum (0 to 30).
player.volume(15);
// Play the first MP3 file on the SD card
player.play(1);
} else {
Serial.println("Connecting to DFPlayer Mini failed!");
}
}
void loop() {
testlines(ST77XX_BLUE);
delay(500);
for(int i=0; i<8; i++){
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
delay(000);
}
testlines(ST77XX_RED);
delay(500);
for(int i=0; i<8; i++){
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
delay(000);
}
testlines(ST77XX_GREEN);
delay(500);
for(int i=0; i<8; i++){
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
delay(000);
}
testlines(ST77XX_YELLOW);
delay(500);
for(int i=0; i<8; i++){
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
delay(000);
}
testlines(ST77XX_ORANGE);
delay(500);
for(int i=0; i<8; i++){
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
delay(000);
}
}