ARDUINO PROJECTS FOR MANAGING TIME BETTER WHEN STUDYING FROM HOME

When studying from home time management can be hard. Suddenly you spend many hours in a row in front of a computer or feel like you get nothing done when interrupted by other things at home. In our EduVision Season 1 second live session we presented three simple projects that you can build together with your children or students to help them while working from home or use as an inspiration for their own projects. Watch the presentations..

1. Simple study & pause device

Presented by Therese. A simple project to remember taking 5 min breaks while studying. Set the desired study time with the potentiometer and study according to the LEDs color indications.

Materials used

  • 1 x Arduino UNO
  • 1 x Breadboard
  • 1 x Green LED
  • 1 x Red LED
  • 2 x 220 Ohm Resistors
  • 1 x Potentiometer
  • Jumper wires
  • Pen and paper for decoration

Example sketch

int redLed = 3;
int greenLed = 4;
int potVal = A0;
int studyTime = 0;

void setup() {
  pinMode(redLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(potVal, INPUT);
}

void loop() {
  digitalWrite(greenLed, LOW);
  studyTime = analogRead(potVal);                  //reads the study time from the potentiometer
  studyTime = map(studyTime, 0, 1023, 1800000, 0); //maps the value from potentiometer from 0-1023 to 0-30 min
  digitalWrite(redLed, HIGH);
  delay(studyTime);                                // the red LED is on for as long as you set the potentiometer
  digitalWrite(greenLed, HIGH) ;                   //then the green LED turns on
  digitalWrite(redLed, LOW);                       //and the red turns off
  delay(3000000);                                  //for 5 min
}

2. Time management tool

Presented by Roxana. When working and learning from home, it is very easy to get distracted and it is challenging to get all tasks done. This is a solution that helps managing time to be totally focused on one task at a time for a determinate period of time.

This prototype is a mix of project 8 digital hourglass, and project 11 Crystal Ball on the Starter Kit Projects Book. You can power the board with the USB cable connected to your computer or by using a 9V battery.

You can set the time, in intervals of 5 minutes, you would like to focus on a task by pressing one of the switches. Once time is set, shake the board to start the time.

Materials used

  • 1 x Arduino UNO board
  • 1 x Potentiometer
  • 1 x Tilt switch
  • 1 x Piezo
  • 2 x Green LEDs
  • 2 x Yellow LEDs
  • 1 x Red LEDs
  • Jumper wires
  • 2 x switches
  • 1 x 10 kohm Resistor
  • 1 x 220 ohm (4 band)
  • 5 x 220 ohms (5 band)

3. Time to move

Presented by Melissa. A project based on the project 11 - Crystal Ball in the Starter Kit Projects book. When working or studying from home you lack the small acts of everyday life that make you exercise without noticing. You don’t walk to the school in the morning and afternoon or move between classes. This can make you feel more tired and unproductive. To help you with this you can use a project called Time to move.

When you press the button the LCD screen prints a text and tells using a random() function how many reps and what exercise you should do. To make it more advanced you could combine this project with the timers present above so you don’t have to press a button but the project reminds you to move, for example, every 45 minutes.

Materials used

  • 1 x Arduino UNO
  • 1 x Breadboard
  • 1 x LCD screen
  • 1 x 220 ohm resistor
  • 1 x Potentiometer
  • 1 x Pushbutton
  • Jumper wires

Example sketch

/*
  Based on the Arduino Starter Kit example
  Project 11 - Crystal Ball
*/

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// set up a constant for the tilt switch pin
const int switchPin = 13;

// variable to hold the value of the switch pin
int switchState = 0;

// variable to hold previous value of the switch pin
int prevSwitchState = 0;

// a variable to choose which reply from the crystal ball
int reply;
int amount;

void setup() {
  // set up the number of columns and rows on the LCD
  lcd.begin(16, 2);

  // set up the switch pin as an input
  pinMode(switchPin, INPUT);

  // Print a message to the LCD.
  lcd.print("Time for");
  // set the cursor to column 0, line 1
  // line 1 is the second row, since counting begins with 0
  lcd.setCursor(0, 1);
  // print to the second line
  lcd.print("some workout!");
}

void loop() {
  // check the status of the switch
  switchState = digitalRead(switchPin);

  // compare the switchState to its previous state
  if (switchState != prevSwitchState) {
    // if the state has changed from HIGH to LOW you know that the ball has been
    // tilted from one direction to the other
    if (switchState == LOW) {
      // randomly chose a reply
      reply = random(6);
      // clean up the screen before printing a new reply
      lcd.clear();
      // set the cursor to column 0, line 0
      lcd.setCursor(0, 0);
      // print some text
      lcd.print("Do ");
      amount = random(2, 8);
      lcd.print(amount);
      // move the cursor to the second line
      lcd.setCursor(0, 1);

      // choose a saying to print based on the value in reply
      switch (reply) {
        case 0:
          lcd.print("Pushups");
          break;

        case 1:
          lcd.print("Squats");
          break;

        case 2:
          lcd.print("X-jumps");
          break;

        case 3:
          lcd.print("Dips");
          break;

        case 4:
          lcd.print("Crunches");
          break;

        case 5:
          lcd.setCursor(0, 0);
          lcd.print("Kidding!");
          lcd.setCursor(0, 1);
          lcd.print("Eat chocolate");
          break;

        case 6:
          lcd.print("Toe touches");
          break;

        case 7:
          lcd.print("Lunges");
          break;
      }
    }
  }
  // save the current switch state as the last state
  prevSwitchState = switchState;
}