Close Sidebar close
Stage9
  • Home
  • Projects
  • Tutorials

Stage9.ro © All rights reserved.

Stage9
  • Home
  • Projects
  • Tutorials
Stage9
    Tutorials

    How to use an old plush toy to build a storyteller using an Arduino

    April 12, 2018

    Arduino is an open-source prototyping platform based on easy-to-use hardware and software. Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. This project use DFPlayer module to create a storyteller toy.

    Preparing the hardware

    Just use the diagram to connect every component.

    preparing the hardware

    – Arduino board (pin11) to RX of DFPLayer (pin2)
    – Arduino board (pin10) to TX of DFPLayer (pin3)
    – (pin1) of DFPLayer to +5v of Arduino board
    – (pin7) of DFPLayer to gnd of Arduino board
    – (pin6) and (pin8) of DFPLayer to speaker
    – Arduino board (pin9), (pin7) and (pin6) to push buttons used for play/pause, previous and next

    Preparing the software

    You need to create a new sketch using Arduino IDE and upload to you Arduino.

    – Open the Arduino IDE
    – Create a New sketch and paste our code.


    #include "Arduino.h"
    #include "SoftwareSerial.h"
    #include "DFRobotDFPlayerMini.h"

    SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
    DFRobotDFPlayerMini myDFPlayer;

    const int prevButton = 6;
    const int nextButton = 7;
    const int playButton = 9;

    int buttonState = 0;
    int playState = -1;

    void setup() {
    mySoftwareSerial.begin(9600);
    Serial.begin(11520);

    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);
    }

    pinMode(prevButton, INPUT);
    pinMode(nextButton, INPUT);
    pinMode(playButton, INPUT);

    myDFPlayer.enableLoop();
    myDFPlayer.volume(29); //Set volume value. From 0 to 30
    }

    void loop() {

    if (digitalRead(prevButton) == LOW) {
    if(buttonState == 2){
    buttonState = 0;
    playState = 1;
    myDFPlayer.previous();
    }
    } else {
    buttonState = 2;
    }

    if (digitalRead(nextButton) == LOW) {
    if(buttonState == 3){
    buttonState = 0;
    playState = 1;
    myDFPlayer.next();
    }
    } else {
    buttonState = 3;
    }

    if (digitalRead(playButton) == LOW) {
    if(buttonState == 1){
    buttonState = 0;
    if(playState == 1){
    myDFPlayer.pause();
    playState = 0;
    } else {
    if (playState == -1 ){
    myDFPlayer.play();
    } else {
    myDFPlayer.start();
    }
    playState = 1;
    }
    }
    } else {
    buttonState = 1;
    }

    if (myDFPlayer.available() && myDFPlayer.readType() == DFPlayerPlayFinished){
    //
    }

    delay(100);
    }

    – You need also to install a library using Include library under Sketch and Manage library
    – Search for DFPlayer and install this library

    install DFPlayer library

    – Verify and upload the sketch to Arduino

    Build your own prototype

    Use a prototype pcb to move this project form breadboard to pcb.
    If you don’t have an Atmega328 with bootloader you need to burn a bootloader to upload the sketch.
    Also if you intend to use a 9v battery, you need to use a voltage regulator.

    build your own prototype storyteller using arduino

    Assembles the toy

    Use a plastic case to encapsulate the project.

    assembles the storyteller toy

    Components and supplies

    USB cable to connect PC-Arduinox1
    Arduino UNOx1
    Breadboardx1
    Prototype PCBx1
    ATMega328-PUx1
    Crystal 16Mhzx1
    Ceramic Capacitors 22pFx2
    Resistor 10 Kohmx3
    DFPlayer modulex1
    Speakerx1
    Push buttonx3




    arduinoDFPlayeriotstory teller
    • Cloud DJ Monitor. Server Information over Wi-Fi

    • YAMP – Media Player

    You Might Also Like

    How to Burn Bootloader into Atmega328 using Arduino as ISP

    April 16, 2018

    No Comments

    Leave a Reply Cancel Reply

Categories

  • Projects
  • Tutorials

Unable to display Facebook posts.
Show error

Error: Error validating access token: The session is invalid because the user logged out.
Type: OAuthException
Code: 190
Subcode: 467
Please refer to our Error Message Reference.

Stage9.ro © All rights reserved.