cover photo

COURSEWORK

Prajwal's IOT-001 course work. Lv 1

Prajwal RAUTHORACTIVE
This Report is yet to be approved by a Coordinator.

LEVEL 1 REPORT

16 / 7 / 2024


LEVEL 1 TASKS


TASK 1 : 3D Printing

3D printing task is one of the most intriguing task that I was always curious about ,The main aim this task is to print a 3d model through a 3d printer by knowing all the things involved in it like STL file, slicing, about the extruder and bed temperatures etc.., In this task I Successfully sliced and printed an STL file using Ultimaker Cura or Creality Slicer. and Developed proficiency in handling 3D printer settings, understanding their impact on print outcomes. This project enhanced my understanding of 3D printing processes, from file preparation through to physical object creation, laying a foundation for future projects and explorations in additive manufacturing. It overall provided me hands on experience working with 3D printer. alt text

Task 2 : Speed control of a D C motor

The aim of this task was to control the speed and direction of D C motor by using H bridge L298N motor driver and Arduino IDE , Initially in this task I came to know about the L298N motor driver and various methods of controlling the dc motor , So while doing this task I also learnt about the Arduino UNO and also coding thing in it and then by using the circuit diagram given in the resource article I rigged up the circuit and controlled the dc motor's direction and speed with the help of a potentiometer connected in the circuit So I could say the most valuable insight learning in this task was about Arduino and H bridge L298N motor driver. Alt text

Task 3 : Tinker cad

The main objective of this task was to create a Tinker cad account, explore the platform, understand its features and Familiarize with example circuits provided by Tinker cad to gain insights into circuit design and simulation. I successfully created a Tinker cad account and gone through all the video which helped me in understanding the basics and then I designed a ultrasonic sensor to estimate distances between sensor and the obstacle and display the results on the serial monitor And also developed a radar system that integrates an ultrasonic sensor and a servo motor to detect objects within a defined range. Alt text

TASK 4 : 555 Timer

In this task the aim is to design a 555 astable multivibrator with a duty cycle of 60 % as given I successfully designed a circuit with the help of resources , design equations and observed the output waveforms I considered R1 as 1k ohm, R2 as 2k ohm and Capacitance as 10 micro farad this task also helped us to know its various applications like burglar alarm, siren etc.., I rigged up the circuit as shown below

Alt text Alt text

Task 5 : Soldering prerequisites

From this task , I Successfully learned basic soldering techniques using the soldering equipment available in our lab . And came to know about the solder, soldering station , flux etc., I Assembled a basic LED circuit on a perf board , demonstrating proficiency in soldering components and ensuring electrical connectivity. Documented the entire soldering process, providing a comprehensive overview of the steps taken and outcomes achieved. This project enhanced my skills in soldering and equipped me with valuable hands-on experience essential for electronics prototyping and assembly Alt text

Task 6 : LED Toggle using ESP32

This task aimed to learn about working of ESP32 microcontroller and standalone web server using Arduino IDE The objective was to develop a web interface that allows controlling an LED connected to ESP32 GPIOs through a web browser, I Successfully configured the Arduino IDE for ESP32 development and uploaded the program to create a standalone web server and Developed a functional web interface that allowed remote control of an LED connected to ESP32 GPIOs. This project provided valuable hands-on experience with ESP32 microcontroller programming and web server development using the Arduino IDE. Alt text

Task 7 : Karnaugh Maps and Deriving the logic circuit

The objective of this project was to design and implement a burglar alarm system using logic circuits, focusing on the conditions of door lock/open and key pressed/not pressed. The alarm system activates when specific combinations of these conditions are met.

Truth table

D (Door Status)K (Key Status)Alarm Activation
0 (Locked)0 (Not Pressed)1 (Activate)
0 (Locked)1 (Pressed)0 (Deactivate)
1 (Open)0 (Not Pressed)1 (Activate)
1 (Open)1 (Pressed)0 (Deactivate)

Then , I Successfully designed and implemented a burglar alarm system using logic circuits, the system accurately detects and signals potential breaches based on door and key status. This project demonstrated the effective use of Karnaugh maps and logic gates to create a reliable security mechanism. Then the circuit is designed in the Tinker cad as shown below: Alt text

Task 8 : Working with Pandas and Matplotlib

The main aim of this task is to plot line graph , bar graph and scatter graph using pandas and matplotlib , So first I opted a dataset it was about monthly temperature and monthly precipitation Then from the given resource from website learnt about pandas and matplotlib and plotted the graphs . This task helped me in knowing about the python libraries and plotting appropriate graphs using matplotlib library.

Line graph

Alt text

Bar graph

Alt text

Scatter graph

Alt text

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

The objective of this report is to document the successful completion of various tasks involving file and folder operations in a Unix-like environment.

  1. Folder Creation and Navigation Created a folder named test
    • Command:
      mkdir test
      cd test
      
  2. Creation of a Blank File Created a blank file named blank.txt without using any text editor.
    • Command:
      touch blank.txt
      
  3. Listing Files in the Folder Listed the files in the test folder to verify blank.txt. Command:
    ls
    
  4. Creation of 2600 Folders Created 2600 folders within the test folder, each named sequentially (M1 to M2600).
    • Command:
      for ((i=1; i<=2600; i++)); do
          mkdir "M$i"
      done
      
  5. Concatenation of Two Text Files Created two text files (file1.txt and file2.txt) with random text, then concatenated and displayed their contents.
    • Commands:
      echo "Hello" > file1.txt
      echo "Hi" > file2.txt
      cat file1.txt file2.txt
      

The tasks outlined in the objective were completed successfully without encountering any issues. Each step involved using basic Unix commands to create files and folders, navigate directories, and manipulate text files as required. This exercise demonstrates proficiency in fundamental Unix operations for managing files and directories effectively. Alt text

Task 10 : Working with GitHub

The objective of this report is to review the given Git repository, follow the instructions provided in its README file, and perform tasks related to GitHub Actions, Issues, and Pull Requests. In this task I initially made a GitHub account , and researched it what is it about and learnt about it and here in the given git repository first I forked it ,I corrected the code of adding two numbers and put a pull request . The tasks outlined in the README file of the Git repository was successfully completed, focusing on setting up GitHub Actions workflows, managing Issues, and submitting Pull Requests. Alt text

Task 11 : Datasheets report writing

The L293D is a popular integrated circuit (IC) designed primarily for driving inductive loads such as DC motors and stepper motors. It is widely used in robotics, automotive projects, and other applications requiring motor control. Let's delve into the details based on its datasheet.

IC Overview

The L293D is a quadruple half-H driver IC, meaning it can drive two DC motors bidirectionally or one stepper motor. It operates on a wide voltage range (4.5V to 36V) and can deliver a continuous current of up to 600mA per channel (1.2A peak) to each motor.

Components of L293D

1.H-Bridge Configuration: Each motor driver channel within the L293D IC consists of an H-bridge configuration. This configuration allows control of the motor's direction (clockwise or counter clockwise) and speed.

2.Output Transistors: The IC incorporates output transistors (usually bipolar junction transistors or BJTs) which handle the current switching for the motors. This design ensures efficient operation and can handle the inductive kickback from the motors.

3.Diodes: Internal diodes (often called flyback diodes or freewheeling diodes) are integrated to protect the IC from voltage spikes generated by the motors when they are turned off abruptly. These diodes prevent damage to the IC and ensure reliable operation.

4.Enable Pins: The L293D has enable pins (EN1 and EN2) for each motor channel. By controlling these pins, you can enable or disable the respective motor outputs. This feature is useful for implementing power-saving modes or braking functions.

5.PWM Capability: The IC supports Pulse Width Modulation (PWM) inputs on the control pins (IN1, IN2 for motor 1 and IN3, IN4 for motor 2). PWM is commonly used for speed control of motors. By varying the duty cycle of the PWM signal, you can control the average voltage applied to the motor and hence its speed.

6.Protection Features: Apart from internal diodes, the L293D also includes thermal shutdown and overload protection mechanisms. These features help in preventing damage due to excessive current or temperature.

Pin Configuration

The L293D typically comes in a 16-pin dual in-line package (DIP). The pinout is as follows (for a single motor channel):

  • Pin 1: Enable 1 (EN1)
  • Pin 2: Input 1 (IN1)
  • Pin 3: Output 1 (OUT1)
  • Pin 4: Ground (GND)
  • Pin 5: Ground (GND)
  • Pin 6: Output 2 (OUT2)
  • Pin 7: Input 2 (IN2)
  • Pin 8: Vs (Motor Power Supply)

Similar pins are provided for the second motor channel (EN2, IN3, IN4, OUT3, OUT4).

Applications
  • DC Motor Control: Driving DC motors in various applications such as robots, toys, and small appliances.
  • Stepper Motor Control: Driving stepper motors in applications requiring precise positioning, such as CNC machines and 3D printers.
  • Robotics: Controlling movement and actuators in robotic platforms.
  • Automotive: Operating window motors, mirrors, and other actuators in automotive systems.
Conclusion

The L293D IC is an essential component for motor control applications due to its ease of use, reliability, and robust design features like internal diodes, thermal protection, and H-bridge configuration. Its ability to interface easily with microcontrollers through PWM signals makes it versatile for a wide range of projects requiring motor control. Understanding the L293D datasheet thoroughly enables engineers and hobbyists to utilize its features effectively in their designs, ensuring optimal performance and longevity of their motor-driven systems.

UVCE,
K. R Circle,
Bengaluru 01