13 / 7 / 2024
The task of 3D printing involved downloading an STL file, slicing it, and then printing it. This experience allowed me to understand the fundamentals of how a 3D printer operates, as well as the purpose of STL files and the slicing process.
For my project, I sourced an STL file from thinkverse.com and used Creality software to resize and slice it. Observing the 3D printer in action and watching the object take shape was quite engaging.
This task introduced me to the concept of APIs and how they function. I explored various APIs and learned about the importance of API keys. Using the OpenWeather API, along with a tutorial, I successfully built a weather application.
Initially, the task seemed challenging, especially when I wanted to customize the interface. However, following a reference guide made the process much more manageable. For the weather icons, I utilized resources from FontAwesome, which also helped me learn about integrating kits.
The objective of this task was to familiarize myself with the workings of GitHub, including integrated workflows, Issues, and pull requests.
This task was straightforward but informative. Since direct access to the main repository was restricted, I had to fork it to make the necessary code modifications. After identifying and resolving an issue, I submitted my changes via a pull request.
This task required me to get acquainted with the command line interface on Ubuntu. I completed a series of subtasks, such as creating directories, navigating between them, and listing their contents. Additionally, I scripted the creation of 2600 folders, each uniquely named.
Commands:
mkdir folder_name
cd folder_name
touch blankfile.txt
ls
mkdir -p name{1..2600}
echo "content" > file_name.txt
cat file1.txt file2.txt
This task involved getting familiar with Tinkercad, an entirely new tool for me. I explored its features and learned how it could be useful in practical scenarios.
For this task, I created a radar system that utilizes an ultrasonic sensor and a servo motor to detect objects. The ultrasonic sensor measures distance using sound waves, and the servo motor rotates to cover a broader area.
How it works:
The sensor sends out a trigger pulse, then waits for the echo to return. The distance is calculated by measuring the time it takes for the pulse to return and using the formula:
Distance = (speed x time)/2
The 555 timer IC is versatile and commonly used for generating pulses, delays, and oscillations. For this task, I designed a 555 astable multivibrator with a 60% duty cycle, which refers to the proportion of time the output is in a high state.
The necessary resistor and capacitor values were calculated using the following equations:
t1 = 0.693 (R1 + R2)C
t2 = 0.693 R2 x C
T = t1 + t2 = 0.693 (R1 + 2R2)C
This task was centered around controlling the speed of DC motors using an L298N motor driver and an Arduino board. Being my first experience with an Arduino, it felt a bit overwhelming initially. However, with the help of online tutorials, I grasped the basics and eventually managed to get the desired results, despite some initial setbacks.
Karnaugh maps (K-maps) are a useful tool for simplifying Boolean algebra expressions. Although this topic was already familiar to me, I applied my knowledge to implement a practical application.
In this task, I designed an alarm system that activates when a door is unlocked without pressing the key (i.e., for the 1 (Door) 0 (Key) condition). By simplifying the logic with a K-map, the final expression was Door AND (Key)'
, which I implemented using a push-button, an alarm or LED, and a combination of NOT and AND gates.
This task involved practicing soldering on a perf board (Perforated Circuit Board), where I soldered an LED circuit with a resistor. I set the soldering iron to 300°C and carefully soldered the components. The process was hands-on and quite enjoyable.
I actively participated in the Electroauction event during Impetus with my friends, and we successfully secured 1st place. The event involved bidding on electronic components and then using them to create as many circuits as possible within the allotted time. Additionally, I am considering enrolling in a Python course soon to expand my programming skills.
I worked on a project involving the Titanic dataset on Kaggle, where the objective was to build a machine learning model to predict which passengers survived the Titanic shipwreck. This project provided me with valuable experience in using machine learning techniques and familiarized me with the Kaggle platform.
In this task, we used pandas
and matplotlib
to create a line graph, a bar graph, and a scatter plot from a dataset. The process involved loading the dataset, performing basic preprocessing, and plotting the graphs to visualize trends, compare categories, and examine relationships between variables.
Learn to work with the ESP32, configure the Arduino IDE for it, and create a standalone web server to control an LED connected to the ESP32.
Designed and simulated an astable multivibrator circuit using a 555 timer in LTspice, and created a simple LED blinking circuit in KiCad, generating Gerber files for PCB manufacturing.
Implemented speed control of a DC motor using the L293D dual H-Bridge motor driver and PWM signals via Arduino.
Controlled the speed and direction of a DC motor using the L293D H-Bridge driver, allowing bidirectional control.
Measured temperature using the LM35 sensor, displaying readings on the Arduino serial monitor, and triggered an LED using a BJT switch when a temperature threshold was crossed.
Measured temperature and humidity using the DHT11 sensor, displaying the readings on an LCD.
Measured the speed of a BLDC motor using a Hall effect sensor and displayed the data on the Arduino serial monitor.
Created a simple solar panel setup using diodes to manage power distribution.
Designed and implemented a solar tracker using servos to follow the sun and maximize solar panel energy absorption.
Developed an automated door opener using a PIR sensor and servo motor, controlled via Arduino, to detect motion and smoothly open doors.
Explored SPI communication, which allows full-duplex data transfer between a master and multiple slaves, using a microcontroller and peripherals to exchange data.
Implemented I2C communication to control multiple devices with a single master, enabling multiple controllers to log data to a memory card or display text on an LCD.
Studied the working of a Battery Management System (BMS) for managing a battery pack's voltage, current, and power delivery. Ensured the correct configuration for a safe and efficient energy supply.
Learned the principles of controlling a Brushless DC (BLDC) motor, a popular motor used in EVs, using a Proportional-Integral (PI) controller and observed its speed control via a CRO.
Constructed a lithium-ion battery pack using three cells to supply a balanced voltage and current, ensuring efficient energy management and safety in power delivery. The pack is designed to meet the requirements of the application with a focus on reliability.
Developed an automated irrigation system using arduino. Integrated multiple sensors to monitor soil moisture and environmental conditions, ensuring efficient water usage for optimal crop growth, and used the system to automate the irrigation process.