A Project Report
A Project Report
On
Submitted By
Khan Hira
Khan Juveriah
Khot Shaza
Supervisor
(Er. FARIDA ATTAR)
CERTIFICATE
This is to certify that the requirements for the report entitled ‘Arduino Nano Clock with 4 x 64
LED Matrix ’ have been successfully completed by the following students:
Name Roll No.
Khan Hira 6117015
Khan Juveriah 6117017
Khot Shaza 6117026
in partial fulfillment of IoT mini Project in the Department of Information Technology, M.H Saboo
Siddik college of Engineering,Byculla,Mumbai-400008. during the Academic Year 2019 – 2020.
_____________________
Supervisor
(Er. FARIDA ATTAR)
i
DEPARTMENT OF INFORMATION TECHNOLOGY
M.H Saboo Siddik College of Engineering,
Byculla,Mumbai-400008.
This project entitled “Arduino Nano Clock with 4 x 64 LED Matrix” by Khan Hira, Khan Juveriah
and Khot Shaza are approved for the degree of Bachelor of Engineering in Information Technology.
Examiners:
1. ________________
2. ________________
3. ________________
Date:
Place:Mumbai
ii
DEPARTMENT OF INFORMATION TECHNOLOGY
M.H Saboo Siddik College of Engineering.
Byculla, Mumbai-400008.
DECLARATION
We declare that this written submission for IoT Mini Project entitled “Arduino Nano Clock
with 4 x 64 LED Matrix” represent our ideas in our own words and where others' ideas or words
have been included. We have adequately cited and referenced the original sources. We also declare
that we have adhered to all principles of academic honesty and integrity and have not misrepresented
or fabricated or falsified any ideas / data / fact / source in our submission. We understand that any
violation of the above will cause for disciplinary action by institute and also evoke penal action from
the sources which have not been properly cited or from whom prior permission have not been taken
when needed.
Khan Hira:
__________________________
Khan Juveriah:
__________________________
Khot Shaza:
__________________________
Date:
Place:Mumbai
iii
Table of Contents
Abstract................................................................................................................................ I
List of Figures...................................................................................................................... i
List of Tables....................................................................................................................... ii
1. Introduction................................................................................................................. 1
1.4 Objectives…………………………................................................................ 4
4 References
5 Acknowledgement
Abstract (Sample)
Today, as the World Wide Web (WWW) is continuing to grow at a faster rate, finding relevant
information is becoming difficult. Information or content can be in any form such as music, video,
images or text which is of interest to the users. Recommendation systems are a subclass of
information filtering system that seek to predict the 'rating' or 'preference' that a user would give to
an item. Therefore various recommendation systems such as content based recommendation system
help to personalize the search and provide only relevant information to the user considering the
previous searching history of the user. However, current recommendation algorithms commonly
suffer from data sparsity and cold start problem, which refers to the incapability of producing
acceptable recommendations until a minimum amount of users ratings are available for training the
prediction models. In this report various techniques such as content-based, collaborative filtering,
demographic, utility, knowledge based and hybrid recommendation system have been studied. The
comparative study of various techniques mentioned above is presented in this report. Different
evaluation parameters like precision, recall, mean absolute error and root mean square error are
described. The different standard datasets of books or movies which may be used in experiment for
recommendation systems are explored.
List of Figures (Sample)
Fig 3.2 Similarity results for user based, item based and hybrid based CF 10
Introduction of IoT
(16pt Font, Times New Roman, Bold, Centre)
In this chapter the relevant literature reviewed. It describes various techniques used in the work.
The summary of the literature presented at the end of this Chapter.
The literature survey shows that a hybrid model is proposed which combines user-based
collaborative filtering and item-based collaborative filtering by adding the predicted ratings from
each technique and multiplying them with a weight that incorporates the accuracy of each technique
alone. The approach benefits from correlation between not only users alone or items alone but from
both simultaneously. The evaluation was conducted on movielens dataset. The choice of weights
was considered by using and adjusting mean absolute error. Thus the survey shows that the hybrid
approach improves the data sparsity problem and the accuracy of the system effectively and
efficiently.
2.1.5 Content and collaborative based filtering and association rule mining
Anandshankertewari, Abhay Kumar and AsimGopal Barman, [5] proposes a new approach to book
recommendation system by combining features of content based filtering, collaborative filtering and
association rule mining. The literature survey shows that various parameters like content and quality
of the book by doing collaborative filtering of ratings by other buyers. The purpose of this system
is to recommend books to the buyer that suits their interest. This system works offline and stores
recommendations in the buyer’s web profile. It finds out the category of the book that the buyer has
bought earlier like novel, science, engineering etc. from the buyers web profile. It finds out the
subcategory of the book.
It performs content based filtering in category /subcategory, to find out the books that are much
similar to the books that the buyer has bought earlier from the buyers past history record. On the
result of the above step, item based collaborative filtering is performed. This step actually evaluates
the quality of the recommending books based on the rating given to those books by the other buyers.
From the book transaction database, find all transactions whose category and sub category is same
as found in step1 and step2. Association rule is applied on those transactions to find out the books
that the buyer can buy afterwards. The support and confidence parameters are adjusted to get
stronger rules. Outcome of this is the final recommendations for the buyer. All these steps are
performed when the buyer is offline and the results are stored in the buyer’s web profile. When the
buyer comes online next time the recommendations will be generated automatically. This system
does not have performance problem since it built the recommendations Offline.
The literature review describes, aggregated opinion recommender that basically recommends
restaurants based on the average score given to it by other customers. The average is calculated
using round mean ratings. However these averages lack context during recommendations. Therefore
basic product association recommender is used. It provides useful non-personalized
recommendations in a context. Recommendations may not be necessarily specific to the user but
specific to what the user is currently doing (viewing/buying). The recommendations in this system
are the same to all users and lack personalization and hence might not appeal to everyone. So
collaborative filtering is used. The collaborative recommender systems overcome the lack of
personalization involved with non-personalized recommender systems. Also no item data is needed
for this approach and it is domain independent. The computational time is low for model based
approaches.
1.4 Objective
#include <SPI.h>
#include "DS3231.h"
#include "MD_MAX72xx_lib.h"
//#include "Font_Data.h"
#define MAX_DEVICES 4
// Define pins
#define CLK_PIN 13 // or SCK
#define DATA_PIN 11 // or MOSI
#define CS_PIN 10 // or SS
#define HARDWARE_TYPE MD_MAX72XX::ICSTATION_HW
#define USE_NEW_FONT 1
bool timeset=false;
// done with font character, now display the space between chars
if (curLen == showLen)
{
showLen = CHAR_SPACING;
state = 2;
}
break;
default:
col = -1; // this definitely ends the do loop
}
} while (col >= (modStart * COL_SIZE));
void setup() {
pinMode(LDR_PIN, INPUT_PULLUP);
Serial.begin(9600);
Serial.println(F(">> Arduino 32x8 LED Dot Matrix Clock!"));
Serial.println(F(">> Use <dd/mm/yyyy hh:mm:ss> format to set clock's date and
hour!"));
rtc.begin();
matrix.begin();
matrix.clear();
FONT_WIDTH= 5 + SPACER; // The font width is 5 pixels
matrix.control(MD_MAX72XX::INTENSITY, 2);; // Use a value between 0 and 15 for
brightness
}
void getDate()
// Date Setup: Code for reading clock date
{ char*
months[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
String dts = rtc.getDateStr(); // Get dd/mm/yyyy string
String dds=dts.substring(0,2); // Extract date
String mms=dts.substring(3,5); // Extract month
int mm=mms.toInt(); // Convert to month number
dds.concat(" ");
dds.concat(String(months[mm-1])); // Rebuild date string as "dd Mmm"
dds.toCharArray(buf,sizeof(buf)); // return buffer
}
void getHour()
// Date Setup: Code for reading clock date
{ char*
months[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
void showsec()
{
String dts = rtc.getTimeStr(); // Get hh:mm:ss string
String scs1=dts.substring(6,7);
String scs2=dts.substring(7);
char sc1=148+scs1.toInt(); // Convert to index of char
char sc2=148+scs2.toInt(); // Convert to index of char
matrix.setChar(6,sc1);
matrix.setChar(2,sc2);
}
void loop() {
byte ledIntensity = ledintensitySelect(analogRead(LDR_PIN));
matrix.control(MD_MAX72XX::INTENSITY, ledIntensity);; // Use a value between 0 and
15 for brightness
// Show hh:mm from buf
getHour();
printText(0,MAX_DEVICES-1,buf);
delay(WAIT);
getDate();
printText(0,MAX_DEVICES-1,buf);
delay(20*WAIT);
}
2.2 Snapshots of working project
Screenshots of :-
Stepwise screenshots of :-
● Creation of account in Thingspeak till uploading sensor data represented with graph
● Title of Project
● Required hardware and software to complete project
● Explain the working flow of Mini Project along with connections till data
brought to Thingspeak
Upload the video and documentation in a website put the screenshot of it in report
https://drive.google.com/drive/folders/1pJbwfPlGVUrWoCmfWTxU_YhP9Os2
2I5a?usp=sharing
(Each group should create their folder in given batch folder and should
upload ONLY ONCE )
Chapter 3
In preparation of our project, we had to take the help and guidance of some respected persons, who
deserve our deepest gratitude. As the completion of this project gave our much pleasure, we
would like to show my gratitude Ms. Farida Attar , Course Instructor, for giving me a good
guidelines for project throughout numerous consultations. We would also like to expand my
gratitude to all those who have directly and indirectly guided me in writing this project.
We would like to express our special thanks of gratitude to my HOD Ms. Zainab Mirza as well as
our Principal Zakir who gave me the golden opportunity to do this wonderful project on the topic
Arduini nano with 4x64 matrix which also helped me in doing a lot of Research and i came to
know about so many new things I am really thankful to them.
Many people, especially my classmates have made valuable comment suggestions on my paper
which gave me an inspiration to improve the quality of the assignment.
Khan Hira
Khan Juveriah
Khot Shaza
What is ThingSpeak?
ThingSpeak is an IoT platform for data collection and analytics that serves as a bridge
connecting edge node devices such as temperature, humidity, pressure etc. sensors to
collect data and data exploratory analysis software to analyze data.
ThingSpeak serves as the data collector which collects data from edge node devices
(Nodemcu/ESP8266 is this case) and also enables the data to be pulled into a software
environment for historical analysis of data.
The primary element of ThingSpeak activity is the channel, which contains data fields,
location fields, and a status field. After you create a ThingSpeak channel, you can write
data to the channel, process and view the data with MATLAB code, and react to the data
with tweets and other alerts.