Posts

Showing posts from 2021

Digital design fundamentals

System Design Technologies There are four design technologies: Fixed-Function IC  Full Custom ASIC Semi Custom ASIC PLD Technology Fixed-Function IC In this type  the IC is designed for a fixed application. We call it as ASIC(Application Specific Integrated Circuit). Here the cost of making a single IC  is very much high. Also time to market is high. Full Custom ASIC A full custom ASIC is one where mostly all the blocks(logic blocks) are customized. A microprocessor is an example of Full custom ASIC. Semi Custom ASIC Here all the logic cells are predesigned and some(possibly all) the mask layers are customized. Using the predesigned cells in the library makes the design easy. PLD Technology Programmable logic devices are special ICs that are available in market in standard configurations. They can be configured to create a part customized to a specific application and hence belong to family of ASICS

BMI Calculator using Python Tkinter module

Image
Using Python's Tkinter module, here I have implemented a BMI calculator. BMI introduction BMI is a measurement of a person's leanness or corpulence based on their height and weight, and is intended to quantify tissue mass. It is widely used as a general indicator of whether a person has a healthy body weight for their height. Specifically, the value obtained from the calculation of BMI is used to categorize whether a person is underweight, normal weight, overweight, or obese depending on what range the value falls between. BMI table for adults This is the World Health Organization's (WHO) recommended body weight based on BMI values for adults. It is used for both men and women, age 18 or older. Category BMI range - kg/m 2 Severe Thinness < 16 Moderate Thinness 16 - 17 Mild Thinness 17 - 18.5 Normal 18.5 - 25 Overweight 25 - 30 Obese Class I 30 - 35 Obese Class II 35 - 40 Obese Class III > 40 Below is the Python program and corresponding output window is shown. from tk...

DCA September 2021: Check number is "UNO" or "NOT UNO"

Following code is to check if a given positive integer input by user is UNO number or NOT UNO For e.g. if user input is 1234 then here the sum of digits if the given number is 1+2+3+4 = 10 and then again if we sum the digits of resulting number i.e. 10 is 1+0 = 1 hence if this kind of sum of digits of a number is 1 then the number is said UNO else NOT UNO NOT UNO e.g. 234 here sum of digits is 2+3+4 = 9, this is not equal to 1 hence it is said NOT UNO Python Program:   num = int ( input ()) #takes user input def check_uno (num): sum_d = 0 k = 0 while num > 0 : k = num % 10 sum_d = sum_d + k num = num // 10 if sum_d == 1 or sum_d == 10 : print ( "UNO" ) elif (sum_d > 1 and sum_d < 10 ): print ( "NOT UNO" ) elif sum_d > 11 : b = check_uno(sum_d) check_uno(num) #Output: Input = 1234 Output = UNO Input = 12345 Output = NOT UNO Input = 345345 Output = NOT UNO

IC555: Astable Multivibrator- LED blinking/Dancing

Image
The  555 Timer IC  can be connected either in its Monostable mode thereby producing a precision timer of a fixed time duration, or in its Bistable mode to produce a flip-flop type switching action. But we can also connect the 555 timer IC in an Astable mode to produce a very stable  555 Oscillator  circuit for generating highly accurate free running waveforms whose output frequency can be adjusted by means of an externally connected RC tank circuit consisting of just two resistors and a capacitor. Below video shows implemented circuit in Proteus design suite. You can see the LEDs connected to output pin are blinking continuously.  In the  555 Oscillator  above video, pin 2 and pin 6 are connected together allowing the circuit to re-trigger itself on each and every cycle allowing it to operate as a free running oscillator. During each cycle capacitor,  C  charges up through both timing resistors,  R1  and  R2  but discharge...

Python: Program for Area of Rectangle, Circle, and Square

 Below is the program which calculates the areas of Rectangle, Circle, and Square. It takes the inputs from user such as length and width for Rectangle, radius for Circle, and side of Square for Square. Code: length = int ( input ( "Enter the length of the Rectangle " )) width = int ( input ( "Enter the width of the Rectangle " )) radius = int ( input ( "Enter radius of Circle " )) side = int ( input ( "Enter side of the Square " )) class Area :     def __init__ ( self , length, width, radius, side,):         self . length = length         self . width = width         self . radius = radius         self . side = side       def Rect_area ( self ):         rect_area = self . length * self . width         p...

Python: Finding area of rectangle

The program shown below calculates the area of the rectangle for given user inputs of length and width. #Program: length = int ( input ( "Enter the length of the Rectangle " )) width = int ( input ( "Enter the width of the Rectangle " )) class Rectangle :     def __init__ ( self , length, width):         self . length = length         self . width = width     def area ( self ):         rect_area = self . length * self . width         print ( "Area of the Rectangle = " , rect_area)   area1 = Rectangle(length, width) area1 . area() Output: Enter the length of the Rectangle 7 Enter the width of the Rectangle 9 Area of the Rectangle =  63

BJT: RC coupled single stage amplifier

Image
  Common emitter RC coupled amplifier. The common emitter RC coupled amplifier is one of the simplest and elementary transistor amplifier that can be made. Don’t expect much boom from this little circuit, the main purpose of this circuit is pre-amplification i.e to make weak signals strong enough for further processing or amplification. If designed properly, this amplifier can provide excellent signal characteristics. The circuit diagram of a single stage common emitter RC coupled amplifier using transistor is shown below. Capacitor C1 is the input DC decoupling capacitor which blocks any DC component if present in the input signal from reaching the Q1 base. If any external DC voltage reaches the base of Q1, it will alter the biasing conditions and affects the performance of the amplifier. R1 and R4 are the biasing resistors. This network provides the transistor Q1’s base with the necessary bias voltage to drive it into the active region. The region of operation where the tran...

Python: Reminder Alerts program

Image
 This program will give you Attention message for every time interval you set in time.sleep(time_in_seconds) import os import time from plyer import notification   if __name__ == "__main__" :     while True :         notification . notify(title = "ATTENTION!!!" ,         message = "Take a break! It has been an hour!" ,          timeout = 10 )         time . sleep( 3600 ) Output:

Voltage follower using Op-amp IC TL082

Image
  What is a Voltage Follower? A voltage follower (also known as a buffer amplifier, unity-gain amplifier, or isolation amplifier) is an op-amp circuit whose output voltage is equal to the input voltage (it “follows” the input voltage). Hence a voltage follower op-amp does not amplify the input signal and has a voltage gain of 1. The voltage follower provides no attenuation or amplification—only buffering. A voltage follower circuit has a very high input impedance. This characteristic makes it a popular choice in many different types of circuits that require isolation between the input and output signal. Below figures shows implementation of Voltage follower in Proteus design suite. You can see how the output voltage is approximately equal to the given input voltages.

Python: Anagram check program

  def anagram (s1, s2):     #s1 and s2 are two strings which are to be checked for anagram     s1 = s1.replace( ' ' , '' ).lower() # s1 is reaasigned with removing spaces and then made all lowercase       s2 = s2.replace( ' ' , '' ).lower() # s2 is reaasigned with removing spaces and then made all lowercase     return sorted (s1) == sorted (s2)  # sorted both s1 and s2 and checked, if equal then returns True else False print (anagram( 'this is right', 'is this right' )) #printed True for anagram and False for not anagram Output: >> True

Python: Finding largest continuous sum in a list/array

 Problem Statement: Given a list of integers (both positive and negative) find the largest continuous sum. e.g.  Input: list1 = [1, 2, -1, 3, 4, 10, 10, -10, -1] Output: 29 Solution: def   largest_cont_sum ( list1 ):     max_sum  =  current_sum  =   0           if   len ( list1 )   ==   0 :          return   " There is no any element in the List "           for  num  in  list1 :         current_sum  =   max ( current_sum  +  num ,  num )         max_sum  =   max ( current_sum ,  max_sum )           return  max_sum list1  =   [ 1 , 2 ,- 1 , 3 , 4 , 10 , 10 ,- 10 ,- 1 ] print ...

Python: Find the missing element

 Problem Statement: Consider array/list of non-negative integers. The second array/list is formed by shuffling the elements of the first array/list and deleting a random element. Given these two arrays/lists, find which element is missing in second array. e.g. list1 = [1, 2, 3, 4, 5, 6] list2 = [2, 5, 4, 6, 3] here missing element is 1. Solution: def   missing_ele ( list1 ,   list2 ):     list1 . sort ()     list2 . sort ()      for  num1 ,  num2  in   zip ( list1 ,  list2 ):          if  num1  !=  num2 :              return  num1      return  list1 [- 1 ] list1  =   [ 1 ,   2 ,   3 ,   4 ,   5 ,   6 ] list2  =   [ 2 ,   4 ,   6 ,   3 ,   5 ] print ( " Missing element is:...

555 Timer as Monostable Multivibrator

Here, I have simulated a Monostable Multivibrator in Proteus design suite.

Python: Addition, Subtraction, Multiplication and Division using function

Program:   #Addition function def addition(a,b):     c=a+b     print("Addition= ",c) print("Enter two numbers") #Subtraction function def subtraction(a,b):     c=a-b     print("Subtraction= ",c) #Multiplication function def multiplication(a,b):     c=a*b     print("Multiplication= ",c) #Division function def division(a,b):     c=a/b     print("Division= ",c) a=float(input()) b=float(input()) addition(a,b) subtraction(a,b) multiplication(a,b) division(a,b) Output: Enter two numbers 8 4 Addition=  12.0 Subtraction=  4.0 Multiplication=  32.0 Division=  2.0

Python: Addition of two numbers using function

Below is a simple addition program demonstrated using function addition. This program shows you how to use function in Python  def addition(a,b): #This is funtion definitation     c=a+b     print("Addition = {}".format(c)) print("Enter two numbers to be added") a=int(input()) b=int(input()) addition(a,b) #call the function addition() by passing two numbers a & b Text in green are comments Output: Enter two numbers to be added 341 12 Addition = 353

Program for addition of two number using Python

 This is a simple program for addition of two numbers using Python. Program takes two numbers as input from the user and prints the sum as output. #Simple Program for addition of two number without using function print("Enter two numbers to be added") #int can have numbers in the range -2147483648 through 2147483647 a=int(input()) #takes first number as input from user b=int(input()) #takes second number as input from user c=a+b           #adds two numbers a & b and saves to c print("Addition of numbers {} and {} is {}".format(a,b,c)) Text in green color shows the comments Output: Enter two numbers to be added 123 123 Addition of numbers 123 and 123 is 246

Upstox Free Demat and Trading account opening

Image
Hi All, Upstox is providing free Demat and Trading account for today. Please do get this benefit as early as possible. Link for Free account opening For Desktop/Laptop users: Click here For Mobile phone users: Click here Upstox benefits: 1. Zero brokerage for first month on all trades. 2. Zero Delivery brokerage for lifetime. Thank you