- Katılım
- 27 Şubat 2019
- Mesajlar
- 12,195
Özel bir günde alınan hediyenin içine duygusal bir müzik yerleştirerek karşı cinsin kalbini iki kere fethedebilirsiniz.
ThinkerCad sağolsun ne reed röle bulabildim nede dfplayer. O yüzden devre şemasını çizemedim.
Bağlantılar şu şekilde;
DFPlayer'in VCC ve GND bacaklarına Arduinonun 5v ve GND bacaklarından besleme verin.
DFPlayer'in SPK1 ve SPK2 bacaklarına tek bir 2W'lık hoparlör kablolarını bağlayın.
DFPlayer'in RX bacağını Arduinonun 10 nolu pinine direk bağlayın.
DFPlayer'in TX bacağını 1K Ohm luk bir direnç ile Arduinonun 11 nolu pinine bağlayın.
Reed Rölenin bir bacağına Arduinodan 5v verin.
Reed Rölenin diğer bacağına 10K Ohm luk bir direnç bağlayarak Arduinonun GND bacağına bağlayın.
Reed Rölenin 10K Ohm Direnç bağladığınız bacağından Arduinonun 2 nolu dijital pinine direk bir kablo bağlayın. (Direncin GND hattına giden tarafından değil.)
Böylece bağlantılar tamamlanmış oluyor.
Aşağıdaki kodları kullanarak istediğiniz müziği DFPlayer'a çaldırabilirsiniz.
Ayrıca DFPlayer için "DFRobotDFPlayerMini" Kütüphanesini arduino ide de kütüphane kısmından yüklemeniz gerek.
ThinkerCad sağolsun ne reed röle bulabildim nede dfplayer. O yüzden devre şemasını çizemedim.
Bağlantılar şu şekilde;
DFPlayer'in VCC ve GND bacaklarına Arduinonun 5v ve GND bacaklarından besleme verin.
DFPlayer'in SPK1 ve SPK2 bacaklarına tek bir 2W'lık hoparlör kablolarını bağlayın.
DFPlayer'in RX bacağını Arduinonun 10 nolu pinine direk bağlayın.
DFPlayer'in TX bacağını 1K Ohm luk bir direnç ile Arduinonun 11 nolu pinine bağlayın.
Reed Rölenin bir bacağına Arduinodan 5v verin.
Reed Rölenin diğer bacağına 10K Ohm luk bir direnç bağlayarak Arduinonun GND bacağına bağlayın.
Reed Rölenin 10K Ohm Direnç bağladığınız bacağından Arduinonun 2 nolu dijital pinine direk bir kablo bağlayın. (Direncin GND hattına giden tarafından değil.)
Böylece bağlantılar tamamlanmış oluyor.
Aşağıdaki kodları kullanarak istediğiniz müziği DFPlayer'a çaldırabilirsiniz.
Ayrıca DFPlayer için "DFRobotDFPlayerMini" Kütüphanesini arduino ide de kütüphane kısmından yüklemeniz gerek.
Kod:
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
int reed = 2;
int reedoku = 0;
int kapakAcik = 0;
int kapakAcikEskiDurum = 0;
int muzikcaliyor = 0;
void setup() {
mySoftwareSerial.begin(9600);
Serial.begin(115200);
pinMode(reed, INPUT);
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini Demo"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
while (true)
;
}
Serial.println(F("DFPlayer Mini online."));
myDFPlayer.volume(23); //Set volume value. From 0 to 30 23 yap
//myDFPlayer.play(1); //Play the first mp3
}
void loop() {
static unsigned long timer = millis();
if (millis() - timer > 3000) {
timer = millis();
//myDFPlayer.next(); //Play next mp3 every 3 second.
}
if (myDFPlayer.available()) {
printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
}
reedoku = digitalRead(reed);
if (reedoku == 1) {
kapakAcik = 0;
} else if (reedoku == 0) {
kapakAcik = 1;
}
if (kapakAcik != kapakAcikEskiDurum) {
kapakAcikEskiDurum = kapakAcik;
if (muzikcaliyor == 0) {
muzikcaliyor = 1;
myDFPlayer.play(1);
} else {
muzikcaliyor = 0;
myDFPlayer.stop();
}
}
}
void printDetail(uint8_t type, int value) {
switch (type) {
case TimeOut:
Serial.println(F("Time Out!"));
break;
case WrongStack:
Serial.println(F("Stack Wrong!"));
break;
case DFPlayerCardInserted:
Serial.println(F("Card Inserted!"));
break;
case DFPlayerCardRemoved:
Serial.println(F("Card Removed!"));
break;
case DFPlayerCardOnline:
Serial.println(F("Card Online!"));
break;
case DFPlayerPlayFinished:
Serial.print(F("Number:"));
Serial.print(value);
Serial.println(F(" Play Finished!"));
break;
case DFPlayerError:
Serial.print(F("DFPlayerError:"));
switch (value) {
case Busy:
Serial.println(F("Card not found"));
break;
case Sleeping:
Serial.println(F("Sleeping"));
break;
case SerialWrongStack:
Serial.println(F("Get Wrong Stack"));
break;
case CheckSumNotMatch:
Serial.println(F("Check Sum Not Match"));
break;
case FileIndexOut:
Serial.println(F("File Index Out of Bound"));
break;
case FileMismatch:
Serial.println(F("Cannot Find File"));
break;
case Advertise:
Serial.println(F("In Advertise"));
break;
default:
break;
}
break;
default:
break;
}
}