Women Security Band – Smart and Handy Security Device for Women Project

Objective :

  • To design and develop a smart and handy security device for Women.
  • To alert people in its vicinity and relatives of the victim about the attack and also get help from emergency services.
  • To track the user using google maps under crucial situations.
  • The module developed should be capable to work automatically under crucial situations.

Introduction :

Women Security device is a device that will help women to walk freely in the streets anywhere and at any time. The goal of the women’s security device is to protect women from getting molested in different ways like rape, sexual harassment, abuse, etc. There are existing apps or devices to provide security to women but there are drawbacks to these existing apps or devices. So to overcome such drawbacks and provide security in an enhanced way we are going to propose the women’s security device.

Technical Details :

Following modules/sensors to detect the crucial situation:

1. Pulse rate sensor:

Pulse rate will be the major parameter for the security device because
whenever the person is in danger person’s heartbeat gets increased. So using this parameter we can consider that person can be in danger.

2. Temperature sensor:

This is the second parameter that can be considered when the person is in
danger its temperature starts decreasing so this can be considered as one of the parameters to detect that the person is in danger.

3. Motion sensor:

This is the third parameter we can consider as when the person is in danger due to
fear or anxiety person’s body starts shaking or shivering. So this can be considered as another parameter to send alarm message or call to relatives.

4. Voice Recognition.

We will be using this parameter as well to detect dangerous situations. We will be recording the “HELP” word and when the person shouts when is in danger then by detecting and comparing it with the already recorded word and if it crosses a certain limit of intensity range then we can consider it as a dangerous situation to send alarm message or call to the relatives of the person.

Using the above sensors will provide input to our device
Also to track the user and send emergency messages to listed
contacts and to the nearest police station two modules are used

Problem Statement

To develop an easy-to-carry system that will work automatically without any manual inputs to provide security for women.
Importance of the project.

The expected outcome of the project

A wearable security device that will be user-friendly and feature train the device according to different users. Module to add and remove authorized people for sending alerts to them. Location will be considered while sending alerts.

Functional Requirements:

The user of the Bracelet:-

1. System would Identify the critical situation and normal situation automatically.
2. System would get emergency help automatically when the victim is under attack.
3. System would Blink the LED for 10 secs when a critical situation is detected.
4. Track the nearby victim/friend/relative in an emergency using Google Maps.
5. System would alert the vicinity people.
6. System would get emergency help when the SOS button is pressed manually.
7. Add the contact numbers of friends/relatives on the application to ask help for in an emergency.
8. Login with the already provided unique number using the mobile application.
9. Save the button on the System to write those numbers into GSM.
10. Reset button on the System to reset all previously saved numbers into GSM.

Other than the victim/ User of the Bracelet:-

1.Log in with a verified mobile number.

2. Track the nearby victim/friend/relative in an emergency using Google Maps.

External Interface Specifications:

1. User Interface:-

The user of the Band:-

1. Login.
2. Add the contact numbers of friends/relatives.
3. Tracking the victim using Google Maps.

Other than victim/ User of the Band:-

1. Login.
2. Tracking the victim using Google Maps.

2. Database:-

Firebase Cloud will be used for real-time database storage.

3. Google Maps API will be used for tracking the user.

Technical Specification: There will be one android app and a smart band.

Languages & Technologies:

Languages: C, C++, JAVA, Firebase database
IDE: Arduino, Android Studio

Online Judge – Online Assessment of Programming Assignments Project

Online Judge Objective :

To create an automatic testing system that checks programming assignments/problems wherein teachers add problems and students submit programs.

Abstract :

The online judge will be a system that can be used for the online assessment of programming assignments. The system will have a resemblance with websites such as hackerrank, code forces, etc which provide a platform for competitive programming. A similar system can be deployed in colleges for the submission of practical assignments online. It will be a system where college faculty will have to design the problem statements and prepare test cases that need to be tested on the code submitted by the students and the expected output for each test case. The system will execute the code on all test cases and compare the output generated by the code with the expected output.

Briefs about Contents:

1. Introduction:

Online Judge will be a system that checks for the correct output of a program. As the name suggests the Online Judge will judge the correctness of the programs submitted to it on various parameters like accuracy, time complexity, space complexity, etc.

The purpose of the system is to create a platform where aspiring programmers can improve their coding skills and compete with others and make themselves well-acquainted with the sport of competitive programming. The system also aims at creating the interest of computer science students in competitive programming.

2. Technical Details :

The system will be a web-based interface that will provide a problem setting to faculty and problem description for students and an editor to type his code and submit it. Three languages will be provided. C++, Java, and Python.

3. Working:

The product will check the output of the program submitted by the end-user by comparing it with the sample output already fed to the system by the person who has designed the problem. The sample test cases will be given by the problem designer and the code submitted by the student will be checked on all the test cases.

The time complexity and Space complexity of the program will also be checked by adding a time limit and memory limit. Role of the students: To think of the algorithm for the problem statements. Implement the algorithm using an appropriate programming language. Make a timely submission. Role of the faculties: Faculty will have to give a precise description of the problem statement. They will have to create test cases considering all the scenarios of the problem. Faculty will have to give the format of the input and the output.

4. Applications:

This system can serve as an assignment submission interface as well as a practice site for programming problems thereby improving the programming skills of the students.

Detection of Currency Notes and Medicine Names for the Blind People Project

OBJECTIVE:-

We have seen blind people facing many problems like fake Currency Notes Detection in our society. So, we have come up with some solutions for some problems they face. As they are blind, they are not able to read the medicine’s name and they always depend on another person for help. Some people take advantage of their disability and cheat them by taking extra money or by giving them less money. And by this Currency Notes Detection project, we are making them independent in terms of medical benefits.

METHODOLOGY: –

To overcome the problem of blind people we have come up with an innovative idea, where we are making use of machine learning, image processing, OpenCV, text-to-speech, and OCR technologies. To make their life comfortable.
In this Currency Notes Detection project, we are using a camera for getting the input, where the inputs are pictures of medicine and currency. These images can be manipulated using image processing and OpenCV. Once the processed image is obtained then it is cropped and thresholding is done, In the next stage we will extract the name of the medicine, then we will convert that text into speech using text-to-speech technology.

Similarly, we will also take pictures of currency, and then by using image processing and machine learning we will compare the picture with a predefined database of the currency that we have already prepared. The next process will be to convert the value of currency into text and then the text is converted into speech using text-to-speech technology.

Block Diagram: –

Technology Used:

  • Image Processing: To extract necessary information
  • OpenCV: To threshold image, color shifting, scanning, and cropping, setting grey level, and extract contours
  • Python 3: To set up the environment and interact with devices
  • OCR (Optical Character Recognition)
  • Machine Learning: Handwritten data is trained in a classifier to process manual marks awarded.

Results

The Detection of Currency Notes and Medicine Names for the Blind People Project can help the blind person in the detection of currency notes and medicine names. By this, the blind person would take care of himself without the help of any caretakers. This would make their life easier and simpler. The talk-back feature used would help them to access the application easily without any complications.

  • This project would help blind people to detect the proper currency that they have received or which they need to give without being cheated for receiving the wrong currency or by avoiding giving the wrong currency. This would make them economically stable and strong
  • Not only in currency detection but also this project would help blind people to recognize the name of the tablet and also help them to know how many dosages they need to take as per the name of the tablet.

This Currency Notes Detection project would help blind persons both in an economical way and in the perspective of health. This would make their life easier and make them confident.

Applications

  • Blind persons will be able to recognize the correct currency without getting cheated in any type of money transaction.
  • Blind persons always need not be dependent on others to know which medicines they need to take at a particular time.

Advantages

  • This project will work on mobile phones only no need to buy any extra things.
  • This work is implemented using TalkBack for android and Voiceover for iOS which means blind people can easily access the application.
  • Easy to set up.
  • Open-source tools were used for this project.
  • Accessible to all devices irrespective of the OS.
  • Cheap and cost-efficient.

Disadvantages

  • It is very difficult to determine whether the currency is a fake one when it is an exact copy of the real currency.
  • For the medicine part, the image should be taken from any side where the name of the medicine is written.

Conclusion

This work shows how visually impaired people (blind persons) can protect themselves from getting cheated in terms of money transactions and also how to reduce the dependency on other people to take the right amount of medicine at the right time Whenever the blind person takes the image using his phone camera the image will be compared with the data set which is created.

After comparing the image if it gets the accuracy above the threshold value then it will give the spoken feedback to the person by saying the value of the currency Similarly in the case of medicine detection extract the name of the medicine and gives the spoken feedback as how many times that person needs to take the medicine, thus making this work as one of the assistants for a blind person.

Future Scope

• Include the data set of photos that contain a person’s images it can also be used to detect a person who has a blind person meets.
• It can also be used to track the blind person using GPS

Student Job Placement Management System Project Idea

Introduction:

Student Job Placement Management System project explains Job Placement. This academic project mainly explains the various actions related to students placing to companies online. You can search for various jobs and shuffle according to the role. Our Project Include

Modules:-

  • Admin Module
  • Recruiter Module
  • Student Module

We can develop this application in Java, Spring boot, Hibernate, and MySQL. It’s a web-based project so I have to use HTML, CSS, Thymeleaf, and Bootstrap also.

The main feature of the project is to make Students placed easily. You can access this website from anywhere and everywhere. In the Admin module, the admin can add the Jobs and Manage. He can also view the total number of Students who applied to jobs on the website. And also Recruiters action. Admin can only see the admin page and Job if he wants to Add or delete jobs from the list.

In the Student module, the student can access the website and apply for the job.

In the Recruiter module, a recruiter can post new jobs and maintain the status of students.

Software Requirements:

Front end: Java, Spring Boot, HTML, CSS, JavaScript, Bootstrap, Hibernate, and Thymeleaf.
Back end: MySQL workbench 8.0.23CE.
Middleware/Server: Apache Tomcat v8.5. IDE: Eclipse IDE for Java EE Developers
Browser: Best result on Google Chrome
Operating System: Windows 10

The Pages included in the project:

Home Page
Student – Register page
Recruiter – Register Page

Login Page:

Student – Login page
Recruiter – Login page
Admin – Login page

Student Details

Student – Dashboard
Student – Profile Details
Student – View Jobs
Student – Update Password
Student- Update Details
Student – Upload Resume
Student – Upload Picture
Student – Preview Resume

Recruiter Details

Recruiter – Dashboard
Recruiter – Profile Details
Recruiter – View Jobs
Recruiter – Add New Job Details
Recruiter – Check Applicant Lists
Recruiter – Change Password
Recruiter – Update Details
Recruiter – Search Candidate
Recruiter – Upload your Company Logo

Admin Portal

Admin – Dashboard
Admin – Manage Student
Admin – Manage Recruiter
Admin – View Jobs
Admin – Non-Placed Candidates
Admin – Placed Candidates
Admin-Update Password

Online Student Project Report Submission and Evaluation System PHP Project

Project Overview

The online project report submission and evaluation system enables the student to submit their project report online without submitting any physical file. Before the submission, the student needs to update their progress to the system and the lecturer can view their progress and give comments online.

The online project report submission and evaluation system is providing an online discussion and document sharing for students and lecturers. The pre-existing systems didn’t have the functionalities such as notifying the student when he/she is being added to the project group, online automatic generation of the certificate after the completion of the entire project, and many more which are being implemented in this version of the system.

The proposed system will take away the biggest risk out of the picture i.e. the manual transmission of all the tasks related to the project report and also the design is formulated in such a way that the impersonation will be reduced to a greater level. With the increase in technology, the need for systems is constantly increasing.

What is new today will be old tomorrow. Our system at present will help to overcome the drawbacks of the previous versions of the system as per mentioned in the literature survey. Smooth access and a more user-friendly UI will help the users to get a home-like environment.

A special feature has been inculcated into the system as a result of which the notifications will be received by the faculty as well as the students on their respective registered mobile numbers. The faculty who will be added to the portal as well as the students who will be allotted to them will all get an individual notification that they have been allotted under which group and to which project they have been entitled. No submission is permitted by the system after the deadline has been crossed. The upload report button will be automatically disabled by the system itself so that no reports can be uploaded once the deadline has been crossed.

Objectives

  • The system provides online processing of the reports.
  • Accurate results can be obtained.
  • The proposed system is used to reduce chaos and manual errors.
  • By viewing the reports the management can improve the institutional facilities.

Motivation

  • As society is developing and new trends are emerging in the education sector every coming day.
  • The ‘Online project report submission and evaluation system’ approach is all about managing project reports online for institutional and educational practices
  • Intelligence is used for the automatic generation of the certificates once the project report has been finalized or the deadline is crossed.
  • The motivation is to propose an intelligent system that can be implemented in any organization.

Use Case Diagram for the Proposed System:

Conclusion:

With the increase in technology, the need for systems is constantly increasing. What is new today will be old tomorrow. The proposed system at present will help to overcome the drawbacks of the previous versions of the system as per mentioned in the literature survey. Smooth access and a more user-friendly UI will help the users to get a home-like environment. The electronic marking of student project reports will save a lot of time, effort, and energy as well as expenses. It will also be more accurate and reliable for both the students and their instructions. In all, it will be a great help at the institutional level.

This application can be implemented in various situations. New features can be added as and when required. Reusability is possible as and when required in the proposed system. All modules are flexible. A very useful functionality from which the students could benefit would be if the system had a forum where any discussion could be opened that is related to the project. In the future, a useful feature that can be added is a platform to upload the student’s projects (like applications) to their instructors by the students.

Software Requirements

  • Front-end Design: JS, CSS, HTML
  • Back-end Coding: PHP, MySQL
  • Web Browser: Mozilla Firefox, Google Chrome, or later.
  • Operating System: Linux, Ubuntu, Windows 10.
  • Application Server: XAMPP Server

Download the complete Online Project Report Submission and Evaluation System for College students with HTML, CSS, JavaScript, PHP & MySQL Source code, and Full report documentation.

Car Showroom Management System JAVA & SQL Project

The Car Showroom Management System consists of four major fields of management i.e. store cars, store Sales Persons, store admins, store customers and store total sales progress. Here the store admin manages all the activities such as viewing and adding car details, salesperson details, and admin details of different stores. Each store has a Manager and the Manager’s task here is to fill in the details of the car, customer, sales, and workers of a particular store.

The main goal of this application is to maintain the records of different stores which are visible only to the admin and can only be updated by him. It helps to achieve ease of access in searching car details of the selected store, salesperson’s details of the selected store, and sales details of the selected store.

CAR Showroom Management System is a software application to maintain day-to-day activities in the store, This JAVA & SQL project helps to maintain the record of the bike, customers, workers, and sales information Admin manages adds, updates, and deletes the cars, salespersons, and admin records. Admin also can add new admins. The software is designed to handle, the daily activities of all the stores. Search the details when required.

PROJECT PURPOSE

Provides a simple way of accessing the database. Allows the admin to make a search and find certain bikes, customers, and sales records that are linked through a TIN of different stores located at different locations. Provides centralized control of store database. Holds complete information about the customer.

PROJECT SCOPE

The Car Showroom Management System application is designed and developed so that there will be the elimination of storing the records and other details in a hardcopy thereby supporting its eco-friendly nature. The Bike Showroom Management System application is quite simple and easy to use. This application has not had many Complications. It has a very simple way of maintaining the store records such as storing the bike Details of a certain store, customers visiting a certain store, and the sales details of the store that the admin chooses to gain access to.

PROJECT GOAL

This CAR Showroom Management System project aims to show the shadow implementation of JAVA & SQL which includes a better storage facility, update, and view of data. The application provides a user-friendly interface so that the admin can access it with ease.

Download Car Showroom Management System JAVA & SQL Project Source Code, Project Report.

Attendance Tracking Management System PHP & MySQL Project

The Attendance Tracking Management System maintains the information about the attendance of the students in primary school. The system also maintains the record of all the students and faculty in the school. The records are maintained to maintain the attendance of students. The Attendance Tracking Management System shall be developed using client/server architecture and will be compatible with any Operating System. The front end of the system will be developed using HTML and CSS, and the back end will be developed using PHP and MySQL.

INTRODUCTION AND PROBLEM STATEMENT

With the increasing number of students and the courses, the departments, faculties, and the students are facing issues like:

  • The attendance is taken manually by the faculty.
  • Data in the attendance list might be inaccurate due to deception.
  • Faculty needs to manually analyze the number of absentees and the percentage.
  • It is very time-consuming and the result of the calculation might be inaccurate.
  • Data loss may happen and the whole attendance process is prone to human mistakes.

The proposed software would allow the following functionalities:

  • It enhances the speed of performing attendance task easily.
  • The entire student’s attendance data will be stored and managed properly and effectively.
  • The system enables the lecturer to add, view, delete or make changes accordingly.
  • The system enhances the calculation process to be more accurate and fast.
  • The system will help to analyze all the data inserted and then verified whether every student is following the university attendance policy or not.
  • The attendance will be marked period wise and the reports of the students will be generated.

Introduction

The Attendance Tracking Management System for students is to be developed. The system would allow the following functionalities:

  • It enhances the speed of performing attendance task easily.
  • The entire student’s attendance data will be stored and managed properly and effectively.
  • The system enables the faculty to add, view, delete or make changes accordingly.
  • The system enhances the calculation process to be more accurate and faster.
  • The system will help to analyze all the data inserted and then verified whether every student is following the attendance policy or not.
  • The attendance will be marked date wise and the reports of the students will be generated.

Overall Description

• The ATMS maintains records of attendance of students and details of students, faculty and courses in the school.
• It is assumed that the students have already admitted in the school.
• It is assumed that the students are already enrolled in the courses.
• The system administrator will receive the lists of the admitted students (course wise) from the academic section.
• The establishment section will provide the list of faculty appointed and courses offered in the school.
• The ATMS maintains and views the attendance of students enrolled in the course offered by the school.
• It allows the faculty to mark the attendance of the students in his class.
• It allows the student to view his attendance.

The administrator/DEO will have to maintain the following information:

  1. Attendance details (only admin)
  2. Student details
  3. Faculty details
  4. Course details

Download the complete project on Attendance Tracking Management System project PHP & MySQL code, project report.

Daily College Class Work Report Book PHP Project Code

INTRODUCTION

Problem Definition

To maintain classes throughout the semester, Academic Institutions follow a course/ lesson plan that informs about the order in which classes shall be held. Daily reports are generated and are periodically cross-validated with the lesson plan, such that any inconsistencies can be identified and managed; doing so aids the institutions in reaching course deadlines effectively and in completing curricula without any hurry or stress. This report is known as Daily College Class Work Report Book. A typical Daily Class Work Report requires three candidates, a Report book, and a Lesson-plan document.

A Lesson-plan is created by Academic In-charges, after considering various factors such as potential holidays, with the aim that it must be followed for a stress-free administration.

Each page of a Daily College Class Work Report Book has a table with rows about the hours in a day and columns about the days in a week. Each table cell has two boxes, one for the subject details and another for the topic discussed in that subject; and between table cells, there is an additional space provided for remarks related to the above cell. An additional column is provided for the signature and details of the Class Representative.

These candidates consist of a Class Representative (a student), a Class In-charge (or a mentor), and an Academic In-charge. The CR (Class Representative) notes down the details regarding the classes conducted and the topics discussed on the Daily College Class Work Report Book and forwards it to the CI (Class In-charge). The CI verifies the report for errors and in turn forwards it to the Academic In-Charge. They cross-check the report with the lesson plan and make relevant remarks wherever necessary.

Modules

Login Module:

Authenticates the user details and based on the account type, it redirects to an appropriate module

Academic In-charge Module:

Presents a unique page for the Academic In-charge, wherein they can select a class in their respective departments. During the beginning of a New Year or semester, it allows for Academic In-charges to create and upload new schedules, Lesson plans, and other such data.

Class Representative Module:

Allows Class Representatives to add or modify details relating to classes that have occurred, during the semester.

Reporting Module:

The data, entered by the CR, will be stored in the database and a report will be generated. This report will be displayed to the respective CRs, Class In-charges, and Academic In-charges. The report will have an option for approval and also an option that allows for In-charges to notify lower-level members to make respective changes, in case of any inconsistencies. This module is incorporated in the ‘Home page’, where Class In-charges and Academic In-charges can access other data such as Lesson-plan, and Schedule details.

UML Diagrams

Activity Diagram

ER Diagram

Output Results will be below:

Download the complete PHP & MYSQL project on Daily College Class Work Report Book. Here you can download the project code, and report.

Used Car Price Prediction AI / Machine Learning Project using Python

Abstract

Used Car price prediction using AI / Machine Learning techniques has picked researchers’ interest since it takes a significant amount of work and expertise on the part of the field expert. For a dependable and accurate forecast, a large number of unique attributes are analyzed. We employed 6 different machine learning approaches to develop a model for forecasting the price of used automobiles.

Problem statement

With the Coronavirus sway on the lookout, we have seen a lot of changes in the vehicle market. Presently some vehicles are sought after subsequently making them exorbitant and some are not popular and consequently less expensive. With the adjustment of the market due to the Coronavirus 19 effect, people/sellers are facing issues with their past Car Price valuation AI/Machine Learning models. Along these lines, they are searching for new AI models from new information. Here we are building the new car price, valuation model.

The primary point of this Used Car Price Prediction AI / Machine Learning Project is to create a dataset with the help of web scraping and anticipate the cost of a trade-in vehicle given different elements.

The objective of the Project:

1. Data Collection: To scrape the data of at least 5000 used cars from various websites like Olx, cardekho, cars24, auto portal, cartrade, etc.
2. Model Building: To build a supervised machine learning model for forecasting the value of a vehicle based on multiple attributes.

Motivation Behind the Project:

There are a few major worldwide multinational participants in the automobile sector, as well as several merchants. By trade, international companies are mostly manufacturers, although the retail industry includes both new and used automobile dealers. The used automobile market has seen a huge increase in value, resulting in a bigger percentage of the entire market. In India, about 3.4 million automobiles are sold each year on the secondhand car market.

Collecting the data

We have scraped the data for over 5000 cars using Selenium script from 4 different websites from different locations around the country. The websites are as followed:
1. OLX
2. Cars24
3. CarDekho
4. Autoportal

There are 9 columns:

1.’Brand & Model’: It gives us the brand of the car along with its model name and      manufacturing year

2.’Varient’: It gives us a variety of particular car model

3.’Fuel Type’: It gives us the type of fuel used by the car

4.’Driven Kilometers’: It gives us the total distance in km covered by car

5.’Transmission’: It tells us whether the gear transmission is Manual or Automatic

6.’Owner’: It tells us the total number of owners cars had previously

7.’Location’: It gives us the location of the car

8.’Date of Posting Ad’: It tells us when the advertisement for selling that car was posted online

9.’Price (in ₹)’: It gives us the price of the car.

Here ‘Price (in ₹)’ is our target variable.

Reading the dataset

Now we read the dataset into Pandas and since the target column ‘Price’ is of integer data type, we will apply regression algorithms to it.

Data Cleaning

We check for null values and find that there are few in column ‘Variant’ and we will treat them with Mode.
Since all the features are categorical hence we need not check for outliers and skewness.
Exploratory data analysis
Firstly, we will plot the boxplot and distribution plot for the target variable. And find that few outliers need not be treated and the data is tightly distributed with an almost normalized distribution.

Bar graph

Since Brands, Varients, Driven Kilometers & locations have a wide range of values in them, we will not perform bivariate analysis for them as they will not give us any specific details. Now by plotting the graph of Fuel Type, Transmission, and Owner against Price, we conclude that a Car that uses Diesel has automatic Transmission, and Has only 1 owner is more likely to have a high price.

Model building

The models used in training and testing datasets are as followed:

SVR
Linear Regression
SGD Regressor
neighbors Regressor
Decision Tree Regressor
Random Forest Regressor
Only Decision Tree Regressor and Random Forest Regressor are performing well and giving an accuracy of 80.2 % and 87.7%, respectively.

Final model

The accuracy of Model ‘PriceCar’ (Random Forest Regressor) after applying Hyper Tuned Parameters is found to be 87.79% and the score is 0.98 which is quite good.

Conclusion

Here, we can see that all the predicted prices are either equal or nearly equal to the original prices of the car. Hence we conclude that our model ‘price car’ is working very well. And we shall save it for further use.

Limitations of this work and Scope for Future Work

As a part of future work, we aim at the variable choices over the algorithms that were used in the project. We could only explore two algorithms whereas many other algorithms exist and might be more accurate. More specifications will be added to a system or provide more accuracy in terms of price in the system i.e.
1) Horsepower
2) Battery power
3) Suspension
4) Cylinder
5) Torque

As we know technologies are improving day by day and there is also advancement in-car technology, so our next upgrade will include hybrid cars, electric cars, and Driverless cars.

Download Used Car Price Prediction AI / Machine Learning Project using Python. For more details about the project feel free to contact the developer at github

VHDL Mini Project on Flappy Bird Game Code & Report

Specifications :

In our Flappy Bird mini-project, we were required to implement a game functionally equivalent to “Flappy Bird” using a Basys3 Board and a 128×32 pixel monochromatic Pmod OLED. Flappy Bird is a game where a ‘flying bird’ encounters obstacles in the form of vertical pipes. The objective of the Flappy Bird mini-project game is to guide the bird through the gaps in the pipes without touching them. The game is over if the aforementioned event happens. The bird changes its vertical position through a user-controlled switch and continuously flies to the right through a set of pipes. Collision detection is carried out using the known positions of the bird and the pipes.

Assumptions :

In our version of the game, the bird’s position is not horizontally fixed but moves to the right instead of the pipes moving to the left towards the bird. On reaching the end of the screen it re-enters through the left in the same level as it exists. Also, unlike the original, where pipes have an upper and lower half with a random gap between them, we have pipes either covering the upper half of the display or the lower half of the display. So we have allowed the bird to move only in two levels using a switch.

Design :

In this project, we have 4 pipes, two on the top and two at the bottom, the bird is represented by a symbol. The game has 9 levels with the game speed increasing after each level. The game also has an ‘enable’ and a ‘reset’ switch. The ‘enable’ switch is used to start the game and the ‘reset’ is used to reset the whole display and game. There is also a ‘jump’ switch which when ‘1’ places the bird in the upper half and when ‘0’ places it in the lower half. The top left corner of the screen displays the scores for the current level and the top right corner shows the current level.

Also, the score increases by one unit when the bird moves right by one unit. When the bird reaches the end of the screen the level is incremented and there is a transition screen showing the next level and the bird reaches the start of the screen. Whenever there is a collision the screen transitions to a display and shows the game over and score in that level. Once all 9 levels are crossed the screen shows that you won.

Description of files :

1. Delay: This component is used the deploy a delay of a given amount of time.
2. SPI_interface: This is used to read data bit-by-bit and send it to the display. An 8-bit input is passed into the module and it transmits it bit-by-bit.
3. OLEDInit: This module contains all the commands to turn on the display and this has to do every time the display is powered on.
4. BirdDisp: This is the main module in which the movement of the bird is coordinated and the output for the display is determined. A set of multiple screens has been defined here which is used to display the output on the screen of the Pmod OLED. Also, the scoring and level increment part is taken care of here itself.
5. Pmod_driver: As the name suggests this module works just as a driver for all the previously defined sets of modules.
6. charlie: This is the memory module and we have imported it for use in our game.

References :

• http://www.pld.ttu.ee/~alsu/04_I2C_RTC.pdf
• https://github.com/mmattioli/ZedBoard-OLED/blob/master/rtl/ascii_rom.vhd

Testing and Results :

In this, we were able to successfully create a functional flappy bird game, with nine different levels of speed. The game used switches to change the position of the bird as can be seen on the monochromatic OLED screen. When the bird reaches the end of the screen, it reaches back to the initial column again. When the collision takes place, the game over message is displayed on the monochromatic OLED, denoting the end of the game. Our demo showed that our game played properly with no signs of bugs, glitches, or failure while maintaining a visually appealing image throughout.

Download the Complete VHDL Flappy Bird mini project code, Report and output video file.