Now It's Possible to Study With Arduino

About: I am an Advanced Technician of Electronic Development and I have more than 6 years of experience developing products. I also have experience with raspberry pi, arduino, c, pic... Shall we talk?

Studying is not easy: it is tedious, requires great doses of concentration and one may get easily distracted. Using mobile apps may be a distraction by itself, and thus relying on the smartphone may pose a temptation to high to take.

In this Instructable I have designed an easy solution for enhancing the focus while studying by using a unique approach based on well-proven studying techniques.

Are you ready for making the most of your time and passing your exams?

Let´s go!

Step 1: Components

    The components are the following:

    1. 1 x Box
    2. 1 x Battery adapter
    3. 1 x switch
    4. 6 x resistor 1k
    5. 4 x Leds
    6. 1 x arduino nano
    7. 1 x Button(optional, no implemented in this project)
    8. 1 x 2n2222
    9. 1 x Capacitor 0.1 uF
    10. 1 x Diode 1N4001
    11. 1 x Vibrator (mini)

    Step 2: Design Scheme

    The circuit is very simple. You have to connect four leds with four resistors, and to also connect a vibrator. Now comes the hard part: you have to connect a transistor input to 3.3v, and the output to the vibrator.

    Now, I have designed the "Start/Stop" switch, which you have to place between the vcc and the battery.

    And that's it!

    Step 3: Code:

    String x="0";
    
    void setup() {
      pinMode(2, OUTPUT);
      pinMode(3, OUTPUT);
      pinMode(4, OUTPUT);
      pinMode(5, OUTPUT); 
      pinMode(7, OUTPUT); 
      Serial.begin(9600);
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
      delay(500);
      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      delay(500);
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
      delay(500);
      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      x="0";
    }
    
    void loop() {
             String s = reloj() ;
             Serial.println(s);
             if (s == "10")
              {
                digitalWrite(2, HIGH);
                x="1";
              }
              if (s == "20")
              {
                digitalWrite(3, HIGH);
                x="2";
              }
              if (s == "30")
              {
                digitalWrite(4, HIGH);
              x="3";
              }
              if (s == "40"&& x!="4")
              {
               x="4";
               digitalWrite(5, HIGH);
               digitalWrite(7, HIGH);  
               delay(500);                      
               digitalWrite(7, LOW);    
               delay(1000);  
               digitalWrite(7, HIGH);  
               delay(500);                       
               digitalWrite(7, LOW);    
               delay(1000);  
              }
              if (s == "50" && x!="5")
              {
               digitalWrite(2, HIGH);
               digitalWrite(3, HIGH);
               digitalWrite(4, HIGH);
               digitalWrite(5, HIGH);
               delay(500);
               digitalWrite(2, LOW);
               digitalWrite(3, LOW);
               digitalWrite(4, LOW);
               digitalWrite(5, LOW);
               delay(500);
               digitalWrite(7, HIGH);   
               delay(500);                      
               digitalWrite(7, LOW);    
               delay(1000);  
               digitalWrite(7, HIGH);   
               delay(500);                      
               digitalWrite(7, LOW);    
               delay(1000);   
               digitalWrite(2, HIGH);
               digitalWrite(3, HIGH);
               digitalWrite(4, HIGH);
               digitalWrite(5, HIGH);
               delay(500);
               digitalWrite(2, LOW);
               digitalWrite(3, LOW);
               digitalWrite(4, LOW);
               digitalWrite(5, LOW);
               delay(1000);   
               digitalWrite(2, HIGH);
               digitalWrite(3, HIGH);
               digitalWrite(4, HIGH);
               digitalWrite(5, HIGH);
               delay(500);
               digitalWrite(2, LOW);
               digitalWrite(3, LOW);
               digitalWrite(4, LOW);
               digitalWrite(5, LOW);
               x="5";
              }
    
    
    }
    
    
    String reloj()
       {
           int n = millis() / 1000 ;       
           int segundos = n % 60  ;
           int minutos =  n / 60  ;
    
    
           String S = String(minutos) + ":" + String(segundos);
            return (String(minutos));
       }
    
    
    

    Step 4: Mount

      These are the steps for mounting the kit:

    1. Design and print the top cover.

    2. Drill five holes in the box: four for the leds, and one for the switch.

    3. Paste the top cover in the box.

    4. Put the leds and the switch in the box.

    5. Now, mount the electronic circuit inside the box.

    6. Connect the battery.

    7. Close the box.

    8. You're ready to go!

    Step 5: Ready to Learn

    The Instructable is very easy to use:

    1. Press "Start/Stop" switch to start.
    2. The device is set to give you 40 minutes of studying: Every ten minutes the program will turn on one led, until the four leds cicle is completed. Once the 40 minutes have passed and the four leds have been turned on, the device will vibrate for you to know that the time is up.
    3. Congratulations! You have won a well deserved break! Once 10 additional minutes have passed, the leds will start to flash and the device will vibrate.
    4. Study time again! If you want to start a new cycle, press the "Start/Stop" switch again and continue studying

    Share

      Recommendations

      • 1 Hour Challenge

        1 Hour Challenge
      • Colors of the Rainbow Contest

        Colors of the Rainbow Contest
      • Sensors Contest

        Sensors Contest

      4 Discussions

      0
      None
      jabujavi

      20 days ago

      The code is correct?
      Why using serial?
      Why this:
      String S = String(minutos) + ":" + String(segundos);

      1 reply
      0
      None
      Cierzointernetjabujavi

      Reply 20 days ago

      Hello jabujavi
      -Yes, the code is correct.
      -Serial is used for debug the program.
      -This String concatenate minutos & segundos, (For debug)