cover photo

BLOG · 28/4/2024

Course report -1

Prajwal D P
Prajwal D P
OP
Course report -1
This Article is yet to be approved by a Coordinator.
Prajwal D P
2nd year
ISE

Task - 1 : 3D Printing

Understand the working of a 3D printer, check out the online resources. Understand what's an STL file, and then learn to slice it (using ultimaker or creality slicer).Learn about bed temperature, infill density and other printer settings. Finally get an STL file from the internet, and slice it and put it for print.

Steps involved

Digital Modeling:

  • create a model of your desire using CAD or go to thingiverse.com and search for the model that you want to print.
  • For the selected model click on the download files to get STL files of the model of you desire.
  • modify the code to get the required size and shape so that it will be in the needed dimentions.

Slicing:

  • The 3D model is then sliced into thin, horizontal layers using slicing software. Each layer represents a cross-section of the object.

Material Selection:

  • The 3D printer uses a specific material, often in the form of filament (plastic, metal, resin, etc.), which is loaded into the printer. The choice of material depends on the type of printer and the intended application of the printed object.
  • Fused Deposition Modeling (FDM): The nozzle moves in the X, Y, and Z axes, depositing the material layer by layer.
  • Copy that link on to an SD card and remove the SD card from the computer and insert it into the card reader, only in one particular way. The extruder heats up to 200-220 degree celsius and bed heats up to 50-60 degree celsius.
  • the printed model is left for cooling and the solification.
  • Some 3D prints may require support structures to prevent overhanging parts from collapsing during printing. These support structures are usually removed after the printing process is complete.

Post-Processing:

  • Once the printing is done, there might be post-processing steps such as removing support structures, sanding, painting, or other finishing touches depending on the desired final product.

Task 2 : API

What is an API?

An API is like a waiter between apps. You tell the waiter (API) what you want, and it gets the service (data or task) from the kitchen (source). It simplifies how different apps interact, like a menu in a restaurant. API stands for Application Programming Interface. It is a set of rules and protocols that allows one software application to interact with another

Steps:

  • write the code in HTML,CSS and JAVA SCRIPT.
  • Generate an API KEY using the reference given.
  • upload the code * index.html* , styles.css , script.js to your Github repository.
  • host the weather application to get a website link with https .

link: weather_applictaion

working of weather application

api

Task 3:Working with Github

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.

Its like instagram of code. GitHub is a website where people store and share their software code. It's like a hub for collaboration on coding projects. You can keep track of changes, work with others, and even showcase your work. It's widely used in the coding and open-source community.

github

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

Create a folder

mkdir  < name_of_folder >

Change into that folder

cd  < name_of_folder >

Make a black file

mkdir < name_of_file >

and z to list all folders

Create 2600 folders with a common name

mkdir  z{1..2600}

where z is the common name of the folders.

Creating 2 files

touch file1.txt
touch file2.txt

Concatenate two text files and display the output

echo "" > file1.txt
echo "" >> file2.txt
cat file1.txt file2.txt > file3.txt
cat file3.txt - Dispalys the output

code

2600files

cat

TASK 5: Kaggle contest

Make a kaggle account, visit the website and complete the competition

Participate in the Titanic ML competition – the best, first challenge for you to dive into ML competitions and familiarize yourself with how the Kaggle platform works.The competition is simple: use machine learning to create a model that predicts which passengers survived the Titanic shipwreck.

Solution

Kaggle contests are data science competitions where participants compete to solve challenges by analyzing datasets and building predictive models. It's a platform for learning, collaboration, and showcasing skills, with winners earning prizes and recognition.

kaggle

kagg

TASK 6: Working with Pandas and Matplotlib:

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

codes and graphs

Bargraph

import pandas as pd
import matplotlib.pyplot as plt

# Create DataFrame from the provided dataset
data = {
    'Company': ['Samsung', 'Samsung', 'Samsung', 'Apple', 'Apple', 'Apple', 'Apple'],
    'Model': ['s10', 's20', 'note20', 'iPhoneX', 'iPhone11', 'iPhone11pro', 'iPhoneSE'],
    'Price': [899, 999, 1199, 415, 699, 999, 399]
}

df = pd.DataFrame(data)

# Bar Graph: Price comparison by Model
plt.figure(figsize=(10, 6))
plt.bar(df['Model'], df['Price'], color=['blue', 'blue', 'blue', 'green', 'green', 'green', 'green'])
plt.title('Price Comparison by Phone Model')
plt.xlabel('Phone Model')
plt.ylabel('Price (in $)')
plt.xticks(rotation=45)
plt.show()

bar

line graph

import pandas as pd
import matplotlib.pyplot as plt

# Create DataFrame from the provided dataset
data = {
    'Company': ['Samsung', 'Samsung', 'Samsung', 'Apple', 'Apple', 'Apple', 'Apple'],
    'Model': ['s10', 's20', 'note20', 'iPhoneX', 'iPhone11', 'iPhone11pro', 'iPhoneSE'],
    'Price': [899, 999, 1199, 415, 699, 999, 399]
}

df = pd.DataFrame(data)

# Sort DataFrame by Company and Model
df = df.sort_values(by=['Company', 'Model'])

# Line Graph: Price trend by Phone Model
plt.figure(figsize=(10, 6))
plt.plot(df['Model'], df['Price'], marker='o')
plt.title('Price Trend by Phone Model')
plt.xlabel('Phone Model')
plt.ylabel('Price (in $)')
plt.xticks(rotation=45)
plt.grid(True)
plt.show()

line

Scattered plot

import pandas as pd
import matplotlib.pyplot as plt

# Create DataFrame from the provided dataset
data = {
    'Company': ['Samsung', 'Samsung', 'Samsung', 'Apple', 'Apple', 'Apple', 'Apple'],
    'Model': ['s10', 's20', 'note20', 'iPhoneX', 'iPhone11', 'iPhone11pro', 'iPhoneSE'],
    'Price': [899, 999, 1199, 415, 699, 999, 399]
}
df = pd.DataFrame(data)
# Scatter Plot: Price comparison by Company
plt.figure(figsize=(8, 6))
colors = {'Samsung': 'blue', 'Apple': 'green'}
plt.scatter(df['Company'], df['Price'], c=df['Company'].map(colors), label=df['Model'])
plt.title('Price Comparison by Company')
plt.xlabel('Company')
plt.ylabel('Price (in $)')
plt.legend()
plt.show()

scat

Pie chart

import pandas as pd
import matplotlib.pyplot as plt

# Create DataFrame from the provided dataset
data = {
    'Company': ['Samsung', 'Samsung', 'Samsung', 'Apple', 'Apple', 'Apple', 'Apple'],
    'Model': ['s10', 's20', 'note20', 'iPhoneX', 'iPhone11', 'iPhone11pro', 'iPhoneSE'],
    'Price': [899, 999, 1199, 415, 699, 999, 399]
}

df = pd.DataFrame(data)

# Group by Company and sum the prices
grouped_data = df.groupby('Company')['Price'].sum()

# Pie Chart: Distribution of Prices by Company
plt.figure(figsize=(8, 8))
plt.pie(grouped_data, labels=grouped_data.index, autopct='%1.1f%%', startangle=90, colors=['blue', 'green'])
plt.title('Distribution of Prices by Company')
plt.show()

pie

TASK 7: Create a Portfolio Webpage

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. CSS can be of your choice and any framework can be used.

link: portflolio website live

the above link has all the my details including the achievements, clubs, experience, resume, social media handles and many more

  • HTML
  • CSS

web

TASK 8: Writing Resource Article using Markdown

I wrote a resource article regarding the AI and the generative AI with transforming possiblities and gained the insights on the current trends and goals of the engineering journey.

TASK 9: Tinkercad

Create a tinkercad account, get familiar with the application, understand the example circuits given and simulate the following using ultrasonic/infrared sensors, estimate the distance between an obstacle and the sensor. Display the results on a LCD screen. link : thinker cad img img

TASK 10: Speed Control of DC Motor

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.

// // Define pins
#define enA 9
#define in1 2
#define in2 3
#define button 4

int rotDirection = 0;
bool pressed = false;

void setup() {
  pinMode(enA, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(button, INPUT);
  
  // Set initial rotation direction
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
}

void loop() {
  int potValue = analogRead(A0); // Read potentiometer value
  int pwmOutput = map(potValue, 0, 1023, 0, 255); // Map the potentiometer value from 0 to 255
  analogWrite(enA, pwmOutput); // Send PWM signal to L298N Enable pin

  // Read button - Debounce
  if (digitalRead(button) == HIGH) {
    pressed = !pressed;
  }
  while (digitalRead(button) == HIGH);
  delay(20);

  // If button is pressed - change rotation direction
  if (pressed && rotDirection == 0) {
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
    rotDirection = 1;
    delay(20);
  }
  // If button is pressed - change rotation direction
  if (!pressed && rotDirection == 1) {
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
    rotDirection = 0;
    delay(20);
  }
}
  }

img img img

TASK 12: Soldering Prerequisites

(Soldering is to be done in presence of a coordinator) 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.

Materials and Tools:

Soldering Iron: A device with a heated metal tip used to melt solder. Solder: A metal alloy with a low melting point that forms a bond between the components being joined. Flux: A chemical substance that helps clean and prepare the metal surfaces for soldering. Wet Sponge or Brass Tip Cleaner: Used to clean the soldering iron tip.

Process:

  • Before turning on the soldering iron, clean its tip using a wet sponge or brass tip cleaner.
  • Allow it to heat up to the appropriate temperature. The ideal temperature depends on the type of solder and components you are using
  • Place the heated soldering iron tip on the joint to be soldered , heating both components.\n+ Once the joint is heated, touch the solder to the joint, not the soldering iron. The solder should melt and flow into the joint. img

TASK 14: Karnaugh Maps and Deriving the logic circuit

Description: For 4 cases, based on door lock/open and key pressed/not pressed. Determine the karnaugh map and make a burglar alarm using simple logic circuits. The buzzer or led blinks when certain conditions are met, you can use push buttons for the door and key. kmap map

TASK 15: Active Participation:

map map map map

UVCE,
K. R Circle,
Bengaluru 01