cover photo

COURSEWORK

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

Virajit G.PAUTHORACTIVE
This Report is yet to be approved by a Coordinator.

D-P-001 Level-0 (Part-1)

28 / 12 / 2024


TASK-01: 3D-PRINTING

3D printing or additive manufacturing is a process of making three dimensional objects from a digital file. Fused Deposition Modeling (FDM), also known as Fused Filament Fabrication (FFF), is a 3D printing method that uses a nozzle to extrude molten thermoplastic filament.

  • How it works: An FDM printer heats a thermoplastic filament until molten, and then extrudes it through a nozzle to form layers. The printer moves the nozzle in the X, Y and Z axes to build up a 3D part.
  • Common materials: Standard thermoplastics like ABS and PLA. Also engineering materials like nylon, PETG, or TPU, and high-performance thermoplastics like PEEK or carbon fiber composites are available but often only compatible with selected professional FDM printers.
  • Pros: FDM printers are low-cost, and easy to use. FDM is good for simple prototypes and educational purposes.
  • Cons: Parts may have low accuracy, low detail, limited design freedom, and visible layer lines. FDM parts are known for being anisotropic, meaning they have different properties in the X, Y, and Z axes.
  • Applications: Concept modeling and rapid prototyping.

Stereolithography (SLA) is a 3D printing method that uses a light source to cure liquid resin.

  • How it works: An SLA printer uses a light source (laser, digital light projector, or LEDs) to cure liquid resin layer by layer.
  • Common materials: SLA uses custom-formulated thermosetting resins, with a wide range of mechanical, thermal, and optical properties. These include standard, engineering, castable, dental, and medical resins, as well as pure silicone and ceramic.
  • Pros: SLA printers produce parts with smooth surface finishes, tight tolerances, and high dimensional accuracy. SLA parts are highly isotropic and can be watertight.
  • Cons: Some materials are sensitive to long exposure to UV light.
  • Applications: Functional prototyping, creating end-use products, tooling, dental models and medical devices.

Selective Laser Sintering (SLS) is a 3D printing method that uses a laser to fuse together polymer powder.

  • How it works: An SLS printer uses a high-powered laser to sinter small particles of polymer powder, building a part layer by layer. Unfused powder supports the part during printing, so support structures are not required.
  • Common materials: Engineering thermoplastics such as nylon, nylon composites, polypropylene (PP), and flexible TPU.
  • Pros: SLS printers can produce strong, functional parts with complex geometries. SLS parts are mostly isotropic. The self-supporting nature of the SLS powder bed technology enables the creation of highly intricate geometries without the need for supports.
  • Cons: SLS parts may have a slightly rough surface finish.
  • Applications: Functional prototyping, low-volume production, and manufacturing aids.

Key Components of a 3D Printer

  • Extruder: The part of the printer that pushes the filament or other material into the hot end. In FDM printing, this includes a geared system that pushes the filament. Extruders can be either direct drive or bowden style.
    • Direct drive extruders have the stepper motor attached to the carriage, pushing the filament directly into the hot end.
    • Bowden extruders are located away from the carriage, and use a tube to feed the filament to the hot end.
  • Hot end: The part of the printer that heats and melts the filament. This includes the:
    • Nozzle: The tip of the hot end through which the melted material is extruded.
    • Heater block: A metal block that is heated by a heater cartridge to melt the filament.
    • Cooler block: A component with fins that helps to maintain the correct temperature and prevent melting before the nozzle.
  • Heat break: A part connecting the heater block and cooler block that allows the filament to flow into the nozzle.
  • Print bed: The surface on which the 3D part is built. It may or may not be heated. It may be made of materials like glass or metal.
  • Gantry: The framework that supports and moves the print head in the X, Y, and Z axes.
  • Carriage: The part of the printer that holds the hot end and moves along the gantry.
  • Timing belt: A toothed belt used to transfer motion from the stepper motors to other parts of the printer.
  • Stepper motor: An electric motor that moves the printer's components. Stepper motors come in different forms, with NEMA 17 being the most common.
  • Power supply unit: The component that provides power to the printer.
  • Controller board: The main circuit board of the printer that controls all of the printer's functions.
  • Thermistor: A sensor that monitors the temperature of the nozzle.
  • Fans: Used to cool the hot end, the cooler block, and/or the printed part.
  • Auto bed leveling sensor (ABL): A sensor used to automatically level the print bed.
  • Limit switch: A sensor that detects the end of travel for each axis.
  • Display: The screen on the printer used to interact with the printer.

PLA Filament

PLA (Polylactic Acid) is a bioplastic derived from renewable resources like corn and sugarcane. It is a popular material for FDM printing due to its ease of use.

  • Printing Temperature: Typically printed at extruder temperatures below 210°C for PLA and 220°C for PLA+, and bed temperatures between 50°C and 60°C.
  • Fan Control: PLA prints best when rapidly cooled with the aid of the extruder's fan.
  • Retraction: Retraction settings can reduce oozing.
  • Bed Adhesion: PLA can use a brim or raft to stick to the bed.
  • Environmental Conditions: PLA should be kept in a drought-free environment
  • Filament Care: PLA absorbs moisture from the air. Wet filament can cause printing problems. Filament should be stored in an airtight container with desiccant.
  • Post Processing: PLA parts can be glued, painted, sanded and polished.

TASK-02: API

API (Application User Interface.):An API acts as a messenger, taking requests and conveying them to a system, then returning the response. The restaurant analogy helps to understand how an API works-you (at the table) place an order (request) via a waiter (API) who communicates this to the kitchen (system) and then brings back your food (response).The API acts as an interface which allows the online travel service to request information from the airline's system, such as seat availability, pricing, meal preferences, and baggage options.

Implementation: built VLOOMBERG a way to access intraday trading volumes and stock prices within the Linux cli, using the Alpha Vantage

GitHub Repo


TASK-03: WORKING WITH GITHUB

preformed tasks as instructed in the readme file

Difference Between Git and GitHub

  • Git: A version control system used to track changes in files, especially in code projects. It runs locally on your computer and allows you to save different versions of your project.
  • GitHub: A cloud-based platform for hosting Git repositories. It allows collaboration, sharing, and managing Git-based projects over the internet.

Definitions of Common Terms

1. Repository (Repo): A folder that stores your project and its version history. It can be local (on your computer) or hosted online (e.g., on GitHub).

2. Commit: A snapshot of changes made to your files. Each commit represents a point in your project’s history.

3. Branch: A separate line of development in a project. The main branch is usually called main or master. Other branches allow you to work on new features or fixes without affecting the main branch.

4. Merge: The process of combining changes from one branch into another, typically integrating a feature branch into the main branch.

5. Fork: A copy of someone else's repository in your GitHub account. You can make changes in your forked repo without affecting the original.

6. Clone: A local copy of a remote repository. You can work on the cloned repo offline and sync changes back to the remote repo.

7. Pull Request (PR): A request to merge changes from one branch or fork into another branch in a repository. Used for code review and collaboration.

8. Remote: The online version of your repository (e.g., the one hosted on GitHub). You sync your local repo with the remote repo.

9. Push: Sending changes from your local repository to the remote repository.

10. Pull: Downloading changes from the remote repository to your local repository.

11. Staging Area: A temporary space where you prepare changes before committing them. You use the git add command to move changes to the staging area.

12. HEAD: A pointer to the current branch and commit you are working on.

13. Conflict: A situation where changes in different branches contradict each other, requiring manual resolution during a merge.


TASK-04: Working with the CLI

-Ubuntu is a free and opensource Linux distribution(distro) maintained by Canonical(c) -A CLI(Command Line Interface) is text based user interface used to interact with a computer at a lower level.

Making 2600 folder's:

  • create a folder named test
 mkdir test 

note: UFS (Unix File System) has directories and files analogous to the folder-file system in windows

  • cd into that folder.
cd test

note: cd refers to change directory, the general syntax of cd is cd{location/name of directory},incase the location is null the shell relocates to the home directory

  • Create a blank file without using any text editor.
touch file
  • list the files in that folder
ls 

note: other variations of ls such as ls -a ls -f ect can also be used

  • create 2600 folders in this folder where each folder is named like . For example, M90 or B56.
for letter in {A..Z}; do for number in $(seq -w 1 99); do touch "${letter}${number}"; done; done

concatenate two text files containing any random text and display them on the terminal:

touch hi.txt
nvim hi.txt
touch world.txt
nvim world.txt
cat hi.txt world.txt 

note:

  • vi/vim/emacs/Nano can be used instead of nvim
  • files other than .txt can be used

TASK-05: Kaggle Contest

Kaggle is a platform for data science and machine learning practitioners. It provides tools, datasets, and community resources to facilitate data analysis, modeling, and competition participation.


TASK-06: Working With Pandas And Matplotlib

Pandas and Matplotlib: A Quick Overview

Pandas and Matplotlib are two popular Python libraries that make working with data easier.

Pandas

  • Purpose: Used for handling and analyzing data.
  • Key Features:
    • DataFrames: Like an Excel table with rows and columns.
    • Read/Write: Import data from CSV, Excel, or databases and export it back.
    • Manipulation: Sort, filter, merge, and modify data.
    • Analysis: Perform basic calculations, group data, and summarize information.

Matplotlib

  • Purpose: Used for creating visualizations.
  • Key Features:
    • Plotting: Make line charts, bar graphs, scatter plots, etc.
    • Customization: Add titles, labels, legends, and change colors or styles.
    • Integration: Works well with Pandas for quick visualization.

Bar Graph

Line Graph

Scatter Plot


TASK-08: Writing a Resource Article Using Markdown

Resource Article


TASK-09: TinkerCAD

TinkerCAD is an easy-to-use, web-based application for 3D design, electronics simulation, and coding. It is widely used by hobbyists, educators, and students to create 3D models, design circuits, and simulate Arduino-based projects. Its intuitive interface makes it ideal for beginners exploring STEM concepts.

How an Ultrasonic Sensor Works

An ultrasonic sensor measures distance using sound waves. It typically consists of two main components:

  1. Transmitter: Emits high-frequency ultrasonic sound waves.
  2. Receiver: Detects the reflected sound waves (echo) from an object.

Working Principle:

  1. The sensor sends a pulse of ultrasonic sound (trigger signal) from the transmitter.
  2. This sound wave travels through the air until it hits an object and reflects back to the receiver.
  3. The sensor measures the time taken for the sound wave to return.
  4. Using the speed of sound in air (approximately 343 m/s), the distance to the object is calculated using the formula: Distance = (Time Taken × Speed of Sound) / 2

Part-02

UVCE,
K. R Circle,
Bengaluru 01