cover photo

COURSEWORK

Mohith's D-P-001 course work. Lv 1

Mohith Monnappa T AAUTHORACTIVE
This Report is yet to be approved by a Coordinator.

Part 1 of MARVEL Task 0

19 / 1 / 2025


TASK 1: 3D Printing


Objective: Understand the working of a 3D printer, check out the online resources. Understand what's an STL file, and then learn to slice it. Learn about bed temperature, and other printer settings. Finally get an STL file from the internet and slice it and put it for print.

Learnings:

Frame: The structural base of the 3D printer, providing stability and support for all components during operation.

Print Bed: The flat surface where the object is printed. It may be heated to improve adhesion and prevent warping.

Extruder: Consists of a motor, gear, and nozzle that melts and deposits filament layer by layer to create the 3D object.

Cooling Fans: Help cool the filament after extrusion, improving layer adhesion and surface finish.

Stepper Motors: Drive the printer's movement along the X, Y, and Z axes, as well as control the extrusion process.

Control Board: The "brain" of the printer, processing instructions from the software and controlling the motors, heaters, and sensors.

Filament: The material used for printing, typically plastic like PLA, ABS, or PETG, fed into the extruder.

LCD: Provides a user interface for controlling the printer and monitoring print progress.

Bed temperature: PLA (Poly Lactic Acid) can be printed on an unheated bed, for best results, a bed temp of between 50°C - 60°C is recommended.

Printing Speed: Printing at 55mm/s or slower yields great results. It represents for us the sweet spot between print speed and achieving great surface resolution.

Joining 3D printed parts: Cyanoacrylate glue (superglue) or two-stage epoxies are a great choice when joining PLA parts.

Other Procedures: Sanding and Painting to get finer details of the 3D model.

Captain America Shield


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. An example weather app is given below, using the open weather API.

Learnings:

Weather Application using Open weather API


Task 3: Working with Github

Objective: Familiarize yourself with GitHub workflows (GitHub actions), Issues, and pull requests with this task. Perform the necessary tasks stated in the readme file as given in the MARVEL website.

Learnings:

  1. I learned how to create & delete my own repositories.
  2. I learned how to make changes in other's repositories and push it back to them.
  3. I forked the given repository into my repository and then made the channges, in order to complete the given specified marvel task.

Forked and changed


Task 4: CMD Command Lines on Ubuntu

Objective: Get familiar with the command line on Ubuntu.

Task:

  1. Give the commands as given in the below image to create 2600 files in a folder named, ‘test’:

Learnings: I learned the use of the below commands in Ubuntu:

1. To create a folder named test: mkdir test

  1. {cmd to create the folder is: mkdir foldername}

  2. To change directory (cd) into that folder: cd test {cmd for cd into the folder is: cd foldername}

  3. To create a blank file without using any text editor: touch blank.txt {cmd to create a file: touch blank_file.extension}

  4. To list the files in that folder: ls {cmd to list the files in a folder: ls}

  5. To create 2600 folders in this folder where each folder is named like. For example, M0001-M2600: mkdir M{0001..2600} (cmd to create N folders within another folder in a series: mkdir initial of file name{firstvalue..endvalue}) OR {for i in $(seq 1 2600); do mkdir "A$i"; done}

Creating a file

2. To Concatenate two text files:

Example: Create a file named file1.txt & another file named file2.txt, within file 1 write "This is first file" & within file 2 write "This is second file". Now, to concatenate these 2 files use: {cmd to concatenate 2 files is: cat file1.ext file2.ext}

Concatenating two files


Task 5: Working with Pandas and Matplotlib

Objective: Using pandas and matplotlib, and a dataset of your choice, plot a line graph, bar graph, and scatter plot.

Learnings: I learned how to plot the below graphs using Matplotlib & use the programs as given in the below image to obtain the respective graphs:

1. Line Plot

Line plot

2. Bar plot

Graph plot

3. Scatter Plot

scatter plot


Task 6: Portfolio Webpage

Objective: Create a website to showcase your portfolio - about yourself, interests, projects, social media profiles and more. It has to be responsive and also pushed to the git repository.

Outcomes & Learnings: I have learnt basic CSS, HTML and a bit of JavaScript to create a Portfolio website to show information about myself.

Github link


Task 7: Writing Resource Article using Markdown

Objective: Write a technical resource article on a topic of your choice and post it on the MARVEL website.

Click here to redirect to the article


Task 8: Tinkercad

Objective: The objective of this task was to create a tinkercad account & to make a simple circuit to estimate the distance between the ultrasonic sensor and the object.

For this project we’ll need the below components and the connections made are as follows:

Ultrasonic Sensor - Arduino UNO

SpecificationConnection
VCC5v
TRIGPin 8
ECHOPin 9
GNDGND

Here the Pins 8,9 & 3 are Digital PWM pins on the Arduino.

LCD (16x2) 12C - Arduino UNO

SpecificationConnection
VCC5v
SDABlank pin
SCLBlank pin
GNDGND

Servo Motor - Arduino UNO:

SpecificationConnection
GroundGND
Power5V
SignalPin 3

Connections

Working of the Ultrasonic sensor:

Ultrasonic Sensor

The term ultrasonic refers to sound frequencies above 20 kHz, which are beyond the range of human hearing. Ultrasonic sensors typically feature two cylindrical components: a transmitter (T) and a receiver (R). The transmitter emits ultrasonic sound waves, which interact with objects in their path and reflect back to the receiver.

The distance to an object is determined by measuring the time it takes for the reflected wave to return to the receiver. This is calculated using the formula:

d = s * t

Where:

  • 𝑑 = Distance between the sensor and the object
  • 𝑠 = Speed of the ultrasonic wave
  • 𝑡 = Time taken for the wave to travel to the object and back.

To enhance the range and coverage, ultrasonic sensors can be mounted on a servo motor, allowing them to rotate and scan a wider area. This setup transforms the sensor into a radar-like system, enabling more comprehensive distance measurements and improved object detection.


Task 9: Speed control of DC motor using L298N driver

Objective: 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 motor.

For this project we’ll need the below components and the connections made are as follows:

PotentiometerArduino UNO
GroundGND
Power5v
Centralpin A0
L298N motor driverConnection
ENA~10 of Arduino UNO
IN18th Digital pin of Arduino UNO
IN2~9 of Arduino UNO
GND-ve of 9 v power supply
12V+ve of 9 V power supply
Output 1One terminal of DC motor
Output 22nd terminal of DC motor

Speed Controlling using an L298N driver:

The speed of a DC motor can be regulated by varying its input voltage. One of the most effective methods for achieving this is through Pulse Width Modulation (PWM). In PWM, the average input voltage is controlled by delivering a sequence of ON-OFF pulses. The average voltage depends on the Duty Cycle, which is the proportion of time the signal remains ON during a single pulse cycle.

A higher duty cycle corresponds to a greater average voltage applied to the motor, leading to an increase in its speed. Conversely, a lower duty cycle reduces the average voltage, thereby decreasing the motor's speed. This technique provides precise and efficient control over the motor's performance.

Speed control of motor


Click her for the part 2 of the report

UVCE,
K. R Circle,
Bengaluru 01