100% found this document useful (1 vote)
106 views

Copy of Python_Microproject Format_2024-25

The document outlines a micro project titled 'Alarm Clock' undertaken by students in the Computer Engineering program for the academic year 2024-25. It details the project's aim to create a customizable alarm clock application using Python, including methodologies, action plans, and resources required. The report also includes a literature review, actual procedures followed, and code implementation for the alarm clock system.

Uploaded by

dee.m4852
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
106 views

Copy of Python_Microproject Format_2024-25

The document outlines a micro project titled 'Alarm Clock' undertaken by students in the Computer Engineering program for the academic year 2024-25. It details the project's aim to create a customizable alarm clock application using Python, including methodologies, action plans, and resources required. The report also includes a literature review, actual procedures followed, and code implementation for the alarm clock system.

Uploaded by

dee.m4852
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

MICRO PROJECT

Academic year
2024-25

Alarm Clock

Program: Computer Engineering Program code:CO6I

Course: Programming with Python Course code: 22616


MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION

Certificate

This is to certify that Mr. /Ms. Hemant Bhatia, Gaurav Punjabi, Pooja Makhija Roll No.37,38,39

Of Sixth Semester of Diploma in Computer Engineering of Institute, VES POLYTECHNIC

(Code: 0004) has completed the Micro Project satisfactorily in Subject – Programming with

Python (22616) for the academic year 2024- 2025. as prescribed in the curriculum.

Place: Chembur Enrollment No: 2200040356-358

Date: ……………………… Exam Seat No: ………………………….

Subject Teacher Head of the Department Principal

Seal of
Institution
INDEX

Academic year: 2024-25 Name of the faculty: Mrs. Shubhangi Chintawar

Program code: CO6I Course & course code: PWP (22616)

Name of the candidate: Hemant Bhatia, Gaurav Punjabi, Pooja Makhija

Roll No.37,38,39 Enrollment No.2200040356-358

Sr.No Content Page No.

1 Project Proposal 01

2 Action plan 02

3 Resource required 02

03
4 Introduction

5 Actual Procedure 04

6 Output

7 Skill developed

8 Evaluation sheet
Annexure – I
Micro-Project Proposal

Alarm Clock

1.0 Aim/Benefits of the Micro-Project


This Micro-Project aims at

An alarm clock is a device designed to help individuals wake up at a set time, ensuring
punctuality and effective time management. It plays a key role in establishing a consistent
routine, promoting better sleep habits, and improving productivity by providing a reliable wake-
up mechanism. With customizable features like adjustable sounds or vibrations, alarm clocks
cater to individual preferences, making them a versatile tool for maintaining daily schedules. By
reducing the stress of oversleeping, alarm clocks contribute to a more organized and timely
lifestyle, ultimately supporting physical and mental well-being.

2.0 Course Outcomes Addressed


• Display message on screen using python script on IDE
• Develop a python program to demonstrate use of Operators.
• Perform operations on data structure in Python
• Develop function for given problem
• Design classes for given problem
• Handle exception

3.0 Proposed Methodology

● Planning: Establish project objectives and requirements for the Python project, outlining
the
goals and functionalities of the application.
● Tech Stack: Opt for Python and relevant libraries/frameworks suitable for the project
requirements, ensuring a cohesive and efficient development environment.
● Environment: Configure development tools and dependencies to create a robust and
conducive programming environment for Python application development.
● UI Design: Develop a user-friendly interface using Python frameworks like Tkinter or
Django, focusing on intuitive input methods and clear result displays.
● Logic Implementation: Implement the core logic and functionalities of the Python
application, ensuring accurate and efficient processing of data based on the project’s
1
objectives.
● Result Presentation: Display results appropriately within the user interface, providing
relevant information and feedback for the user in the Python project.
● Testing and Debugging: Thoroughly test the Python application to verify correct
functionality, addressing and resolving any issues or bugs encountered during the testing
phase.

4.0 Action Plan

SR. Details of activity Planned Planned Name of Responsible


No. Start date Finish date Team Members

1 Finalization of project Title and Scope 6/1/2025 13/1/2025 All

2 Project Definition 13/1/2025 20/1/2025 All

3 Information Collection and Analysis of Data 20/1/2025 27/1/2025 All

4 Algorithm and Flow Diagram 27/1/2025 17/2/2025 All

5 Coding 17/2/2025 10/3/2025 All

6 Output 3/3/2025 10/3/2025 All

7 Report writing 10/3/2025 17/3/2025 All

8 Demonstration of project & final submission 10/3/2025 24/3/2025 All

5.0 Resources Required

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hp Laptop – Windows 11

2 Editor used – VS Code , Software – Python 3.4.2

2
Name of Team Members with Roll Nos.
1. Hemant Bhatia 37
2. Gaurav Pujabi 38
3. Pooja Makhija 39

Mrs. Shubhangi Chintawar


Name and Signature of Course Teacher

Annexure – II

Micro-Project Report

Alarm Clock
1.0 Rationale

The report elucidates the central aim and objectives of the Alarm Clock System. It provides
insight into the project's origin and the specific aims it sought to fulfill, such as developing a
reliable and customizable tool for time management and waking up. The report outlines the key
features and functionalities intended to enhance user convenience, such as setting alarm times,
snooze options, and a user-friendly interface for easy time adjustments. It highlights the
importance of leveraging technology to cater to individual preferences and needs, ensuring
punctuality and improving daily routine efficiency. The system emphasizes reliability, accuracy,
and simplicity, ensuring that users can manage their time effectively and meet their daily
commitments.

2.0 Aim/Benefits of the Micro-Project


An alarm clock is a device designed to help individuals wake up at a set time, ensuring
punctuality and effective time management. It plays a key role in establishing a consistent
routine, promoting better sleep habits, and improving productivity by providing a reliable wake-
up mechanism. With customizable features like adjustable sounds or vibrations, alarm clocks
cater to individual preferences, making them a versatile tool for maintaining daily schedules. By
reducing the stress of oversleeping, alarm clocks contribute to a more organized and timely
lifestyle, ultimately supporting physical and mental well-being.

3.0 Course Outcomes Addressed


• Display message on screen using python script on IDE

3
• Develop a python program to demonstrate use of Operators.
• Perform operations on data structure in Python
• Develop function for given problem
• Design classes for given problem
• Handle exception

4.0 Literature Review

An Alarm Clock System is a software solution designed to efficiently manage and streamline the
process of waking up and setting alarms. In the context of your console application, it serves as a
digital tool that empowers users to manage their time effectively and ensure punctuality. This
system typically includes features such as alarm time setting, snooze options, and displaying the
current time, providing users with a simple and accessible way to interact with their daily
schedule. The primary goal is to automate the process of waking up, enhance the user’s time
management, and improve their overall daily routine by leveraging technology.

Within the console application, users can initiate the alarm-setting process, allowing them to set
a specific time for the alarm to trigger. This includes entering the desired time for the alarm,
along with optional customization such as selecting alarm tones or volume levels. The system
also provides a snooze functionality, allowing users to temporarily delay the alarm for a few
minutes, offering a more flexible wake-up experience. Additionally, the application displays the
current time, ensuring users are always aware of the time and can make adjustments to the alarm
settings if necessary.

The Alarm Clock System, being a console application, offers a straightforward and text-based
interface for users to set and manage their alarms. It aligns with the growing trend of digital time
management tools, providing a convenient and efficient way for users to manage their wake-up
times without the need for physical devices. The simplicity of the console interface hides the
complexity of the underlying operations, making it accessible to individuals with varying levels
of technical expertise.

Overall, the Alarm Clock System encapsulates the essence of modern time management
solutions, combining functionality, convenience, and ease of use within a digital framework. The
system’s ability to allow users to set alarms, use snooze features, and display the current time
ensures a reliable and effective means of managing daily schedules, ultimately enhancing user
punctuality and time management skills.

4
The Alarm Clock System also incorporates essential features such as the ability to set multiple
alarms, providing flexibility for users with varying schedules. For example, users can configure
different alarms for specific days of the week or even set recurring alarms, ensuring that they are
reminded at the appropriate times. In addition to the alarm functionality, the system may offer
features like customizing alarm sounds, allowing users to select tones or even upload their
preferred audio. This added personalization enhances the user experience, ensuring the system
adapts to different preferences and making it a more enjoyable and effective tool for managing
time.

Furthermore, the Alarm Clock System emphasizes the importance of reliability and accuracy in
its operations. The system ensures that alarms are triggered precisely at the set time, minimizing
the chances of errors or delays. Security measures, such as password protection or PIN code
access, can be implemented to prevent unauthorized modifications to alarm settings, especially
for shared or public devices. The ability to track alarm history or usage can also be integrated
into the system, providing users with insights into their wake-up habits and enabling them to
refine their time management strategies.

5.0 Actual Procedure Followed.

Algorithm

Step 1: Define the AlarmClock class to encapsulate alarm system functionalities.


Step 2: Implement the __init__ method to initialize the Tkinter window, pygame mixer,
variables, and UI components.
Step 3: Create the create_widgets method to set up labels, dropdowns, and buttons for alarm
settings.
Step 4: Implement the update_clock method to update the clock every second and check for
alarm activation.
Step 5: Implement the set_alarm method to retrieve user-selected alarm time, format it, and
update the UI.
Step 6: Implement the cancel_alarm method to stop the alarm, disable snooze, and reset the UI
status.
Step 7: Implement the snooze_alarm method to delay the alarm by 5 minutes and update the
status message.
Step 8: Implement the trigger_alarm method to play the alarm sound, enable snooze/cancel, and
stop after 60 seconds.
Step 9: Set up the main function to initialize Tkinter, create an AlarmClock instance, and start

5
the event loop.
Step 10: Handle errors and exceptions in alarm sound playback using try-except blocks.
Step 11: Ensure the program terminates gracefully when the user exits by stopping background
processes.
Step 12: Execute the main function using if __name__ == "__main__": to run the application.

Flow Diagram

6
Code

import tkinter as tk
from tkinter import ttk, messagebox
import time
import datetime
import threading
import pygame

class AlarmClock:
def __init__(self, root):
self.root = root
self.root.title("Alarm Clock")
self.root.geometry("400x500")
self.root.resizable(False, False)
self.root.configure(bg="#282C34")

# Initialize pygame for sound


pygame.mixer.init()

# Alarm variables
self.alarm_time = None
self.alarm_set = False
self.snooze_time = 5 # Minutes

# UI Setup
self.create_widgets()

# Start clock update loop


self.update_clock()

def create_widgets(self):
"""Create UI elements for alarm clock"""
ttk.Label(self.root, text="ALARM CLOCK", font=("Helvetica", 16,
"bold"), foreground="white", background="#282C34").pack(pady=10)

7
# Display live time
self.time_label = tk.Label(self.root, font=("Helvetica", 48),
bg="#282C34", fg="cyan")
self.time_label.pack()

self.date_label = tk.Label(self.root, font=("Helvetica", 14),


bg="#282C34", fg="lightgray")
self.date_label.pack(pady=5)

ttk.Separator(self.root, orient='horizontal').pack(fill='x',
pady=10)

# Alarm settings frame


frame = tk.Frame(self.root, bg="#282C34")
frame.pack(pady=10)

tk.Label(frame, text="Hour:", bg="#282C34",


fg="white").grid(row=0, column=0, padx=5)
self.hour_var = tk.StringVar(value="12")
self.hour_box = ttk.Combobox(frame, textvariable=self.hour_var,
values=[f"{i:02d}" for i in range(1, 13)], width=5)
self.hour_box.grid(row=0, column=1)

tk.Label(frame, text="Minute:", bg="#282C34",


fg="white").grid(row=0, column=2, padx=5)
self.min_var = tk.StringVar(value="00")
self.min_box = ttk.Combobox(frame, textvariable=self.min_var,
values=[f"{i:02d}" for i in range(60)], width=5)
self.min_box.grid(row=0, column=3)

tk.Label(frame, text="AM/PM:", bg="#282C34",


fg="white").grid(row=0, column=4, padx=5)
self.period_var = tk.StringVar(value="AM")
self.period_box = ttk.Combobox(frame,
textvariable=self.period_var, values=["AM", "PM"], width=5)
self.period_box.grid(row=0, column=5)

# Buttons
button_frame = tk.Frame(self.root, bg="#282C34")
button_frame.pack(pady=20)

self.set_btn = tk.Button(button_frame, text="Set Alarm",


command=self.set_alarm, width=10, bg="green", fg="white",
font=("Helvetica", 10, "bold"))
self.set_btn.grid(row=0, column=0, padx=10)

8
self.cancel_btn = tk.Button(button_frame, text="Cancel",
command=self.cancel_alarm, width=10, bg="red", fg="white",
font=("Helvetica", 10, "bold"), state=tk.DISABLED)
self.cancel_btn.grid(row=0, column=1, padx=10)

self.snooze_btn = tk.Button(button_frame, text="Snooze (5 min)",


command=self.snooze_alarm, width=15, bg="orange", fg="black",
font=("Helvetica", 10, "bold"), state=tk.DISABLED)
self.snooze_btn.grid(row=1, column=0, columnspan=2, pady=10)

self.status_label = tk.Label(self.root, text="No alarm set",


font=("Helvetica", 12), bg="#282C34", fg="lightgray")
self.status_label.pack()

def update_clock(self):
"""Updates the displayed clock and checks for alarm
activation."""
now = datetime.datetime.now()
self.time_label.config(text=now.strftime("%I:%M:%S %p"))
self.date_label.config(text=now.strftime("%A, %B %d, %Y"))

if self.alarm_set and self.alarm_time == now.strftime("%I:%M


%p"):
self.trigger_alarm()

self.root.after(1000, self.update_clock)

def set_alarm(self):
"""Sets the alarm with the selected time"""
hour = self.hour_var.get()
minute = self.min_var.get()
period = self.period_var.get()

self.alarm_time = f"{hour}:{minute} {period}"


self.alarm_set = True

self.set_btn.config(state=tk.DISABLED)
self.cancel_btn.config(state=tk.NORMAL)
self.snooze_btn.config(state=tk.DISABLED)

self.status_label.config(text=f"Alarm set for {self.alarm_time}")

messagebox.showinfo("Alarm Set", f"Alarm has been set for


{self.alarm_time}")

def cancel_alarm(self):
"""Cancels the alarm"""
9
self.alarm_set = False
self.set_btn.config(state=tk.NORMAL)
self.cancel_btn.config(state=tk.DISABLED)
self.snooze_btn.config(state=tk.DISABLED)
self.status_label.config(text="No alarm set")

pygame.mixer.music.stop()

def snooze_alarm(self):
"""Snoozes the alarm for 5 minutes"""
self.alarm_set = True
snooze_time = datetime.datetime.now() +
datetime.timedelta(minutes=self.snooze_time)
self.alarm_time = snooze_time.strftime("%I:%M %p")

pygame.mixer.music.stop()
self.snooze_btn.config(state=tk.DISABLED)
self.status_label.config(text=f"Alarm snoozed until
{self.alarm_time}")

messagebox.showinfo("Snooze", f"Alarm snoozed for


{self.snooze_time} minutes!")

def trigger_alarm(self):
"""Triggers the alarm"""
self.alarm_set = False # Reset alarm

self.status_label.config(text="ALARM! WAKE UP!")

try:
pygame.mixer.music.load("alarm.wav") # Load sound
pygame.mixer.music.play(-1) # Loop indefinitely
except:
print("\a") # Fallback beep sound
print("ALARM! WAKE UP!")

self.snooze_btn.config(state=tk.NORMAL)
self.cancel_btn.config(state=tk.NORMAL)

# Stop alarm after 1 minute if no action is taken


threading.Timer(60, self.cancel_alarm).start()

# Run the Alarm Clock


if __name__ == "__main__":
root = tk.Tk()
app = AlarmClock(root)
10
root.mainloop()

6.0 Actual Resources Used


Sr.No. Equipment Name with Broad Specification Remark if
any

1 Desktop pc – Windows 7

2 Editor used – Python IDLE, Software – Python 3.4.2

7.0 Outputs of the Micro-Projects

11
12
13
14
8.0 Skill Developed / learning out of this Micro-Project \
The following skills were developed while performing and developing this micro-project:-
1. Designing: Designing of micro project with minimum required resources and at low
cost.
2. Teamwork: Learned to work in a team and boost individual confidence.
3. Time Management: Timely completion of micro project as scheduled.
4. Data Analysis: Interpretation of data
5. Problem-solving: Develop good problem-solving habits.
6. Technical writing: Preparing a report of the proposed plan and final report.

9.0 Application of this Micro-Project

1. Alarm Management: The system allows users to set, modify, and manage their alarms.
This includes creating new alarms, adjusting alarm times, and enabling or disabling
alarms as needed. Users can customize their alarm settings to suit their preferences, such
as selecting alarm sounds or snooze durations.
2. Alarm History Tracking: Users can view a detailed history of triggered alarms. This
feature is useful for monitoring previous alarm settings and times, giving users insight
into their wake-up habits and allowing them to track alarm performance.
3. Secure User Authentication: The system ensures secure user authentication through a
PIN or password, protecting alarm settings and preventing unauthorized access to alarm
configurations. This feature ensures that users' alarm preferences remain private and
secure.

15
Annexure – III

Suggested Rubric for Assessment of Micro-Project


S. Characteristic to Poor Average Good Excellent
No. be assessed ( Marks 1 - 3 ) ( Marks 4 - 5 ) ( Marks 6 - 8 ) ( Marks 9- 10 )

Relevance to the Relate to very Related to Take care of at-least Take care of more
1
course few LOs some LOs one CO than one CO

Literature Not more than At-least 5


About 10 relevant
review two sources relevant At –least 7 relevant
2 sources, most
/information very old sources, at least sources, most latest
latest
collection reference 2 latest

Completion of the
Completed Completed 50 Completed 60 to Completed more
3 Target as per
less than 50% to 60% 80% than 80 %
project proposal

Sufficient and
Data neither appropriate Sufficient and
Enough data
organized nor enough data appropriate enough
Analysis of Data collected and
4 presented well generated but data generated
and representation sufficient and
not organized which is organized
presenting data.
and not and but not used.
presented well.

Well assembled
Just assembled Well assembled and
Quality of with proper
Incomplete and some functioning parts.
Prototype/Model functioning parts..
5 Programming codeis not But no creativity in
Creativity in
code functioning design and use of
design and use of
well. graphics function
graphics function

Nearly
Very short, Detailed, correct and
sufficient and
Details about clear description of Very detailed,
correct details
methods, and methods and correct, clear
Report about methods,
6 conclusions description of
Preparation and conclusion. Conclusions.
omitted, some methods, and
but clarity is Sufficient Graphic
details are conclusions.
not there in Description.
wrong
presentation.

7 Presentation of Major Includes major Includes major Well organized,


the micro project information is information but information and well includes major
16
not included, not well
information is organized and organized but not information ,well
not well not presented presented well presented
organized. well

Replied to
Could not
considerable
reply to Replied properly to Replied most of
number of
8 Defense considerable considerable number the questions
questions but
number of of question. properly
not very
question.
properly

Annexure – IV

Micro Project Evaluation Sheet


Name of Student: Hemant B , Gaurav P , Pooja M Enrollment No:
2200040356-358
Name of Program: Computer Engineering Semester: Sixth
Course Title: Programming with Python Course Code:22616

Title of the Micro-Project: Alarm Clock

Cos addressed by Micro Project: (Tick appropriate COs)

• Display message on screen using python script on IDE


• Develop a python program to demonstrate use of Operators.
• Perform operations on data structure in Python
• Develop function for given problem
• Design classes for given problem
• Handle exception

Poor
Sr. Characteristic to be Average Good Excellent
( Marks1-
Sub Total
No assessed (Marks 4-5 ) (Marks 6-8) ( Marks9-10)
3)

(A) Process and Product Assessment (Convert Above Total marks out of 6 Marks)

1 Relevance to the course

17
Literature review/
2
Information Collection

Completion of the Target


3
as per project proposal

Analysis of Data and


4
representation

Quality of
5
Prototype/Model

6 Report Preparation

(B) Individual Presentation / Viva (Convert above total marks out of 4 marks)

7 Presentation

8 Defense/Viva

Total Marks
Process and Product Assessment Individual Presentation / Viva
Roll No.
(6 Marks) (4 Marks) 10

37

38

39

Name and designation of the Teacher: Mrs. Shubhangi Chintawar (Lecturer)


Dated Signature:

18
19

You might also like