cover photo

COURSEWORK

Jeevashree's EV-RE-001 course work. Lv 1

work cover photo
This Report is yet to be approved by a Coordinator.

Jeevashree's EV-RE-001

3 / 9 / 2025


TASK 2 : API

Objective:

Learn the working of an API and its applications. Using any API of your choice, build a user interface (web app, mobile app etc.), where you can make calls and then display the necessary information.

Outcome:

TASK 3 : Working with GitHub

Objective:

Familiarize yourself with GitHub integrated workflows (GitHub actions), Issues, and pull requests with this task. Given below is a git repository, go check it out and then perform the necessary tasks stated in the readme file. Check this link for more info: https://github.com/UVCE-Marvel/git-task

Learnings and outcome:

  • I have learnt the working of GitHub
  • For completing the specified MARVEL task, firstly I had to create my own repository then forked the given repository into my repository, then debugged the mistake in the code and finally clicked ‘pull request’ git click here to see my pull request

TASK 4 : Working with Ubuntu

Objective:

Get familiar with the command line on ubuntu and do the following subtasks:

  1. create a folder named test.
  2. cd into that folder.
  3. create a blank file without using any text editor.
  4. list the files in that folder
  5. create 2600 folders in this folder where each folder is named like. For example, M90 or B56.
  6. concatenate two text files containing any random text and display them on the terminal.

Learnings and outcome:

I used the following commands in this task:

  1. to create a folder named test: mkdir test
  2. to change directory (cd) into that folder: cd test
  3. to create a blank file without using any text editor: touch blank.txt
  4. to list the files in that folder: ls
  5. to create 2600 folders in this folder where each folder is named like M90 or B56: mkdir M{0001..2600}
  6. to concatenate two text files containing any random text and display them on the terminal: cat blank.txt blank2.txt
    git git

TASK 5 : Build Your Own Brain -Linear Regression from Scratch

Objective:

Dive into the core of machine learning by implementing Linear Regression from scratch using , and compare its performance with the scikit-learn implementation . Use the California Housing dataset to evaluate your model on real-world data.

Your Task:

  • Implement linear regression manually (without using ML libraries for training).
  • Understand and apply gradient descent to minimize error.
  • Compare your custom model’s performance against sklearn.linear_model.Linear Regression .
  • You should analyze results by:
  • Graph showing line of best fit and the datapoints.
  • Performance metrics: MSE, MAE, R² for both custom and scikit-learn models. *Brief comparison between two models.

Learnings and outcomes:

1. Task Overview:

  • The goal of this project is to understand how Linear Regression works by implementing it from scratch using Python.
  • You will compare your model’s performance with scikit-learn’s Linear Regression, a popular machine learning library. *The California Housing dataset is used to train and test the models on real-world data.

2. Dataset Used:

  • The California Housing dataset contains information about housing prices along with various features like median income, house age, etc. *This dataset is commonly used to test regression models because it reflects complex real-world scenarios.

3. Key Steps Followed:

Data Preprocessing
  • Features and target values were extracted.
  • Data was split into training and testing sets.
  • Feature scaling was applied to ensure better convergence during training.
Implementing Linear Regression from Scratch
  • Initialized weights and bias.
  • Used gradient descent to iteratively update the weights.
  • Calculated the cost function (Mean Squared Error) at each step to monitor learning.
Using Scikit-learn Implementation
  • Applied LinearRegression() from scikit-learn.
  • Trained the model on the same data and compared predictions.

Graph Analysis

  • The graph shows how well the regression line fits the data points.
  • The trend line helps visualize the relationship between input features and output prices.
  • It was observed that proper scaling and optimization allowed the model to closely follow the data distribution.

Evaluation Metrics

  • Mean Squared Error (MSE) and R² score were used to compare the performance.
  • The scratch implementation performed similarly to the scikit-learn model after sufficient iterations. linear

TASK 7 : Portfolio Webpage

Objective:

Create a website to showcase your portfolio - about yourself, interests, projects, social media profiles and more.

Outcome:

Using HTML, CSS and JavaScript, I created my own portfolio webpage that displays information about me.

port

port

 Click here to view my Git repository containing the files I used for creating my portfolio webpage:   Jeevashree's Portfolio

TASK 8: Writing a Resource article using Markdown

I wrote a resource article on the The Future of Electric Vehicles (EVs): Driving Towards a Sustainable Tomorrow. click here to view the article [[Resource article]]

TASK 9 : Tinkercad

Objective:

Create a Tinkercad account, get familiar with the application, understand the example circuits given and simulate a simple circuit using an ultrasonic sensor to estimate the distance between an obstacle and the sensor. Display the results on the serial monitor. Create a radar system utilising an ultrasonic sensor and servo motor to detect objects within a certain range.

Components used:

tinker

TASK OUTCOMES:

  • Introduction to TinkerCad
  • Working of ultrasonic sensor and servo motor Firstly create the circuit shown below tinker

Connections:

LCD 16 x 2 (I2C)Arduino UNO
VCC5V
SDABlank pin
SCLBlank pin
GNDGND
Servo MotorArduino UNO
GroundGND
Power5V
SignalPin 3
Ultrasonic SensorArduino UNO
VCC5V
TRIGPin 8
ECHOPin 9
GNDGND
  • Ultrasonic sensor has a transmitter and a receiver (the 2 cylindrical protrusions on it). It basically emits sound waves and measures the time taken for them to bounce back. While the servo motor rotates the sensor to cover a wider area, providing a simple yet effective detection mechanism. Thus, an ultrasonic sensor-servo motor combination is highly useful for Radar system to detect and track aircrafts, ships, missiles etc. over a wide range of area. click here to Open Tinkercad Project

TASK 10 : SPEED CONTROL OF DC MOTOR

Objective:

Explore basic techniques for controlling DC motors, understand the control DC motors using the L298N motor driver and the Arduino board. Using an UNO and H-Bridge L298N motor driver, control the speed of a 5V BO motor, try simulating this on tinkercad and then perform it on the hardware, Record videos of you doing the same.

Components required:

COMPONENTQUANTITY
Arduino UNO board1
L298N Motor driver1
DC Motor1
VRPS/Battery1
Bread board1

Connection:

tk

L298N Motor driverComponents
EN A~10 of Arduino UNO
IN 18 (i.e. 8th digital pin) of Arduino UNO
IN 2~9 of Arduino UNO
GND-ve of 9V power supply
12V+ve of 9V power supply
OUT 11st terminal of DC motor
OUT 22nd terminal of DC motor
L293D
PotentiometerArduino UNO
GroundGND
Power5V
Signal (Central Pin)A0

pot

Concept behind speed controlling of DC motor using L298N driver

The speed of a DC motor can be controlled by changing its input voltage. A widely used technique to accomplish this is Pulse Width Modulation (PWM). PWM is a technique in which the average value of the input voltage is adjusted by sending a series of ON-OFF pulses. This average voltage is proportional to the width of the pulses, which is referred to as **Duty Cycle i.e. higher the duty cycle, higher will be the average voltage applied to the DC motor, resulting in an increase in motor speed, similarly, shorter the duty cycle, lower will be the average voltage applied to the DC motor, resulting in a decrease in motor speed. EN A and EN B pins of L298N driver are responsible for speed control of DC motor thus they are connected to the PWM pins of the Arduino board so that PWM takes place.

My Work

TASK 11 : LED Toggle using ESP32

Objective:

Learn the working of an ESP32 and create a standalone web server with an ESP32 that controls the LED connected with ESP32 GPIOs. Use the Arduino IDE to code and upload the program to the ESP32. Learn to configure the IDE to upload code to an ESP32.

Components required:

ComponentNameQuantity
220 Ω resistorsR1 and R22
ESP32U11
LEDsD1 and D22

Connection and working:

Firstly, the connections are made as shown below. Then the required code is fed into the ESP32 microcontroller, after which we need to enter the mobile hotspot credentials into the code, then upload. After the compilation of the code, we’ll receive an IP address which need to be pasted into the browser, then toggle the LED using the same website. led led

TASK 12 : Soldering Prerequisites

Objective:

Learn about the soldering equipment present in our lab, the solder, the soldering iron, soldering wick, flux, etc. Learn to use them and perform basic soldering on a perf board, for example a LED circuit in the presence of a coordinator and document the same.

Learnings:

(image for illustration) solder

  • After switching ON the soldering station, the soldering iron get heated up (as it will be very hot, it needs to be placed on the soldering iron stand)
  • Before soldering, the iron tip needs to be cleaned by sand paper, wiped on a wet sponge then slightly touch the flux (to prevent oxidation)
  • The iron along with the solder wire, are then kept at the junction of equipment and perf board, thereby soldering the equipments
  • Solder is an alloy of lead and tin. Thus, while soldering, never keep your face very close to it as lead gas is released, which is very poisonous and should not be inhaled
  • Soldering wick, also known as desoldering braid, is used to desolder a joint

Outcome:

(Before following the first 3 points under ‘Learnings’, the equipments need to be fixed on the perf board ensuring proper orientation…For the MARVEL task, I had to fix an LED and a resistor in series to the perf board, then soldered them to the board. Finally, to check the working of LED, I’d to connect one terminal each of the LED and resistor to a battery) solder

TASK 13 : 555 IC astable multivibrator with 60% duty cycle

Objective:

Design a 555 IC astable multivibrator with 60% duty cycle

Components required:

ComponentNameQuantity
555 IC TimerU11
0.033 uFC1, C22
kR11
kR21
VRPS – 5VV11
The connections are made on the bread board as shown in the circuit diagram below:-
555

Learnings and outcome:

1.I learnt the working of 555 IC timer 555pin 2. The formula used to calculate the ratio of the resistors to be used while designing an astable multivibrator with given duty cycle is: git where the required duty cycle is 60% i.e. 0.6, thus 2 R1 = R2 is the required relation b/w R1 and R2. 3. The expected duty cycle was 60% but the result I got was just 59.65%. 555
555

UVCE,
K. R Circle,
Bengaluru 01