Bezig met een project wat ik al eens eerder gemaakt heb. Vrij simpel , arduino uno , df mini mp3 speler , versterkertje drukknop en 1 relais . Alles nagebouwd van een vorig project , ranja koe speelt muziek druk je op de knop schakelt relais een 220 v pompje in en speelt een kort geluid. Daarna weer verder met muziek. Alles op 5v 2a adaptor , elke ground loopt apart naar een ground blok , zelfde voor de 5v. Zolang er geen 220 aangesloten is werkt alles perfect , ga ik 220 schakelen herstart de mp3 en de arduino , ook valt de serieele monitor dan weg. Relais heeft ingebouwde diode dus dat kan het probleem niet zijn. Meet overal netjes 5 volt ook tijdens schakelen relais en mp3 speler dus er wordt niet te veel stroom getrokken denk ik. Zal de code en foto van onderderdelen nog plaatsen. Vreemde is heb precies hetzelfde staan en die doet het perfect....
Uploaden: 20220619_221932.jpg...
Verwerken: 20220619_221923.jpg...
Uploaden: 20220619_221910.jpg...
#include <SoftwareSerial.h>
#include <DFMiniMp3.h>
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin
const int pump = 9;
const int buttonled = 11;
int buttonState = 0; // variable for reading the pushbutton status
class Mp3Notify
{
public:
static void PrintlnSourceAction(DfMp3_PlaySources source, const char* action)
{
if (source & DfMp3_PlaySources_Sd)
{
Serial.print("SD Card, ");
}
if (source & DfMp3_PlaySources_Usb)
{
Serial.print("USB Disk, ");
}
if (source & DfMp3_PlaySources_Flash)
{
Serial.print("Flash, ");
}
Serial.println(action);
}
static void OnError(uint16_t errorCode)
{
// see DfMp3_Error for code meaning
Serial.println();
Serial.print("Com Error ");
Serial.println(errorCode);
}
static void OnPlayFinished(DfMp3_PlaySources source, uint16_t track)
{
Serial.print("Play finished for #");
Serial.println(track);
}
static void OnPlaySourceOnline(DfMp3_PlaySources source)
{
PrintlnSourceAction(source, "online");
}
static void OnPlaySourceInserted(DfMp3_PlaySources source)
{
PrintlnSourceAction(source, "inserted");
}
static void OnPlaySourceRemoved(DfMp3_PlaySources source)
{
PrintlnSourceAction(source, "removed");
}
};
// instance a DFMiniMp3 object,
// defined with the above notification class and the hardware serial class
//
//DFMiniMp3<HardwareSerial, Mp3Notify> mp3(Serial1);
// Some arduino boards only have one hardware serial port, so a software serial port is needed instead.
// comment out the above definition and uncomment these lines
SoftwareSerial secondarySerial(5, 6); // RX, TX
DFMiniMp3<SoftwareSerial, Mp3Notify> mp3(secondarySerial);
void setup() {
Serial.begin(9600);
pinMode(pump, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
pinMode(buttonled, OUTPUT);
Serial.println("initializing...");
mp3.begin();
uint16_t volume = mp3.getVolume();
Serial.print("volume was ");
Serial.println(volume);
mp3.setVolume(24);
volume = mp3.getVolume();
Serial.print(" and changed to ");
Serial.println(volume);
Serial.println("track 1 from folder 1");
mp3.playFolderTrack(1, 1); // sd:/01/001.mp3
}
void loop() {
buttonState = digitalRead(buttonPin);
digitalWrite(buttonled, HIGH);
if (buttonState == HIGH) {
Serial.println("vul beker ranje");
mp3.playAdvertisement(1); // sd:/advert/0001.mp3
digitalWrite(ledPin, HIGH);
digitalWrite(pump, HIGH);
delay(3000);
{
digitalWrite(pump, LOW);
digitalWrite(ledPin, LOW);
delay(1000);
}
}
mp3.loop();
}