Web-Controlled IoT Notice Board using Raspberry Pi

Welcome to the next tutorial of our Raspberry Pi programming tutorial. The previous tutorial showed us how to Interface weight sensor HX711 with pi 4. We learned that a weight sensor HX711 and load cell could be easily interfaced with a Raspberry Pi 4 with careful attention to wiring and software configuration. However, now we're one step ahead of that by using the Internet as the wireless medium to transmit the message from a Web browser to an LCD screen attached to a Raspberry Pi. This project will be added to our collection of Internet of Things (IoT) projects because messages can be sent from any Internet-connected device, such as a computer, smartphone, or tablet.

A bulletin board serves as a vital means of communicating and collecting information. Notice boards are common at many public and private establishments, including schools, universities, train and bus stations, retail centers, and workplaces. You can use a notice board to get the public's attention, promote an upcoming event, announce a change in schedule, etc. A dedicated staff member is needed to pin up the notices. It will take time and effort to fix the problem. Paper is the primary medium of communication in traditional analog notice boards. There is a limitless amount of data available to use. As a result, a lot of paper is consumed to show off those seemingly endless numbers.

We set up a local web server for this demonstration for the Web Controlled Notice Board, but this could be an Internet-accessible server. Messages are shown on a 16x2 LCD connected to a Raspberry Pi, and the Pi uses Flask to read them in from the network. In addition, raspberry will update its LCD screen with any wireless data it receives from a browser. In this piece, I'd like to talk about these topics.

Components Required:

  • Raspberry Pi 4

  • Wi-Fi USB adapter 

  • 16x2 LCD

  • Bread Board

  • Power cable for Raspberry Pi

  • Connecting wires

  • 10K Pot

Implementation Description and Website Development

Raspberry Pi is the central component in this project and is utilized to manage all associated tasks. Such as operating an LCD screen, getting server-sent "Notice messages," etc.

Here we will learn how to use Flask to set up a web server that will allow you to send a "Notice Message" from your browser to a Raspberry Pi. In Python, the Flask serves as a miniature framework. Designed with the hobbyist in mind, this Unicode-based tool includes a development server, a debugger, support for integrated unit testing, secure cookie support, and an intuitive interface.

We have built a simple web page with a message box and a submit button so that users can type in their "Notice Message" and send it to the server. HTML was used extensively in the creation of this web app. The source code for this page is provided below and is written straightforwardly.

A user can create an HTML file by pasting the code above into a text editor (like notepad) and saving the file as HTML. It is recommended that the HTML file for this Web-based message board be placed in the same folder as the Python code file. Now you can execute the Python code on your Raspberry Pi, navigate to the IP address of your Pi:8080 URL in your web browser (for example, http://192.168.1.14:8080), type in your message, and hit the submit button; your message will immediately appear on the LCD screen attached to the Pi.

The webpage is coded in HTML and features a textbox, submit button, and heading (h1 tag) labeled "Web Control Notice Board." When we hit the submit button, the form's "change" action will be carried out via the post method in the code. However, the "Notice Message" label on the slider blocks its use.

We may add a line after that to display the text that we've transmitted to the RPi over the server.

The text box is checked to see if it contains any data, and if it does, the content is printed on the webpage itself so the user can view the provided message. In this context, "value" refers to the text or notification message we enter in the text box or slider.

Circuit Explanation

To assemble this wireless bulletin board, you need to use a few connectors on a breadboard to link an LCD to a Raspberry Pi board. The PCB count for user connections can be zero. Pins 18 (GND), 23 (RS/RW), and 18 (EN) are hardwired to the LCD. The Raspberry Pi's GPIOs (24, 16, 20, 21) are linked to the LCD's data ports (D4, D5, D6, D7). The LCD backlight may be adjusted with a 10K pot.

Remember that earlier versions of the Raspberry Pi do not include Wi-Fi as standard; therefore, you must connect a USB Wi-Fi adapter to your device if you do not have a Raspberry Pi 3.

What is Flask?

A web framework, Flask. That's right; Flask gives you everything you need to make a web app: tools, libraries, and technologies. A web application might be as small as a few pages on the Internet or as large as a commercial website or web-based calendar tool.

The micro-framework includes the category "flask." Micro-frameworks, in contrast to their larger counterparts, typically have, if any, reliance on third-party libraries. Like with anything, there are benefits and drawbacks to this. Cons include that you may have to do more work on your own or raise the number of dependencies by adding plugins, despite the framework's lightweight, low number of dependencies, and low risk of security vulnerabilities.

What are template engines?

Do you have experience creating websites? Have you ever found that you needed to write the same thing several times to maintain the website's consistent style? Have you ever attempted to modify the look of a site like that? Changing a website's face with a few pages will take time, but it is manageable. But, this can be a daunting effort if you have several pages (like the list of products you sell).

You may establish a standard page layout with templates and specify which content will be modified. Your website's header may then be defined once and applied uniformly across all pages, with only a single maintenance point required in the event of a change. Using a template engine, you may cut down on development and upkeep times for your app.

With this new knowledge, Flask is a micro-framework developed with WSGI and the Jinja 2 templates engine.

Key benefits of Flask include:

  1. Setup and operation are simple.

  2. Independence in constructing the web application's architecture.

Because it lacks "flask rules" like other frameworks like Django, Flask places a more significant burden on the developers to properly structure their code. This framework will serve as the basis for the growing complexity of the web app.

Explanation of Code with Flask

The programming language of choice for this project in Python. Users must set up Raspberry Pi before writing any code. If you haven't already, look at our introductory Raspberry Pi guide and the one on installing and setting up Raspbian Jessie on the Pi.

The user must run the following instructions to install the flask support package on the Raspberry Pi before programming it:

pip install Flask

It is necessary to change the Internet protocol address in the Program to the Internet address of your RPi before running the Program. By entering the ifconfig command, you may see your RPi board's IP address:

Ifconfig

To carry out all of the tasks, the programming for this project is crucial. We begin by including the Flask libraries, initializing variables, and defining LCD pins.

from flask import Flask

from flask import render_template, request

import RPi.GPIO as gpio

import os, time

app = Flask(__name__)

RS =18

EN =23

D4 =24

D5 =16

D6 =20

D7 =21

Call the def lcd init() function to configure an LCD in four-bit mode. Next, to send a command or data to an LCD, call the def lcdcmd(ch) or the lcddata(ch) functions. Finally, to send a data string to an LCD, call the def lcdstring(Str) function. The provided code allows you to test each of these procedures.

The code snippet below is used to communicate between a web browser and Raspberry Pi through Flask.

@app.route("/")

def index():

    return render_template('web.html')

@app.route("/change", methods=['POST'])

def change():

 if request.method == 'POST':

    # Getting the value from the webpage

   data1 = request.form['lcd']

   lcdcmd(0x01)

   lcdprint(data1)

 return render_template('web.html', value=data1)

if __name__ == "__main__":

    app.debug = True

    app.run('192.168.1.14', port=8080,debug=True)

This is how we can create an Internet of Things–based, Web–controlled wireless notice board using a Raspberry Pi LCD and a web browser. Below is a video demonstration and the complete Python code for your perusal.

Advantages IoT Bulletin Board Managed Using Web Interface

There are numerous benefits to using the Internet for message delivery. The benefits are multiple: a faster data transfer rate, higher quality messages, less time spent waiting, etc. Using user names and passwords provides a more robust level of security. Here, a raspberry pi can serve as a minicomputer's brain. This means we can now send high-quality picture files such as Jpg, jpeg, png, and pdf documents in addition to standard text communications. 

The delete option contributes to the new system's ease of use. This makes it possible to undelete any transmission at any moment. This method is the initial step in realizing the dream of a paperless society. Communities that use less paper have a more negligible impact on the environment. Adding visuals to screens is now possible thanks to the benefits of Raspberry Pi. Including visuals increases readability and interest. 

All different kinds of bulletin boards have the same overarching purpose: to disseminate information to as many people as possible. This device can reach more people than traditional bulletin boards made of wood. Data downloaded from the cloud can be kept in the Raspberry pi's onboard memory. The system's stability will be ensured in this manner. The data is safe against loss even if the power goes out. These benefits allow the suggested method to be expanded to global, real-time information broadcasting.

Complete code

from flask import Flask

from flask import render_template, request

import RPi.GPIO as gpio

import os, time

app = Flask(__name__)

RS =18

EN =23

D4 =24

D5 =16

D6 =20

D7 =21

HIGH=1

LOW=0

OUTPUT=1

INPUT=0

gpio.setwarnings(False)

gpio.setmode(gpio.BCM)

gpio.setup(RS, gpio.OUT)

gpio.setup(EN, gpio.OUT)

gpio.setup(D4, gpio.OUT)

gpio.setup(D5, gpio.OUT)

gpio.setup(D6, gpio.OUT)

gpio.setup(D7, gpio.OUT)

def begin():

  lcdcmd(0x33) 

  lcdcmd(0x32) 

  lcdcmd(0x06)

  lcdcmd(0x0C) 

  lcdcmd(0x28) 

  lcdcmd(0x01) 

  time.sleep(0.0005)

def lcdcmd(ch): 

  gpio.output(RS, 0)

  gpio.output(D4, 0)

  gpio.output(D5, 0)

  gpio.output(D6, 0)

  gpio.output(D7, 0)

  if ch&0x10==0x10:

    gpio.output(D4, 1)

  if ch&0x20==0x20:

    gpio.output(D5, 1)

  if ch&0x40==0x40:

    gpio.output(D6, 1)

  if ch&0x80==0x80:

    gpio.output(D7, 1)

  gpio.output(EN, 1)

  time.sleep(0.0005)

  gpio.output(EN, 0)

  # Low bits

  gpio.output(D4, 0)

  gpio.output(D5, 0)

  gpio.output(D6, 0)

  gpio.output(D7, 0)

  if ch&0x01==0x01:

    gpio.output(D4, 1)

  if ch&0x02==0x02:

    gpio.output(D5, 1)

  if ch&0x04==0x04:

    gpio.output(D6, 1)

  if ch&0x08==0x08:

    gpio.output(D7, 1)

  gpio.output(EN, 1)

  time.sleep(0.0005)

  gpio.output(EN, 0)

 def lcdwrite(ch): 

  gpio.output(RS, 1)

  gpio.output(D4, 0)


  gpio.output(D5, 0)

  gpio.output(D6, 0)

  gpio.output(D7, 0)

  if ch&0x10==0x10:

    gpio.output(D4, 1)

  if ch&0x20==0x20:

    gpio.output(D5, 1)

  if ch&0x40==0x40:

    gpio.output(D6, 1)

  if ch&0x80==0x80:

    gpio.output(D7, 1)

  gpio.output(EN, 1)

  time.sleep(0.0005)

  gpio.output(EN, 0)

  # Low bits

  gpio.output(D4, 0)

  gpio.output(D5, 0)

  gpio.output(D6, 0)

  gpio.output(D7, 0)

  if ch&0x01==0x01:

    gpio.output(D4, 1)

  if ch&0x02==0x02:

    gpio.output(D5, 1)

  if ch&0x04==0x04:

    gpio.output(D6, 1)

  if ch&0x08==0x08:

    gpio.output(D7, 1)

  gpio.output(EN, 1)

  time.sleep(0.0005)

  gpio.output(EN, 0)

def lcdprint(Str):

  l=0;

  l=len(Str)

  for i in range(l):

    lcdwrite(ord(Str[i]))

begin()

lcdprint("Circuit Digest")

lcdcmd(0xc0)

lcdprint("Welcomes You")

time.sleep(5)

@app.route("/")

def index():

    return render_template('web.html')

@app.route("/change", methods=['POST'])

def change():

 if request.method == 'POST':

    # Getting the value from the webpage

   data1 = request.form['lcd']

   lcdcmd(0x01)

   lcdprint(data1)

 return render_template('web.html', value=data1)

if __name__ == "__main__":

    app.debug = True

    app.run('192.168.1.14', port=8080,debug=True)

Conclusion

We accomplished our goal of constructing a minimal IoT-based bulletin board. The world is becoming increasingly digital; thus, new methods must be applied to adjust the currently used system. Wireless technology allows for quick data transfer even across great distances. It reduces setup time, cable costs, and overall system footprint. Information transmission is global in scope. There is a password- and username-based authentication mechanism available for further fortifications. Before, a Wi-Fi-enabled bulletin board served this purpose. While coverage was restricted in the former, in the latter, we make use of the Internet as a means of communication. Hence, the scope of coverage is smooth. A chip or an SD card can be used to store multimedia information. The speed and quality of receiving and viewing text and multimedia data are maximized.

Scalar or Dot Product of Vectors

Hi friends, I hope you are all well. In this article, we can discuss the scalar or dot products of the vectors. In previous articles, we have discussed vectors and their addition in the rectangular or cartesian coordinate system in depth. Now we can talk about the scalar product of two vectors, also known as the dot product. Scalar or dot products can play an essential role in solving the operation of vector algebra and also they have various applications in numerous fields like computer sciences, mathematics, engineering, and physics.

By doing the scalar or dot products, two vectors are combined when we can do their product, then they produce the scalar quantity which has both magnitude and direction by a single operation in a very efficient way. Simply the scalar and the dot product are algebraic operations that can be especially used in physics and mathematics. scalar quantity can only provide the magnitude but when we can do the product of two vectors, the result of this product is scalar quantity which provides and describes both magnitude and direction. The angle between the two vectors can also be found through the scalar or dot product. The dot product term can be derived from the word dot operator and it can be used for the product of two vectors but it can also known as a scalar product because it can always give the result as a scalar quantity so that is why it can also be known as scalar product rather than the vector product.

Now we can start our detailed discussion but the dot or the scalar product, their definition, algebraic operations, characteristics, applications, and examples. At the end of this discussion, the reader easily understands vectors, how we can make the scalar product, and their application in numerous fields of science, especially in physics or mathematics.

Definition: 

Dot/Scalar products can be defined geometrically or algebraically. But in the modern form, the scalar and the dot product can be defined and rely on the Euclidean space which has the cartesian or rectangular coordinate system. The basic and simple definition of the scalar and the dot product are given there:

“The product of two vectors is a scalar quantity so that's why the product is termed scalar product”.

 Mathematical expression:

The mathematic expression which can express the dot or scalar product is given there:

A B = AB cosθ

Where,

A is the magnitude of the vector A.

B is the magnitude of the vector B.

And,

The cosθ is the angle between the two vectors A and the vector B.

Coordinate definition of the scalar product:

The dot product or the scalar product produces a single scalar quantity which can be produced through their mathematical operation. The product of the two vectors based on orthonormal base or in n-dimensional space, their mathematical expression or definition are given there:

A B =  A1b1 + A2B2+ ……… + AnBn

There;

A = A1 , A2, ........ , An

B = B1, B2 , ......... , Bn

A B can also be mathematically written as;

A B =  i=1naibi

there n represented the dimension of the vector in the Euclidian space or the summation is represented through. 

For example, the dot or scalar product of  the vector A = ( 5, 4, 4) or vector B = (2, 1, 6) in the three dimensions is calculated as:

A B =  A1b1 + A2B2+ ……… + AnBn

By putting the values we can get, 

A B = ( 5 2) + ( 4 1) + ( 4 6) 

A B  = 10 + 4 + 24

A B  =  38 

moreover, the vectors ( 6, 3, -2 ) themselves can do dot or scalar products which can be written as: 

( 6, 3, -2) ( 6, 3, -2) = (6 6) + (3 3) + (-2 -2)

= 36 + 9 + 4 

= 49

Another example for the dot or scalar product of the vector A= ( 4,6) and the vector B= ( 2, 8) in the two dimensions can be expressed or calculated as:

( 4, 6) ( 2,8 ) = ( 4 2) + ( 6 8) 

=  8 + 48

= 56

The product of the two vectors can also be written in the form of a matrix. The formula that can be used for the matrix product of two vectors can be written as

A B = At. B

There, 

At = transpose of the vector A

For instance, 

4 3 2 4 9 4  then this matrix has vectors column 1 1 = 1

And the column in this vector is 3 3 = 6 

In this way, we can write the vectors in the matrix row or column form and the result is a single entity. 

Geometrical definition of the scalar or the dot product:

In geometry, Euclidean vectors can describe both magnitude and direction through the scalar product or from the dot product. The length of the vector represents the magnitude and the direction of these vectors can be represented through the arrow points that are present on the vectors. The scalar and the dot product in geometry can be written as;

A B = A B cosθ

 There,

A represented the magnitude of the vector A.

B represented the magnitude of the vector B.

And, 

θ represented the angle between the magnitude of the vector A and the vector B.

Orthogonal vectors: 

If the vector A and the vector B are orthogonal then the angle between them θ = 90° or also equal to the π2 it can be written as:

A B = cosπ2                                 

hence, 

The cosπ2 is equal to 0. It can be written as:

A B = 0

Codirectional:

If the vector A and the vector B are codirectional then the angle between their magnitude is equal to 0. Then,

A B = cos 0 

hence,

cos0 = 1 and written as:

A B = A B

Itself vector product:

If the vector A does scalar or the dot product itself then it can be written as: 

A A = A2

That can also written as:

A = A . A

This formula can be used to determine the length of the Euclidean vector.

Physical meaning:

The simple physical meaning of the scalar or dot product is that the product of the dot or scalar product is equal to the magnitude of the one vector and the other is equal to the component of the second vector which is placed in the direction of the first vector.

Mathematically it can be expressed as:

A B = A ( projection of the vector B on the A).

A B = B (the component of vector B magnitude along with the vector A )

Then it can also be written as: 

A B = A ( B cosθ )

Then for the vector B we can write as: 

B . A = B ( projection of the vector A on the vector B)

B . A = B ( the component of vector A magnitude along with the vector B). 

Then it can also be written as:

B . A = B ( A cosθ)

First property and the scalar product projection: 

The other physical meaning or the projection of vectors with their first property can discussed in detail. the projection of vector A  in the direction of the vector B can also be written as: 

Ab = A cosθ

The θ is the angle between the two vectors A and the vector B. 

Geometric definition: 

This product can also be written according to the definition of geometrical dot product then it can be written as:

Ab = A B

There,

B = BB

so, geometrically we can write the projection of A on the vector B as:

A B = Ab B

For the vector B, it can be written as: 

A B = BaA

Distributive law:

The dot product can also prove the distributive law, the distributive law is written as: 

A ( B + C) =  A B + A C

This law can be satisfied by the dot product because the scaling of any variable is homogenous. For example, if we can take the scalar B then it can be written as: 

( BB) A =  B ( B A) 

Also written as,

( BB) A = B ( B A )

The dot product of the B B is always positive it never be negative but it may also equal to zero. 

Interchangeability of the definitions: 

Determine the standard basic vectors E1, E2, E3,  ……., En. So we can also write this as:

A = A1, A2, A3, ...... , An also equal to iAiEi

B =  B1, B2, B3, ...... , Bn also equal to iBiEi

This formula Ei can represent the unit length of the vectors. Also represented that the length of the unit is at the right angle.

The normal unit length of the vector is equal to 1 and written as:

Ei Ei = 1

But when the length of unit vectors is at the right angle then it can be written as:

Ei Ej = 0

there, i ≠ j. 

Basically, we can write the all formulas as:

Ei Ej = δij 

there, Ei or the Ej represented the orthogonal vectors unit length and the δij represented the Korenckar delta. 

Geometrical definition for the vector A and the vector Ei:

According to the geometrical definition of the dot or scalar product, we can write the given expression for any different type of vector A and the vector Ei. the mathematical expression is written as: 

A Ei = A Ei cosθi

or, 

Ai = A cosθi

Distributive law: 

Now apply the distributive law on the given formula which is according to the geometrical scalar product or the dot product. The distributive version of this formula is given there: 

A B = A i BiEi

It can also equal to, 

= i Bi( A Ei)

= i Bi Ai

= i AiBi

Now it interchangeability of all definitions can be proved. It can be shown that all definitions of formulas are equal to each other.

Geometric interruptions: 

In the dot product or the scalar product the geometrical interpretations are essential because they can relate the magnitude of the vectors through the dot product and the dot product can also give the angle between the vectors which are cosine. The main geometrical interruptions are given there: 

  • Projection

  • Orthonogolity

  • Parallel vectors

  • Anti-parallel vectors 

Their details are given there: 

Projection: 

By the dot or the scalar products, we can measure the direction and the projection of the vector how much the vector lies on the other vector in the projected direction. For instance, A B through we can measure the projection of vector A on the vector B in a very efficient way. 

Orthogonality:

When the two vectors are perpendicular to each other, then their dot or the cross product is zero because the angle θ is equal to 90 degrees and the cos90 degree is equal to zero. So if the dot or cross product of the vector quantity is zero then it means that the vectors are orthogonal. 

Parallel vectors: 

In the dot or the cross product, if the vectors are parallel then the angle θ is equal to 0 degrees then the cos θ = 1, which means that the dot or cross product reached their maximum positive or negative magnitude.

Anti-parallel vectors: 

In the dot or the cross product, if the vectors are anti-parallel then the angle θ is equal to 180 degrees then the cos θ = 1, which means that the dot or cross product reached their maximum positive or negative magnitude.

Characteristics and the properties of the scalar or the dot product: 

The main properties and the characteristics of the scalar and the dot product which can help to understand the dot or scalar product are given there. By understanding pr follow the given properties we can easily use this dot product in different fields of science and physics. The characteristics in detail are given there:

  • Distributive property 

  • Parallel vectors 

  • Anti parallel vectors 

  •  Self scalar products

  • Scalar multiplications

  • Commutative property 

  • Perpendicular vectors 

  • Magnitude

  • Product rule

  • Orthogonal 

  • Scalar product in the term of rectangular component.

  • Zero vector

Distributive property: 

The distributive property of the dot or the scalar product can be strewed upon the vector addition. The basic and general expression for the distributive property for the dot or cross product is given there: 

A ( B + C ) = A B + A C 

Parallel vector: 

The scalar or dot product of the two vectors is equal to their positive magnitude when the vectors which are used in the dot or scalar product are parallel to each other and their angle θ is equal to 0 degrees, it can be written as: 

θ   =  0° 

The mathematical expression for parallel; vector can be written as:

A B = AB cos 0°

and, cos 0° equal to 1 and written as:

A B = AB (1) 

A B = Ab 

hence, it can be shown in the above equation that the product of two vectors is equal to their magnitudes. It can also be the positive maximum value of the scalar or the dot product.

Anti-parallel vectors: 

The scalar or dot product of the two vectors is equal to their negative magnitude when the vectors which are used in the dot or scalar product are anti-parallel to each other and their angle θ is equal to 180 degrees, it can be written as: 

θ   =  180° 

The mathematical expression for an anti-parallel vector can be written as:

A B = AB cos 180°

and, cos 0° equal to 1 and written as:

A B = AB (-1) 

A B = -Ab 

hence, it can be shown in the above equation that the product of two vectors is equal to their magnitudes. It can also be the negative maximum value of the scalar or the dot product. 

Scalar multiplication: 

The dot product or the scalar product can directly affect the scaling of the vector. Through this property of the dot or cross product, we can observe this effect efficiently. The equation that can be used for the scalar multiplication property is given there: 

(c1 A ) ( c2 B ) = c1c2 ( A B) 

There c represented the scalar quantity. 

Self scalar product: 

When the vector can do their self-product then the result is always equal to the square of their magnitudes.

The basic and the general equation is written below:

A B = AA cos 0°

A B = AA (1) 

A B = A2

 It can be shown in the given equation that the self-product was always equal to the square of their magnitudes. 

Self product of unit vectors: 

The self-product of the unit vectors is always equal to the 1. Their clarification through mathematical expression is given there: 

i i = (1) (1) cos 0°

i i = (1) (1) (1)

i i  = 1

So, 

j j  = 1

k k = 1 

Hence,

i i =  j j  =   k k

Commutative property: 

The scalar or the dot product of two vectors A and B are always commutative. Their mathematical justification is given there: 

A B = AB cos θ …….. (i) equation

there, A represented the vector 

B also represented the other vector 

And θ represented the angle between the vectors A and B. 

then, 

B A = BA cos θ  ………. (ii) equation

Then, by comparing the equation i and the equation ii,

A B =     B A  

Hence proved that the dot or scalar product is always commutative.

Zero vector:

In the product of two vectors if one vector A = 0 then the other vector B = 4 but their product is always equal to zero. Their mathematical expression is written there as:

= A B 

= (0) (4)

Then,

A B = 0 

Orthogonal: 

If the two vector scalar or dot products are equal to zero then it can't be orthogonal but if the two vectors are non-zero variables it can be orthogonal.

Product rule: 

In the scalar or the dot product, the values are different or variable and their deviation can be represented through the sign which is known as the prime ′. Their mathematical expressions are given there: 

( A B) ′ =  A′ B +  A B′

Scalar products in terms of rectangular components:

Determine the two vectors, the vector A and the B in the Euclidean space in the three-dimensional cartesian coordinate system. Their derivation is given there: 

Let, 

A = Axi + Ayj + Azk

B = Bxi + Byj + Bzk

then, we can perform their product with their unit vectors and it can be written as:

A B = (Axi + Ayj + Azk) (Bxi +B yj + Bzk)

After this, we can multiply the all components with each other and it can be written as:

A B = AxBx ( i i ) + AxBy (  i j) + AxBz (  i k) + AyBx ( ji )

  • AyBy ( j j ) + AyBz (  jk ) + AzBx ( ki) + Az By ( k j) + Az Bz( k k)

Now, by putting the values of the unit vectors then we get, 

 A B = AxBx (1 ) + AxBy ( 0 ) + AxBz ( 0 ) + AyBx (0 )

  • AyBy (1 ) + AyBz ( 0 ) + AzBx ( 0 ) + Az By (0) + Az Bz(1)

Then, 

A B = AxBx + AyBy + Az Bz ……… (i) equation

We know that ;

A B = AB cos θ ………… (ii) equation

Then put equation (ii) in equation (i) and we get,

AB cos θ = AxBx + AyBy + Az Bz

Or it can also be written as;

cos θ = AxBx + AyBy + Az BzAB 

Or, 

θ = cos-1AxBx + AyBy + Az BzAB

This formula or the equation can be used to find the angle θ between the vector A and the vector B. 

Applications of scalar or dot product: 

Scalar or dot products can play a very essential and fundamental role in different fields of modern science or physics, computer graphics, engineering, or data analysis. The details of these applications are given below:

  • Data analysis or machine learning 

  • Mathematics 

  • Physics 

  • Engineering 

  • Computer graphics

Data analysis or machine learning: 

Dot or scalar products can be used in data analysis or machine learning in a very efficient way their applications in this field mostly occur in the given fields area which are;

  • Natural languaging processing 

  • Principal component analysis 

  • Neural networks

Their description is given below: 

Natural languaging processing: 

The differences and the similarities that may be present in the natural languaging processor ( NLP) can be detected through the scalar and the dot product because the words can be represented in the form of vectors in NLP. and it can also help to do many numerous tasks like the machine translation, data analysis and the document clustering in a very efficient way.

Principal component analysis: 

Principal component analysis which can also be denoted as PCA, to determine and find the principal components that are present in the data can be detected by using the dot or cross-product method. Because it can simplify the most complex data or analyze them in a very efficient way. So that's why cross or dot products can be widely used in this field.

Neural networks:

For the sum of the neurons, we can use the dot or the scalar product. Because of all the neurons, the input vector calculation can always be done through the dot or the cross product, and by the activation the output can be produced.

Mathematics: 

In mathematics, the dot and cross product can be used commonly because geometry and the algebraic operation can be solved easily or efficiently through the dot and the cross product. The main fields of math in which the dot and cross product can be used are given there:

  • Cosine similarity 

  • Orthogonality 

  • Projection

  • Vector spaces 

Physics: 

In physics to simplify the complex quantities and products dots or scalar products can be used. The main application fields are given there:

  • Molecular dynamics 

  • Work done 

  • Electromagnetic theory 

Engineering:

In engineering, algebraic operations can be simplified efficiently through the dot or scalar product. But the main areas of this field where mainly dot and scalar products can be used are given there:

  • Robotics 

  • Signal processing

  • Structural processing 

Computer Graphics: 

Like other fields of science, the dot and the scalar product can also be used in computer graphics because through using the dot or scalar product we can efficiently understand or solve the complex codes of words that can be represented in the form of vectors.

  • Vector projection

  • Lighting calculations

  • Shading models 

Calculations and some examples: 

  • Work done: 

Work is the scalar quantity but it can be a product of two vector quantities through the dot or scalar product. The product of force and displacement produced the scalar product work. Which can be written as: 

W = F A

There, 

F represented the force. 

A represented the displacement.

Calculation: 

Consider the force F is ( 4, 5) and the displacement of the object is ( 2, 8 )

Then their product can be written as:

W = F A

By putting the values we can get, 

W = ( 4 5) ( 2 8) 

W = (20) (16)

W = 36 J

 The work that can be done by the body is equal to the 36 J. 

  • Magnetic flux:

The magnetic flux is the product of the two vectors which are magnetic field strength  and the vector area which can be expressed as:

Øb = B A

  • Power : 

Power( scalar product ) is the product of two scalar quantity which are force and velocity which are expressed as:

P = F v 

  • Electric flux:

Flux is the scalar quantity and it is the product of the two vector quantities which are electric intensity or the vector area. it can be written as:

Øe = E A

IoT Based Weather Station in Raspberry Pi 4 | Part 2

Welcome to the next tutorial in our Raspberry Pi 4 programming tutorial. In the previous tutorial, we learned the basics of using a Raspberry Pi as the basis for an Internet of Things-based weather station. However, this is a continuation of the previous tutorial. In the subsequent session, we will learn how to develop the Python code that will bring our weather station circuit design to life. Before that, let us learn how to measure wind direction and rainfall.

Wind direction

Wind vanes

Despite their name, wind vanes do not indicate a change in wind direction. Since the arrow on most television weather maps goes in the opposite direction, this may come as a surprise at first. To determine the wind's direction, a wind vane uses the force of the wind on a vertical blade, which then spins to the point of least wind resistance.

How your wind vane works

The wind vane employed here is more sophisticated than the rain gauge and operates entirely differently, although sharing some of the same components. You may find eight reed switches, resembling the spokes of a wheel, within the recommended wind vane.

In addition to the magnet, the wind vane has eight resistors, and each is turned on and off by the opening and closing of a matching reed switch as the magnet rotates.

The role of the resistors

In electronics, these components slow down the passage of electricity without completely blocking it. Different resistors have varying resistance levels, measured in ohms; low resistance resistors allow nearly all current to pass through, whereas high resistance resistors allow very little current to pass through. Resistors are commonly used to prevent harmful currents from reaching components or distributing circuit power.

You should be able to read the values of the eight resistors displayed in white next to each one. Because the magnet may close two adjacent reed switches when positioned halfway between them, the wind vane can have 16 distinct resistance settings. Since most Pi-compatible wind vanes function in a similar fashion, you can find the resistor values in the product info sheet of your specific model.

Measuring the resistance

To determine the wind's direction, a sensor's resistance must be measured and converted to an angle's value. This procedure involves a number of stages. It is much simpler to record a value from the wind vane that changes depending on the resistance value used. Thus, you will make an analog measurement, as the wind vane constantly returns a dynamic voltage reading. Conversely, the anemometer merely reports a 'HIGH' or 'LOW' voltage, all or nothing, thus sending a digital signal.

Measuring analog voltages with a Raspberry Pi

Raspberry Pi has just digital inputs, but an Arduino has analog ones. Thus, a specialized component known as an analog-to-digital converter is required to decode an analog signal (ADC).

The MCP3008 is a widely used and flexible ADC. It's a 16-pin IC with eight input signals and can be utilized with a breadboard without much hassle. In other words, the MCP3008 can detect voltage changes as small as 4.88mV for a 5V reference voltage because it is a 10-bit ADC with 210 = 1024 possible output values.

Now that you know how to utilize the MCP3008 to measure a fluctuating analog signal, you can employ yet another ingenious circuit to generate a value that varies with the wind vane's resistance.

Using a voltage divider

One of the essential electronic circuits is a voltage divider, which splits a significant voltage into smaller ones.

You can use the following formula to determine the voltage output Vout in the circuit above:

Vout = Vin * R2/(R1 + R2)

So, you can lower the input value Vin to the voltage output Vout by adjusting the value of R1 and R2. Create an entirely new Python program with the name voltage-divider.py that has the function voltage divider that determines Vout for a set of specified values for R1, R2, and Vin using this formula.

Verify that your function returns the correct value from a given set of inputs. The function should provide an answer of 3.837V, for instance, when R1 = 33K ohms, R2 = 10K ohms, and Vin = 5V.

print(voltage_divider(33000,10000,5.0))

According to the circuit, if R2 is a variable resistor, we may determine its resistance by monitoring its output voltage, Vout, and the resistance of its counterpart, R1. Due to the wind vane's behavior as a variable resistor, its resistance value may be determined using a voltage divider circuit. Initially, it would help if you determined the optimal value for R1.

Designing a voltage divider

A voltage-divider circuit schematic and a table detailing angles, resistances, and voltages can be found on the second wind vane data sheet. R1 is depicted here with a value of 10K ohms. Vin, however, is referenced to 5V in this circuit. Although the Raspberry Pi uses 3.3V logic levels, these Vout values are off.

Create a small Python program named vane values.py that uses the datasheet's list of resistances and the potential divider formula to determine the updated values for a 3.3V Vin and an R1 resistant of 10K ohms.

A reference voltage of 5V allows a value of R1 = 10K ohms to be used successfully. However, with 3.3V, you'll see that some of the potential values are very close. Setting R1 to a lower value can minimize the voltage jumps between vane-generated resistance levels.

To try out different options for R1, use your vane values.py program. Keep in mind that there are only a small number of predefined resistance settings to choose from. The most typical values (in tens of thousands of ohms):

It would be best to use a wind vane with an ohms value of 4.7K. You may now connect your ADC and Raspberry Pi to the rest of the circuitry, as you have the value for Resistor1 in the voltage-divider circuit.

The gpiozero package makes it simple to read data from an MCP3008 ADC.

from gpiozero import MCP3008

import time

adc = MCP3008(channel=0)

print(adc.value)

This code samples the ADC's channel 0 and outputs the value scaled between Zero and one. The recorded analog voltage can be calculated by multiplying the result by the reference voltage fed into the ADC.

Ensure your circuit can tell the difference between the wind vane's various angular locations by testing it. Make a simple Python script in the directory /home/pi/weather-station/wind direction byo.py to tally the data your circuit outputs when the vane is turned.

While the wind vane is turning, your code should be executed. Using the Python shell, you should see the total number of different voltages encountered thus far shown.

Red warning highlighting for 'SPISoftwareFallback' may also appear. You can safely disregard this warning, but if you never want to see it again, navigate to Raspberry > Pi Configuration in the Raspberry menu. Afterward, you should go to the Interfaces tab and enable SPI before rebooting your Pi.

At most, you can record 16 distinct voltages if your equipment is functioning well. Still, the Analogue to digital converter may record an increasing or decreasing voltage, so a moderate jiggling of the vane may allow you to generate a few additional values.

Update your program to verify that each ADC reading is compared to a predetermined set of valid values. If your code is able to do so, it should output a helpful message after each reading indicating whether or not the value was within the acceptable range.

The final process involves transforming the vane's measurements into angles. The angle-resistance-voltage relationship is fundamental. A wind vane's resistance design reflects the blade angle in direct proportion to the voltage value read from the ADC.

The resistance-voltage relationship can be determined with the help of the voltage divider function you programmed before. After you know the angle, you can find the equivalent value in the manual. An ADC reading of 0.4V, for instance, translates to a resistance of 3.3K ohms, representing a zero-degree angle.

Make the necessary edits to the wind direction byo.py file to convert the voltages in the list into a Python dictionary, where the voltages will serve as the keys and the related angles will serve as the values.

It would help to modify your print statements to show the angle of the vane. You can now measure wind direction using your very own Python program. You may verify the code is functioning properly by adjusting the wind vane to a known position and seeing if it matches what is displayed. To try out other roles, keep repeating the process.

Taking many readings in a short amount of time and averaging them together is a final way to increase the reliability of your data. Include the following procedure in wind-direction-by.py.

def get_average(angles):

    sin_sum = 0.0

    cos_sum = 0.0

    for angle in angles:

        r = math.radians(angle)

        sin_sum += math.sin(r)

        cos_sum += math.cos(r)

    flen = float(len(angles))

    s = sin_sum / flen

    c = cos_sum / flen

    arc = math.degrees(math.atan(s / c))

    average = 0.0

    if s > 0 and c > 0:

        average = arc

    elif c < 0:

        average = arc + 180

    elif s < 0 and c > 0:

        average = arc + 360

    return 0.0 if average == 360 else average

A line like this at the beginning of your file will import the math library, allowing you to use the package.

import math

Now, similar to how you tested for wind gusts before, you should edit your program to include a function called get value() that provides the overall average for a specified period. This will facilitate calling this function from anywhere in the code for your weather station.

Rainfall

The standard unit of measurement for precipitation captured by most rain gauges is the number of millimeters of height over a particular area of one square meter.

An essential mechanical instrument is the rain gauge sensor suggested for use with the Pi 4 Weather Station equipment.

How does it work?

Remove the bucket to inspect the inner workings of the rain gauge. To remove the lid, gently squeeze the clamps on either side.

Put this rain gauge functions as a self-tipping bucket. All the rain runs off and into the bucket. When the bucket is complete, it will topple over, allowing the gathered rainwater to drain out the bottom, and the other bucket to rise into its place.

The total rainfall can be determined by multiplying this by the total number of tips. To find out how much water is needed if you're using a rain gauge of a different kind, you can either look it up in the manual or try it out for yourself.

These gauges typically have an RJ11 socket, despite only having a single red and green wire. You should be able to locate a small cylindrical magnet inside the ridge between the two buckets, with the magnet's axis pointing toward the back wall. There's a reed switch hidden inside that wall in the back.

If you want to peek inside, the back wall may be removed by pulling on the flat end. A removable circuit board allows you to inspect the inside components. You'll find the reed switch smack dab in the center. Make sure to swap out the circuit board and the cover for the back wall before proceeding.

When a bucket is knocked over, the magnet will move beyond the reed switch and temporarily close it. Hence, like the anemometer, the rain gauge can be connected to gpio pins on the Pi 4 and used as a button, with the number of "presses" being used as a proxy for the amount of precipitation.

Connecting your rain sensor

The rain gauge can be tested by removing the RJ11 connector, stripping the wires, or using an RJ11 breakout board.

To avoid inconsistencies, it's recommended that you connect your device to the same GPIO pin 6 (BCM) that the Oracle Weather Station uses for its rain gauge.

Create a program named /home/pi/weather-station/rainfall.py to determine when the rain gauge bucket has tipped using the same logic you implemented for the anemometer. It should provide a running total of times the bucket has been tipped.

Once you've mastered counting raindrops in a bucket, you'll need to figure out how many feet of water this translates to. Change your program so that when the bucket is tipped, the amount of rain in inches is displayed.

Last, implement the function reset rainfall to reset the number of tipped buckets to 0. After this step, your weather station will only be fully functional with this feature.

Fully functional weather station

After ensuring that each sensor works independently, you may move on to configuring the software for your data-gathering system.

Thus far, your GPIO connections have been consistent with what is required by the original Oracle pi 4 Weather Station software, which is executed using a Unix daemon. Hence, with a few tweaks, you can use that code to execute your custom build. In reality, the DS18B20 digital thermometer you're using was initially programmed for the Oracle Weather Station.

You may use the code you've built for testing to add the finishing touches to your weather station by regularly measuring and recording data.

Wind speed, gusts, and direction

The core of your weather station app will be the code you created to measure wind speed and gusts. You should create a new script off of wind.py and name it weather station BYO.py.

Besides the applications you've previously built, you'll also have to incorporate various libraries and the code from Oracle's Weather Station. These import statements should be placed at the very beginning of your script:

from gpiozero import Button

import time

import math

import bme280_sensor

import wind_direction_byo

import statistics

import ds18b20_therm

As written, your code will keep a running tally of wind speeds every five seconds, highlighting the highest reading (gusts) and averaging them to determine an average. You can modify it to measure the wind's direction in real-time.

Rather than waiting for five seconds between iterations, change your code to measure the wind's direction for five seconds continuously. Do a code check by turning the wind vane and the anemometer to see how they respond to your program. Do logical results emerge from the code?

As fresh data comes in, your application automatically adjusts the averages and maximum wind speed. After every five seconds, your device should begin taking new readings. Insert two lines of code to clear the wind speed and direction arrays after each loop iteration.

Try rerunning the tests. Throughout the next five seconds, you'll want to keep track of the wind vane's angular position by counting the anemometer's rotations. Your program then determines the average wind speed and vane position throughout that time frame. By clearing the list of velocities after each five-second interval, you should also have noticed that the reading for wind gusts is now identical to the mean (the last one).

If you want to save new readings, a sampling interval of five seconds is too short. If you want to keep track of things indefinitely, a 5-minute measurement interval is ideal. In order to capture the highest value (gust), it is possible to take readings for five minutes and then average them. That is far more practical.

Change the program to take readings once every five seconds instead of once every minute. Then, utilize those values to determine the average wind speed and direction and log the most unexpected gust once every five minutes.

Do some tests on your code. Now every five minutes, it should report its status. By turning the vane and anemometer, you may create a wind tunnel and ensure your readings are consistent with expectations. The other sensors can be incorporated into the five-minute cycle now.

Rainfall

The rain measurement code you wrote in rainfall.py should be incorporated into weather station BYO.py to record the total for five minutes and then reset. After the import statements, add the constant definition for the bucket size.

BUCKET_SIZE = 0.2794

Add these lines before the while True: loop.

def bucket_tipped():

    global rain_count

    rain_count = rain_count + 1

    #print (rain_count * BUCKET_SIZE)


def reset_rainfall():

    global rain_count

    rain_count = 0


rain_sensor = Button(6)

rain_sensor.when_pressed = bucket_tipped

Then, insert the following code after the ones that determine wind speed and gusts:

rainfall = rain_count * BUCKET_SIZE

reset_rainfall()

Temperature, pressure, and humidity

You implemented a read-all function in the BME280 sensor's code to return all three readings—pressure, temperature, and humidity. Because you have imported the bme280 sensor into weather station BYO.py, you may now use this feature whenever needed.

Adjust your program so that the BME280 sensor's data is saved at regular five-minute intervals.

Please make sure your code works. Make sure the BME280's readings change as you exhale into it.

Ground temperature

After that, repeat the process using the ground temp probe. Make changes to your code to gather data at 5-minute intervals.

Complete code

from gpiozero import Button

import time

import math

import bme280_sensor

import wind_direction_byo

import statistics

import ds18b20_therm

import database


wind_count = 0       # Counts how many half-rotations

radius_cm = 9.0 # Radius of your anemometer

wind_interval = 5 # How often (secs) to sample speed

interval =  5 # measurements recorded every 5 minutes

CM_IN_A_KM = 100000.0

SECS_IN_AN_HOUR = 3600

ADJUSTMENT = 1.18

BUCKET_SIZE = 0.2794

rain_count = 0

gust = 0

store_speeds = []

store_directions = []



# Every half-rotation, add 1 to count

def spin():

global wind_count

wind_count = wind_count + 1

#print( wind_count )


def calculate_speed(time_sec):

        global wind_count

        global gust

        circumference_cm = (2 * math.pi) * radius_cm

        rotations = wind_count / 2.0


        # Calculate distance travelled by a cup in km

        dist_km = (circumference_cm * rotations) / CM_IN_A_KM


        # Speed = distance / time

        km_per_sec = dist_km / time_sec

        km_per_hour = km_per_sec * SECS_IN_AN_HOUR


        # Calculate speed

        final_speed = km_per_hour * ADJUSTMENT


        return final_speed


def bucket_tipped():

    global rain_count

    rain_count = rain_count + 1

    #print (rain_count * BUCKET_SIZE)


def reset_rainfall():

    global rain_count

    rain_count = 0


def reset_wind():

    global wind_count

    wind_count = 0


def reset_gust():

    global gust

    gust = 0


wind_speed_sensor = Button(5)

wind_speed_sensor.when_activated = spin

temp_probe = ds18b20_therm.DS18B20()


while True:

    start_time = time.time()

    while time.time() - start_time <= interval:

        wind_start_time = time.time()

        reset_wind()

        #time.sleep(wind_interval)

        while time.time() - wind_start_time <= wind_interval:

                store_directions.append(wind_direction_byo.get_value())


        final_speed = calculate_speed(wind_interval)# Add this speed to the list

        store_speeds.append(final_speed)

    wind_average = wind_direction_byo.get_average(store_directions)

    wind_gust = max(store_speeds)

    wind_speed = statistics.mean(store_speeds)

    rainfall = rain_count * BUCKET_SIZE

    reset_rainfall()

    store_speeds = []

    #print(store_directions)

    store_directions = []

    ground_temp = temp_probe.read_temp()

    humidity, pressure, ambient_temp = bme280_sensor.read_all()


    print(wind_average, wind_speed, wind_gust, rainfall,  humidity, pressure, ambient_temp, ground_temp)

Keeping your weather station dry

I can't stress the significance of this enough. The Pi and the other electronics will break down or corrode if they get wet. A small weatherproof shell protects the external environment sensors in the Oracle Pi 4 Weather Station. The central concept is to let fresh air flow past the sensors while keeping moisture away.

Weatherproof boxes

Track down two watertight containers, one big enough to house the Pi and breadboard/HAT and another smaller one for the BME280 detector. The larger container needs a few cutouts to accommodate the RJ11 cables that link the weather stations to the BME280 and the longer cables that collect data from the rain and wind sensors.

Commercial enclosures typically feature cable routing holes and watertight grommets. Alternatively, make your own holes and secure the cables using grommets and sealing glands.

You may use this 3-dimension printable mount to safely store your Raspberry Pi within one of the recommended enclosures mentioned at the beginning of the article. The BME280 mounting bracket ought to snap in place.

You can fasten the mounts to the larger box by driving short self-tapping screws through the holes and/or grooves in its back.

Air circulation surrounding the BME280 sensor is required for accurate environmental temperature and humidity readings. Take out one side's worth of hole covers from the smaller box. The sensor's wires can then be threaded vertically via a single opening. If you mount this outside, make sure the holes drain away from the box.

If you want to keep water out of the enclosure, which could damage your cables, use watertight nylon cable glands. In the event that the glands do not entirely enclose the cables, you may use grommets that you have 3D printed or electrical tape to provide a more secure fit.

The larger enclosure is suggested, containing rubber plugs in each of the four openings. Make sure your cables have somewhere to go by drilling three holes in the base of the box. Put an M16 cable gland in the outside holes, then thread the cables for the rain gauge and wind sensors through them.

The Ethernet cable can connect your weather station to a wired network, but you may need to drill a more prominent gland or an additional hole in the enclosure to accommodate the cable.

Finally, run the cord for the power supply, the DS18B20 probe, and the BME280 sensor's wires through the more prominent M20 gland you've positioned above the center hole.

Given the size of the M20's hole, it's vital to use cable pads to guarantee a snug connection.

When the larger box is housed indoors, it is protected from the elements, and it is also much simpler to plug into an electrical outlet and set up a network. A larger opening in an exterior wall may be necessary to accommodate the cables needed to connect the external sensors. When everything is mounted externally, only the weather station requires electricity.

Prepare the weather station for its outdoor installation. You may install your station anywhere, from a wall or roof to a fence or underground pipe. The sensors can be installed anywhere there is access to the outdoors. In particular, remember the following:

  • Rain must fall into the rain gauge for it to work.

  • Both the anemometer and the wind vane must be exposed to wind.

  • Keep the smaller BME280 box out of the sun, as it requires ventilation.

  • Both power and internet access are required for the weather station to function.

Since the manner of mounting your station will vary depending on your location and environment, we cannot provide detailed instructions. But here are some pointers for getting started with a handful of the process's aspects:

Conclusion

In conclusion, if you want to learn more about the Internet of Things and weather monitoring technologies, assembling your own IoT-based weather station using a Raspberry Pi 4 is a fantastic way. This task is manageable and can be modified to meet your requirements.

You'll need a Raspberry Pi 4 and sensors to detect things like temperature, humidity, and barometric pressure, as well as a way to get the data from the sensors and into the cloud for analysis. A dependable and accurate weather station may be set up with the help of the project instruction and the programming language python.

After setting up your IoT-based weather station, you can access accurate, up-to-the-minute forecasts from any location. Agricultural, transportation, and emergency response applications are just some of this data's possible uses.

Building an Internet of Things (IoT) weather station with a Raspberry Pi 4 is an exciting and instructive way to gain practical expertise in weather monitoring. You can construct and deploy a reliable weather station that serves your needs by following the recommended procedures and using the recommended resources. The following tutorial will teach how to Interface the weight sensor HX711 with raspberry pi 4.

Vector addition by Rectangular Components

Hi friends, I hope you are all well and doing good in your fields. Today we can discuss the vector quantities and how we can add the vector by rectangular components. Generally, there are two quantities one is scalar quantities and the other is vector quantity. Scalar quantities are those quantities that have only magnitude but vector quantities are those that can describe both magnitude and direction. So in physics or for complex quantities vectors are used because they can describe both magnitudes with direction.

Vectors can play a very fundamental role in the different fields of physics and mathematics because they can provide accurate and precise measurements. In rectangular components, we can add two or more vectors by breaking them according to their planes. The most efficient method for adding the vectors is adding vectors in rectangular components. Now in this article, we can start our detailed discussion about the vectors and their addition by the method of the rectangular component.

What are vectors? 

Vectors can be defined as quantities that can describe both magnitude and direction but they can't provide a description about the position of a quantity. Vectors can be used to describe complex physical quantities like velocity, displacement, and acceleration. Vectors can also used to express the mathematical form of laws and in geometry firstly vectors are used. Some more examples of the vector quantities are given there.

Vectors which may be two or more two can be added by rectangular component because they are the cartesian coordinate system. now the main point about what are rectangular components and their mathematical expression are given there.

What are rectangular components?

In the graph or two-dimensional cartesian coordinate plane, there are axsis which are usually x and y these axsis are known as rectangular components for vectors. But if the cartesian coordinate plane is three-dimensional then the three planes and components are x, y, and z.

For example, if we have the vector A then their components on the two-dimensional cartesian plane are Ax and Ay. But if we have the vector B on the three-dimensional plane then their rectangular components are Bx, By and Bz

Notation:

  • A: represent vector A

  • Ax : represent the component of a vector A along with the x-axis

  • Ay : represent the component of a vector A along with the y-axis

And if they are three-dimensional then,

  • Az: it can represent the vector A along with the z-axis in the three-dimensional cartesian plane. 

  • i, j and k : these are the unit vectors that can be used according to their rectangular components like i the unit vector of x- the x-axis rectangular component, j the unit vector of the y-axis of the rectangular component, and the unit vector k for the z-axis. 

Decomposition of the vector: 

Now we know about the rectangular components but if we want to add the vectors by using the rectangular component first we can decompose the vectors according to their component.

Two-dimensional decomposition: 

In a dimensional cartesian plane, there are two components x and y so that is why the vector A has the magnitude A and also has the angle 𝚹 on the x-axis. Their decomposition equation is given there: 

A = Axi + Ayj 

Where,

Axi: A cos𝚹

Ayj : A sin𝚹

Three-dimensional decomposition: 

In three three-dimensional cartesian planes the x, y, and z are the components  for the vector A then there decomposition of rectangular components can be written as:

A = Axi + Ayj + Azk

Vector addition by rectangular component: 

Vector addition by rectangular component is also known as the Analytic method of vector addition. This method can add the vectors efficiently and the chances of error are very low as compared to other methods like the head-to-tail rule or other graphical methods. Now we can start the vector addition by rectangular components.

Let's imagine we have two vectors one vector A or the other is a vector B now we can add them to the rectangular cartesian coordinate system and suppose their resultant is R and these vectors make an angle θ on the x-axis. By using the head-to-tail rule the resultant of two vectors which is A or B are R = A + B now we can resolve the vectors A, B and the resultant vector R into their rectangular components.

Now in this figure, the vector addition is shown and the rectangular components of the vector A, B and the resultant vector R are also shown now we can start our derivation to resolve the all vectors in the figure. 

 Firstly we can find the x component of the resultant and the y component of the resultant. 

Resultant of the x components:

As shown in the figure,

  • OQ is the magnitude of the vector A on the x component. 

And, 

  • MS is the magnitude of the vector B on the x component.

then, 

  • OR is the magnitude of the resultant vector R on the x component all are shown in the given figure. 

Then according to the given figure, we can write these magnitudes of the vector as:

OR = OQ + QR 

Since the QR is also equal to the MS. we can write it as,

OR = OQ + MS 

And according to the vectors it can be written as:

Rx = Ax + Bx ……………. (i) equation 

The sum of the magnitude of the vector A and the vector B on the x component is equal to the magnitude of the resultant vector R on the x component which can be shown in the (i)equation. 

Resultant of the y components: 

As shown in the figure, 

  • QM is the magnitude of the vector A on the y component.

and, 

  • SP is the magnitude of the vector B on the y component.

then,

RP is the magnitude of the resultant vector R on the y component which is shown in the figure. 

Then according to the given figure, we can write these magnitudes of the vector as:

RP = RS + SP

According to the given figure the RS is also equal to the QM so we can also write the equation as;

RP = QM + SP

Now this equation can be written according to the vectors as:

Ry = Ay + By ………… (ii) equation

The sum of the magnitude of the vector A and the vector B on the y component is equal to the magnitude of the resultant vector R on the y component which can be shown in the (ii)equation. 

Unit vector: 

Now we can write the resultant vector on the x component or y component with their unit vectors. 

The resultant vector of the x component with its unit vector is written as Rx i.

The resultant vector of the y component with its unit vector is written as Ryj.

Then the resultant vector with its unit vector in the equation can be written as: 

R =  Rxi + Ryj

Addition of the x component and y component resultant:

Now we can put the values of Rxi or Ryj in the resultant vector R. 

R =  Rxi + Ryj

Putting the values from the equation (i) and equation (ii) and written as 

R = ( Ax + Bx) i + ( Ay + By ) j

This equation is used to add the vectors on the rectangular components.

The magnitudes of the resultant vector R:

After adding the vectors on the rectangular component we can also find their magnitude by using some formula. The formula which we can use to find the magnitude of the resultant 

R is given there:

R = Rx2 + Ry2 

And if we want to find the magnitude of the vector A and vector B we can put the values of the resultant vector Rx and the resultant vector Ry in the given formula and we can write this formula as: 

R = (Ax+Bx )2+ (Ay+By)2

This formula can be used to find the magnitude of the vectors that can be added to the rectangular component. 

But if we can find the magnitude of the resultant R which has the vectors A and vector B then we can also use this formula which is given there : 

R = A2 + B2 + 2ABcosӨ

Special cases: 

There are some special cases in which the value of θ can be different so we can change some formulas. Some special cases are given there:

If the value of θ = 90° then,

R = A2 + B2

But if the value of θ= 0° then, 

Rmax = A + B

And if the value of θ=180° then, 

Rmax = A – B

Resultant vector R direction: 

Vectors can describe the magnitude but they can also describe the direction so after finding the magnitude we can also find their direction by using the formula. To find the direction of the resultant vector R we can use the formula which is given below: 

tanθ = RyRx

Also, it can be written as:

θ = tan-1 RyRx   

But if we want to find the direction of the vectors A and B we can put the values of Rx and Ry. and it can be written as: 

θ = tan-1 AY+ByAx+Bx

These all formulas can be used for two-dimensional vectors but if we want to find the three-dimensional vector or many other vectors we can use the other formulas that are given there.

Two vectors in three dimensions of rectangular component:

The two vectors A and the vector B can lie in the three dimensions in the rectangular cartesian coordinate system. 

Components of resultant vectors in three dimensions: 

The components of the resultant vectors in three dimensions are given there: 

  • Rx components on the x-axis: Ax, Bx

  • Ry components on the y-axis: Ay, By

  • Rz components on the z-axis: Az, Bz

Components of vectors in three dimensions: 

The components of vectors A and B in the three dimensions are given there:

A = Axi + Ayj + Azk

B= Bxi + Byj + Bzk

The sum of these vectors in three dimensions:

A sum of these two vectors in the three dimensions is given there: 

R = Rxi + Ryj + Rzk

Then put the values and get the equation which is given there:

R = (Ax+Bx) i + (Ay+ By) j + (Az+ Bz) k 

This formula is used for the two vectors on the three dimensions.

Multiple vectors in two dimensions:

We can also add the multiple vectors in the two dimensions. Then the resultant components on the x, y, and z axes with their vector components are given there: 

For the vectors A1, A2 and the vector An.

then,

  • R = i=1n Ai

  • Rx = i=1nAix

  • Ry= i=1nAiy

Magnitude formula for the three dimension resultant vector:

The formula that can be used for resultant vectors in these three dimensions is given there: 

R = Rx2 + Ry2 + Rz2

Magnitude for the coplanar vectors:

To find the magnitude of the coplanar vectors A, B, C, D and ........ we can use the formula which is given there:

R = (Ax+Bx+Cx +...........)2+ (Ay+By+Cy+..........)2

The direction of the coplanar vector: 

To find the direction of the  coplanar vector we can use this formula which is given there:

θ = tan-1Ay+By+Cy..........Ay+BY+Cy+...........

Determination of the angle θ of the resultant vector R in its rectangular components:

Determination of θ:

By using the given formula we can first determine and find the θ.

θ= tan-1RyRx

After the determination of the angle check the signs of Rx and the Ry in the rectangular cartesian coordinate system and determine their resultant quadrant according to their signs.

Determination of the resultant quadrants:

Determine the resultant quadrant through the signs of Rx and the Ry. The rules which can be followed to determine their quadrants are given there:

1st quadrant:

The resultant vector R lies in the first quadrant if the sign is positive for both of them Rxand the Ry vectors. Their direction is 

θ = Φ

2nd quadrant:

The resultant vector R lies in the second quadrant if the Rx is negative and the other vector Ry is positive. And their direction is,

θ = 180° – Φ

3rd quadrant:

The resultant vector R lies in the third quadrant if the Rx and the Ry both are negative no one from them is positive. Their direct is,

θ = 180° + Φ

4th quadrant:

The resultant vector R lies in the fourth quadrant if the Rx is positive and the other resultant vector Ry is negative. Their direction is,

θ = 360° – Φ

Summary:

For adding the vectors in the rectangular components in a very efficient way we can use some rules. These rules are as given below:

  • Vectors: First we can determine the x and y components for all vectors in two dimensions and if they are three-dimensional addition then also find the z components of all vectors.

  • Resultant vector Rx: then to find the resultant vector Rx  which is the x component, add all the vector components on the x axes.

  • Resultant vector Ry: then to find the resultant vector Ry  which is the y component, add all the vector components on the y axes.

  • Magnitude: After this, we can find the magnitude of resultant vectors by using the given formula:

R = Rx2 + Ry2 

  • Direction: then we can also find the direction of the vector along with the magnitude by using the given formula:

                             θ= tan-1RyRx

Examples: 

Some examples of adding the vector in a 2D or 3D rectangular system are given there:

Adding the vectors in 2D:

The given vectors are A and vector B.

The values of these vectors are:

A= 6i + 4j

B = -4i + 3j

Then add by using the resultant formula R = A + B 

Then find Rxand Ry and add them,

Rx= 6 + (- 4) = 2

Ry = 4 + 3 = 7

Then, 

R = 2i + 7j

Magnitude: 

R= Rx2+ Ry2 

By putting values, 

R = 22+ 72

R= 4+ 49

R= 53

R≈ 7.280

Direction:

After finding the magnitude we can find direction by using the given formula:

θ = tan-1RyRx

By putting the values we get,

θ = tan-172

θ ≈  16.35

Now add the three vectors in 3D:

The given vectors are A vector B and the vector C.

The values of these vectors are given there;

A= 6i + 4j + 1k

B = -4i + 3j + 5k

C = -1i + 3j + 2k

Then add by using the resultant formula R = A + B + C

Then find Rxand Ry and Rz and then add them,

Rx=6+ (- 4) +(-1) = 1

Ry=4 + 3 + 3 = 10

Rz= 1 + 5 +2 =8

Then, 

R = 1i + 10j +8k

 Magnitude:

R= Rx2+ Ry2+Rz2

By putting values we get,

R = 12+ 102 + 82

R= 1 + 100+ 64

R= 165

R ≈ 12.85

Practical applications:

The addition of the vectors in the rectangular components can be used in different fields of physics because it is an analytic method and provides precise and accurate calculations so scientists in physics or mathematics use this method for the calculation of complex physical quantities. Now we can discuss some applications of adding vectors by rectangular components in some different fields. 

Robotics: 

To determine for find the orientation and position of the robot's arms or legs in an efficient way we can use the vector addition or analytic method because it can provide accurate information without any possible errors.to achieve coordination and control of the robots we can also use the vector addition method by decomposing their component according to the axis.

Physics and engineering: 

For the analysis of the vector quantities like velocity, displacement, acceleration, and force in the accurate or precise method we can use the analytic or the vector addition by rectangular component method. In navigation, if we want to calculate the resultant velocity we can use this analytic method by adding the vectors which are the velocity of the wind and the velocity of the aircraft from which they can fly. This, there are many examples in which this method can be used for calculating the quantities. For example, many external forces can act on the body then we can all add them by using this analytic method and get the sum of all external forces which can act on them.

Computer graphics:

In the field of computer graphics, we can transform the objects their position, and movements, and we can calculate all of these movements through vector addition or analytic methods. The complex motion of the objects their movement, position, and all control on them was handled efficiently through breaking down their components according to their rectangular components axes.

Applications of vector addition in the advanced topics:

With time or in the modern era of science and technology vector addition can be used in many new different fields some are given there:

Spherical coordinates:

The vector A in the spherical coordinates their magnitude can be represented through the A and the angle between them is represented through θ and also represented through the azimuthal angle Φ. In spherical coordinates the vector addition or analytic method can also be used to decompose the components, adding them or also convert them into their original form.

Vector addition in different coordinate systems:

Vectors can be added basically or generally into the rectangular or cartesian coordinate system but vectors can also be added in many different coordinate systems like polar, polygram, cylindrical, or in many different spherical coordinate planes. But in different spherical coordinate systems, we can follow many other different rules which may be addition or different from the addition of vectors in the rectangular coordinate system. 

Polar coordinates:

The vector A in the polar coordinate system, their magnitude can be represented through A  and the angle can be expressed through θ. But the addition in the polar coordinate system is difficult so that's why if we want to add the vector in the polar coordinate system we can convert them, decompose them, and then add them into the rectangular component and if the need arises we can convert them and then added them.

Common mistakes and the challenges in the vector addition by its rectangular components: 

In vector addition in its rectangular components, some mistakes can occur when the vectors are complex and the calculation becomes challenging. Some common mistakes and challenges are given there: 

Neglecting units:

In the vector addition or during the calculations units can play an essential role but if we can neglect them and can't track them properly then the inaccurate calculation or result from chances increases if we can track the units properly then there is no chance for error and the result are accurate and efficient. Mixing up of units can also provide inaccurate or false results.

Misalignment of coordinate axes:

When we add these vectors to the cartesian or any coordinate system it is essential to check their coordinates and components properly because if any vector lies on the wrong coordinate plane the result is incorrect. Coordinate planes can play a very essential role in a vector addition misleading coordinate axes always provide inaccurate calculations and results.

Incorrect component calculations:

When we can perform the trigonometric functions the chances of error are possible but if we can check the calculations again and again then there is no chance of error. If the signs and values of vectors according to their components are not correct then their calculation results are also inaccurate. Because they can cause different significant errors so that's why double double-checking the units and the components in the coordinate plane is essential for precise and efficient results.

Conclusions:

In different fields of physics or mathematics or many others like engineering, robotics, and computer graphics vector addition can play a very essential and powerful role also vector addition can be handled and provide control on different types of robots. Vector addition can also play an essential role in understanding complex vector quantities and also help to understand the theory of trigonometrics and resolve complex trigonometric problems in a very efficient way.

Factors Affecting the Prices of PCB Manufacturing & Assembly

A printed circuit board(PCB) is the most important part of an electronic device. A high-quality PCB is necessary to make a safe and durable device. PCB manufacturers should strive to maintain high quality at a low price. To achieve this goal, some matters should be taken into account.

Some key factors affect the prices of PCB manufacturing and assembly. PCB price depends on size, number of layers, quantity, etc. The material that we choose for PCB also affects the cost. The PCB printing process also matters in this regard. For example, some PCB manufacturers print PCBs manually while some control the whole process with CNC machines. Manual PCB printing is cheaper than CNC machine-printed PCBs. PCB manufacturing is a complicated task that needs experience and technology. A trusted PCB partner is essential for the electronics business.

Where to order cost-effective PCBs?

PCBX is an industry-leading PCB prototype manufacturer. Here you will get a One-Stop PCB Solution from Design to Mass Production.

PCBX specializes in providing 24-hour quick-turn PCB. We offer consistently low prices but high quality. We have 19 Years of Experience with proven expertise in prototype & production. Our Strict QC and advanced inspection ensure high reliability and stability. We have Advanced Automated Inspection (SPI, AOI, AXI) Services designed to ensure the utmost quality and consistency throughout the PCB production.

We integrate innovative technology including AI with efficient processes to deliver high-quality PCBs and complete product assemblies at competitive prices. This combination Minimizes rework and waste, saving on costs.

If you are looking for high quality at a low price, PCBX Fabrication House is the perfect place for you.

Following is a screenshot of the PCBx website’s home page.

We have a special offer of $1 for 10 PCB prototyping, and $15 for 10 PCB Assembly, without compromising on quality. We also give free PCB assembly coupons. You can see the offer on our website as shown in the following picture.

In this article, we will discuss the Factors Affecting the Prices of PCB Manufacturing & Assembly. We will also try to find a balance between cost and quality.

Delivery time

How does shorter delivery time increase manufacturing costs?

Delivery time plays an important role in the manufacturing cost of PCBs. Urgent or express delivery adds more to the cost. When the customer demands urgent delivery, the manufacturer needs to employ extra labour. Workers may need to do overtime. Additional machineries are put into operation. These will increase the overall manufacturing cost.

Due to shorter delivery time requirements, manufacturers often need to adjust production schedules and processes to ensure timely order completion. They may need to rearrange production lines, prioritise urgent orders and accelerate production speed. As a result, costs associated with production adjustments are increased.

After manufacturing the PCB, then comes the question of delivery. Urgent delivery needs special arrangements. Air freights and express delivery services add more to the cost.

PCBX offers a flexible assembly time frame. It can range from as little as 24 hours to a few weeks. You can select the time option that best suits your schedule and budget. We want to ensure transparency. This is why our turn-time policy begins once all the necessary components are ready and all the required PCB files are complete for our assembly work. These files include Gerber files or other PCB file formats, Centroi(PNP file), BOM, and any other essential data, documents, images, or photos. This approach accounts for the complexity involved in determining the turnaround time for PCBA services.

Complexity of design

The design plays an important role in the manufacturing cost of a PCB. The more complex the design is, the costlier it becomes. Complex design usually means the components are densely placed and a lot of traces and vias are very close to each other. This type of complex PCB needs extra care during manufacturing. Complex circuit boards may require larger board areas. The number of layers may also increase. All of these factors will eventually increase the production cost of the PCB. So, it is wise to keep the design as minimalistic as possible. If the whole circuit can be accommodated in a single-layer board, there is no point in making it double-layered. Traces should be placed cunningly to save more place. 

We want to make your PCB designing task easier. We have the PCBX designer to help you with the design. It is an online PCB designing platform. It is quite easy to learn. It takes not more than 5 minutes to learn this tool. No matter what device you use, you can always run this tool. You can import circuit files from other PCB Designer software into PCBX for viewing, editing, and modifications. Following is what the PCBX designer looks like.

PCB Size

Bigger PCBs usually need more substrate materials. They also need more copper foil. All of these materials increase the cost. For high-density boards, the increase in material costs can be significant.

Larger PCBs may need a series of complex manufacturing processes. They depend on larger production equipment, such as larger cutting machines, and larger copper plating holes or slots. This increases manufacturing complexity and costs. The following picture shows a PCB which is bigger than usual.

PCB shapes

PCBs are usually rectangular. But often they are of other shapes. Such as round PCB, Christmas tree-shaped PCB etc. To cut circuit boards in unusual shapes, additional processing steps or customized processes may be required, further adding to manufacturing costs. The following picture shows a PCB having an exotic shape.

Larger PCBs may lead to higher shipping costs. Due to their larger size, they need larger packaging boxes or additional protective measures to ensure the safe transportation of the products. Transportation of big-size PCBs may pose some challenges. As a result, PCB suppliers may need to pay additional charges, such as oversize cargo fees or higher shipping costs.

Number of layers

An increase in the number of layers means the consumption of substrate materials, copper foil, insulation materials, etc., also increases. Thus the number of increased layers raises material costs. The following picture shows the standard composition of a multilayer PCB.

Multi-layer PCBs need a more complex manufacturing process. In multi-layer PCBs, additional processing steps may be required. These steps include lamination of copper foil layers, drilling, and alignment of inner layer circuitry. These processes add to the complexity and difficulty of manufacturing, consequently increasing manufacturing costs.

PCBs must ensure stable signal transmission. This is why multi-layer PCBs require precise alignment and connection between each layer. Multi-layer PCBs have vias between layers to interconnect the components of each different layer. Electroplated vias are very common in these PCBs. To accommodate all these features, multi-layer PCBs demand higher levels of manufacturing technology and equipment. This also contributes to higher manufacturing costs.

With the help of modern technology and expertise, PCBX is capable of manufacturing multi-layer PCBs consisting of up to 8 layers. 

Substrate Material

Different types of substrate materials have different prices. The substrate material you choose directly manipulates the price of your PCB.

For example, commonly used FR-4 fibreglass composite materials are typically cheaper than high-frequency materials like PTFE. The following figure depicts the placement of substrate material in PCBs.

There are certain special applications of PCBs. Many PCBs need to operate in high-frequency, high-speed, or high-temperature environments. For this purpose, special substrate materials may be required to meet performance requirements. Generally, these special substrate materials are more expensive.

The price of PCB directly depends on the thickness of substrate materials. There are some commonly used high-frequency substrate materials with relatively high prices. RO4350, RO5880, etc. are mentionable among those.

Trace Width and Spacing

Finer manufacturing methods and higher-end production equipment are needed for smaller trace widths and spacings. Reduced trace widths and spacings may require the employment of more sophisticated lithography methods and drilling tools, which raises the cost of production. Smaller trace widths and spacings could also result in more complicated production processes and longer processing times, which would raise manufacturing prices even more.

Reduced Yield Loss 

During the manufacturing process, smaller trace widths and spacings may result in a greater yield loss. There might be more scrap or faults during production as a result of the reduced trace widths and spacings, which would raise production costs and reduce yield. Smaller trace widths and spacings may also raise the failure rate during manufacturing, necessitating the need for additional steps to lower scrap rates, such as stepping up inspections or changing production procedures, which raises the cost of manufacturing.

The following picture shows trace width and trace spacing.

Drill holes

Increased Processing Costs

Another thing that heavily influences the price of your PCB is the number and size of drill holes. Smaller drill holes need smaller-sized drill bits. It increases the processing cost of PCBs. There may be some specialized PCB requirements, such as blind vias, buried vias, or controlled-depth holes. Special drilling processes are often required to meet these demands. These special drilling processes typically require higher-level processing equipment and more complex operational steps, thus giving rise to processing costs.

The following picture shows a PCB with different sizes of drill holes.

Increased Material Loss

Drilling processes sometimes lead to material loss. Increased material loss rates result from more material being removed and sliced away when there are more drill holes. Furthermore, additional drill holes might be needed for some specific PCBs, such as high-density boards, in order to achieve complicated circuit layouts, which would further increase material loss rates. To meet specific PCB criteria, including blind vias, buried vias, or controlled-depth holes, unique drilling techniques could be required. Processing expenses are increased because these unique processes usually call for more sophisticated operational procedures and sophisticated processing equipment.

Higher Loss of Materials

Material loss can occur during drilling operations. Increased material loss rates result from more material being removed and sliced away when there are more drill holes. 

Surface Treatment

copper is oxidized and deteriorates in the presence of air. Oxidization seriously affects the electrical properties and solderability of PCBs. The implementation of PCB surface treatment is important for the improvement of the reliability and shelf life of PCBs. The quality of metal-to-metal joints depends on surface treatment These treatments also contribute to the higher manufacturing cost of PCBs.

There are 8 kinds of PCB surface treatment methods. These are-

  1. HASL, hot air solder levelling

  2. OSP, Organic coating.

  3. ENIG.Chemical gold.

  4. IAG. Immersion Silver.

  5. ISN. Immersion tin.

  6. Electroplated Nickel Gold.

  7. Electroless Palladium.

  8. ENEPIG, Electroless Nickel Electroless Palladium Immersion Gold.

The following picture shows different PCB surface finishes.

The costs of all these surface treatment techniques are not the same. For example, organic coating is cheap. On the other hand, palladium is a valuable metal. So, the Electroless Palladium process is expensive. Expiration dates of various surface treatments are different. You have to select the surface treatment according to your application.

How can you decrease PCB manufacturing costs?

Here are some tips to follow if you want to cut down on the manufacturing cost of PCBs

Right placement of components

Component placement of PCB should be done in such a way, that you can connect them to each other by the shortest possible path. When you convert a schematic to a PCB layout, please pay attention to the components that are connected to each other. Place the connectable components close to each other. Try to keep the traces as short as possible.

Aim for the lowest number of layers possible

PCB cost increases proportionally with the number of layers. So, try to accommodate all the traces, vias and components in the lowest number of layers possible.

Remove unnecessary trace spacing

It is essential to maintain an optimum distance between the traces to avoid DRC errors. However, traces should not be placed so far from each other that the total board area becomes cumbersome. Try to place the traces as close as possible to each other without violating DRC rules.

Follow DFM guidelines

DFM stands for design for manufacturability. DFM guideline is a set of rules for cost-effective and efficient manufacturing. By following this guideline, you can optimize the sizes, materials and tolerances of PCBs to reduce costs.

Which Is Better, 3D Printing or CNC Machining?

Choosing between 3D printing and CNC machining can be pivotal for manufacturers, designers, and engineers. Each method has distinct advantages, depending on factors like production volume, material requirements, and the complexity of the design. 3D printing offers unparalleled flexibility. It allows for rapid prototyping and intricate geometries that are difficult to achieve with traditional methods. 

On the other hand, custom CNC machining is known for its precision and ability to work with a wide range of materials, making it ideal for producing high-quality parts with tight tolerances. Understanding these differences is crucial for selecting the right technique for your project, whether looking to innovate quickly or produce durable, high-quality components.

This article will look at the key aspects of 3D printing and CNC machining. It will help you determine which method best suits your needs.

What Is 3D Printing?

3D printing, or additive manufacturing, is a cutting-edge process to create three-dimensional objects from a digital model. This technique involves building the object layer by layer, which sets it apart from traditional subtractive manufacturing methods that remove material from a larger block. The digital model, typically created using Computer-Aided Design (CAD) software, serves as a blueprint for the object, guiding the printer through each layer's construction.

What Is CNC Machining?

CNC machining, short for Computer Numerical Control machining, is a versatile manufacturing process involving automated machine tool control using computer programs. This subtractive manufacturing technique removes material from a solid block or workpiece to create a highly precise and accurate finished part.

3D Printing VS. CNC Machining: Key Differences

Below are some of the key differences between 3D printing and CNC machining:

Part Design

3D printing offers nearly limitless design flexibility, allowing for the creation of complex geometries and intricate details that would be difficult or impossible to achieve with traditional manufacturing methods. This freedom is due to the addictive nature of the process, which builds parts layer by layer without the need for specific tooling or support for internal features. As a result, designers can focus on optimizing the functionality and aesthetics of the part without being constrained by the manufacturing process itself​.

On the other hand, CNC machining is limited by certain design constraints inherent to the subtractive process. These constraints include tool access, tool path, and the need to avoid undercuts and internal geometries that are difficult to reach with cutting tools. Additionally, CNC machining requires careful planning of tool paths. It may also involve multiple setups and repositioning of the workpiece to achieve the desired shape. This method can restrict the complexity of parts that can be efficiently produced.

Precision

The precision of 3D printing varies depending on the specific technology used. Generally, the resolution can range from 0.016 mm to over 1 mm, with typical consumer-grade 3D printers achieving around 0.2 mm precision. While this is sufficient for many applications, achieving high precision consistently across different geometries and materials can be challenging.

CNC machining produces parts with high precision and tight tolerances. It can achieve precision levels as fine as 0.005 mm by employing slow feeds, new cutters, and shallow cuts. This makes CNC machining ideal for applications with critical dimensional accuracy and surface finish, such as aerospace and medical device manufacturing​​.

Operator Skill

Operating a 3D printer generally requires less specialized skill compared to CNC machining. The process involves preparing a digital file, selecting orientation, and adding necessary support. Once the setup is complete, the printer performs the build with minimal human intervention, making it accessible to users with basic technical knowledge​.

CNC machining demands a higher level of operator skill due to the complexity of setting up the machine, programming tool paths, and selecting appropriate cutting tools. Operators need to have a deep understanding of the machining process, material properties, and the capabilities of the equipment to consistently produce high-quality parts. This expertise is critical for achieving the desired precision and surface finish​.

Speed of Build

3D printing typically has a low setup time, but the actual build time can be lengthy. It often takes several hours or even days to complete, depending on the size and complexity of the part. This makes it suitable for prototyping and low-volume production, where quick iteration and design flexibility are prioritized.

CNC machining can have high setup and programming times, particularly for complex parts. However, once the setup is complete, the cutting stages are very fast, allowing for rapid part production. This makes CNC machining well-suited for high-volume production runs where speed and efficiency are essential​.

Surface Finish

The surface finish of 3D-printed parts can vary widely based on the technology used. Common issues include graininess, rough textures, and visible layer lines. Post-processing methods such as sanding, polishing, and media blasting can improve the finish. However, achieving a smooth, high-quality surface can be challenging without additional work​.

CNC machining can produce excellent surface-quality parts, particularly when using longer cut times and finer cutting tools. The process can achieve a highly uniform and precise finish, making it ideal for applications where aesthetic and functional surface properties are important. Various post-processing techniques, such as anodizing and powder coating, can further enhance the surface finish of machined parts.

Strength

The strength of 3D-printed parts is often lower than that of their machined counterparts. Depending on the printing process and material, the strength can range from 10% to 20% of the native material's properties. This is due to the layer-by-layer construction, which can introduce weaknesses and inconsistencies in the final part​.

CNC machining produces parts with the full strength of the native material, as the process involves removing material from a solid block. It results in parts with superior mechanical properties and durability, making CNC machining the preferred choice for applications where strength and reliability are critical​.

3D Printing Vs. CNC Machining: Which Is Better?

Choosing between 3D printing and CNC machining is influenced by your specific needs. 3D printing is ideal for rapid prototyping, complex geometries, and low-volume production with diverse material options like plastics and metals. It offers customization and reduced waste but may require post-processing for a smooth finish. 

CNC machining excels in high precision, consistency, and the ability to work with a wide range of materials, including metals and composites. It's best for producing parts with tight tolerances and in larger volumes. Ultimately, the choice depends on the project's complexity, material requirements, and production scale.

Basics of Critical Value: Definition, Types, and Calculation

The critical value serves as a boundary that defines a specific range where the test statistic acquired during hypothesis testing, is improbable to lie within. The critical value is a benchmark against which the obtained test statistic is compared during hypothesis testing. This comparison helps in deciding whether to reject the null hypothesis or not.

On a graph, the critical value explains the boundary between the acceptance and rejection areas in hypothesis testing. It aids in judging the statistical importance or significance of a test statistic. This article will explain the following basics of critical value:

  • What is the critical value?

  • Types of Critical Value.

  • How to Calculate Critical Value?

  • Examples of Critical Value.

  • Summary. 

What is Critical Value?

A critical value is a specific test statistic value that establishes a confidence interval’s limits (upper and lower). It also sets the threshold for determining statistical significance in a statistical test. It indicates the distance away from the average (mean) of the distribution needed to comprehend a particular portion of the overall variation in the data (Such as 90%, 95%, or 99%).

Types of Critical Value

There are various types of critical values used in statistical analysis which depend on the nature of the test and the distribution being considered. Some of the common types include:

  1. Z-Score Critical Values

  2. T-Score Critical Values

  3. χ² (Chi-Square) Critical Values

  4. F-Statistic Critical Values

  1. Z-Score Critical Values

Used in hypothesis testing for population means when the population standard deviation is known. Z-scores correspond to specific percentiles of the standard normal distribution.

  1. Specify the alpha level.

  2. Compute 1 minus the α level to derive the adjusted value for a 2-tailed test. Deduct the alpha level from 0.5 in the case of a 1-tailed test.

  3. Use the z distribution table to find the area and obtain the z critical value. In the case of a left-tailed test, include a negative sign to the critical value after obtaining it.

  1. T-Score Critical Values

Used in hypothesis testing for population means when we don't know the population standard deviation and have a small sample size. T-scores come from the t-distribution and vary based on the degrees of freedom.

  1. Fix the alpha value to evaluate the test’s significance.
  2. Subtracting 1 from the sample size yields the degrees of freedom (df).
  3. Use the one-tailed t-distribution table if the hypothesis test is one-sided. Utilize the two-tailed t-distribution table for a two-sided test.
  4. Locate the t critical value by identifying the cell where the row for degrees of freedom (df) and the column for the alpha level intersect in the table.

  1. χ² (Chi-Square) Critical Values

Used in chi-square tests for independence or goodness of fit. Chi-square critical values are based on the chi-square distribution and depend on the degrees of freedom and the chosen level of significance.

  1. Calculate the degrees of freedom for the Chi-Square distribution.

  2. Choose the significance level (α).

  3. Refer to the Chi-Square distribution table.

  4. Locate the critical value corresponding to the degrees of freedom and chosen significance level.

  1. F-Statistic Critical Values

Utilized in ANOVA (Analysis of Variance) tests to compare variances between multiple groups. F-statistic critical values are taken from the F-distribution and depend on the degrees of freedom of the groups being compared.

  1. Compute the alpha level.

  2. Deduct one from the size of the initial sample to get the degree of freedom. Denoted as X.

  3. Deduct one from the second sample to determine the 2nd Degree (df) of freedom. Labeled as y.

  4. Consult the F distribution table, locating the value where the column representing x intersects with the row representing y. This intersection provides the F critical value necessary for the analysis.

How to Calculate the different Critical Values

To calcauate the different critical values first we need to select the test and use the related distribution table according to the test. There’s no universal formula and methods for finding the value of the critical values, it just depend on the test selection. Follow the below steps to find the critical value using different test:

  • Type of hypothesis test: Z-test, t-test, chi-square test, F-test, etc.

  • Level of significance (α): Typically, 0.05 or 0.01.

  • Tailed Ness of the test: One-tailed or two-tailed.

  • Degrees of freedom (df): Often needed for t-tests, chi-square tests, and F-tests.

Calcualte Critical Values by Confidence Interval 

The critical values for both 1-tailed and 2-tailed tests can be determined using the confidence interval. The process to calculate the critical value is as follows:

  1. Deduct the confidence level from 100%.

  2. Change this value into decimal form to obtain α (alpha).

  3. If the test is 1-tailed, the alpha level remains the same as in step 2. However, for a 2-tailed test, the α level is divided by 2.

  4. The critical value can be determined by consulting the relevant distribution table, based on the type of test and the alpha value.

Examples Related to Critical Value

In this section, we calculate the different critical values  using the its respective test and formulas. For the better underestnfding of the calculations provide the detailed steps.

Example 1: Chi-Square Critical Value Calculation

Suppose you’re conducting a chi-square test to analyze the independence between two categorical variables in a survey. Your contingency table has 3 rows and 4 columns.

Solution:

  1. Calculate Degrees of Freedom (df):

For a chi-square test of independence, degrees of freedom (df) are computed as:
df = (Number of rows - 1) * (Number of columns - 1)
df = (3 - 1) * (4 - 1)
df = 2 * 3 = 6

  1. Choose Significance Level (α):

Suppose we are working with a significance level at α = 0.05, which is commonly used in hypothesis testing.

  1. Refer to Chi-Square Distribution Table:

Consult the Chi-Square distribution table with 6 degrees of freedom and α = 0.05.

  1. Locate Critical Value:

Find the critical value for 6 degrees of freedom at α = 0.05 in the Chi-Square distribution table.

Chi-square Distribution Table

Critical Value = χ² = 12.592 (df=6, α=0.05)

Alternatively, you can use the Critical Value Calculator to determine the critical value quickly, saving your time and efforts by manual calculations.

Example 2:  Z – score Critical Value Calculation

Suppose we're conducting a hypothesis test to determine if the average IQ of a population is significantly different from a claimed mean IQ of 100, with a population standard deviation known to be 15. We'll perform a two-tailed test at a significance level (α) of 0.21.

Solution:

  1. Specify the alpha level: α = 0.21 (significance level)

  2. Compute 1 minus the alpha level for a two-tailed test: For a two-tailed test, the adjusted alpha level is 

1 - α = 1 - 0.21 = 0.79.

  1. Use the Z-distribution table to find the critical Z-value: 

Therefore, the critical Z-score for a two-tailed test is approximately ± 0.81.

Summary

This article explored the essential concept of critical values in hypothesis testing. We understood their role in defining boundaries for the test statistic and judging its statistical significance. We delved into the formulas and steps for calculating critical values for various scenarios like Z-tests, T-tests, and Chi-Square tests. We examined different types of critical values and observed their application in practical examples.

Common Issues Faced in PCB Designing

PCB stands for printed circuit board. You will find PCBs in pretty much all electronic devices. It is usually green/blue in color. The PCB is a circuit in a board that permanently holds all the components of a circuit.  It is the main part of an electronic device. This board controls and regulates the function of the whole device. A circuit may work perfectly in a breadboard. But breadboard circuits are not suitable for use. It will only be eligible to be used in a ready-made product if implemented in a PCB. This is why PCB designing should be done with utmost care. 

Where to order error-free PCBs

It takes a lot of knowledge and expertise to manufacture good-quality PCBs. PCBway is a trusted PCB manufacturer. While their head office is located in China, they ship PCBs worldwide. The following image shows the home page of PCBway.

PCBway Fabrication House is the best PCB manufacturer for professionals and hobbyists. There you can not only print your PCBs. You can get consultancy regarding the whole manufacturing process.  Together with a top-notch design and an expert manufacturer, you can produce a high-quality and durable PCB. The following pictures shows how the order page of PCBway looks.

PCB design should be an accurate process. It involves several critical steps. Different challenges may arise in each step of this process. It is important to detect and solve these problems at the early stage of manufacturing the product. Otherwise, we cannot guarantee a reliable electronic gadget.  This article discusses the common problems faced in PCB designing and practical solutions to solve these.

Misplaced components

Problem

This problem often occurs when the designer is a newbie. The wrong placement of components causes some problems. Due to this mistake, the size of the PCB increases unnecessarily. That costs unnecessary money. Soldering becomes difficult if the components are haphazard. Electromagnetic interference (EMI) may also occur and overall signal integrity may also be affected. Misplaced components also result in the following problems:

  • Difficulties in soldering during the manufacturing process
  • Electromagnetic interference (EMI)
  • Signal integrity issues.

Solution:

We should place components in a PCB wisely. The components should be arranged in such a way that the traces will be as short as possible. The components that are supposed to be directly connected, must be placed close to each other. The following image shows a decent arrangement of components in a PCB.

90-degree traces

Problem:

Making 90-degree traces is a big no-no for pro-level PCB designs. The sharp edge created by this type of tracing creates extra stress on the traces. These traces are more likely to crack or break. The life span of such badly designed PCBs is less than usual. The corners of a right-angled PCB have higher electric field density than standard ones.

Right-angle PCB traces affect signal integrity. The effect of a PCB trace's right-angled corner is the same as that of a transmission line coupled to a capacitive load. This is called parasitic capacitance. As a result, the transmission line signal's rising time is slowed down.

Solution:

Designers should always avoid right-angled traces. In PCB designing software like Proteus, there are functions for making curved traces. We must use those to make our traces curved and not susceptible to cracks after long-term use. The following image shows the difference between a bad and a good trace.

Poor Signal Integrity

Problem:

PCB designers must ensure signal integrity. Signal transmitting across the PCB should not distort. Poor signal Integrity is caused mostly by wrongly designed traces, crosstalk, impedance mismatch etc. Signal distortion causes transmission errors.

Solution:

Modern PCB designing platforms have many important tools that help PCB designers maintain good signal integrity. By knowing how to use them properly, you can avoid errors like uncontrolled line impedances, propagation delays and signal attenuation. 

The following figure shows a relationship between coupling traces and SI(signal integrity parameters.)

Electromagnetic Interference (EMI)

Problem:

EMI causes noise and signal interference. Noise degrades the performance of a PCB. EMI increases with frequency. This may cause many problems in high-frequency circuits and designs where components are congested.

Solution:

EMI can be handled with a combination of design strategies. One method is to use ground planes. We have to place ground planes in such a way that they absorb and redirect electromagnetic emissions.   It is also possible to reduce EMI by reducing the current loop area. 

It is also important to Shield critical components and traces.  Additionally, careful routing of high-frequency traces away from sensitive analog signals can minimize interference.

Heat is generated in PCBs in several ways. Some prime sources of heat generation in PCBs are the active devices or chips that generate heat. Another source is created when an RF power is applied to the circuit. In the case of a double-layered PCB, the copper has extremely high thermal conductivity. On the other hand, the substrate is a thermal insulator that has a very low conductivity. A good-quality PCB must Have a high heat flow. There must be sufficient heat sinks around active components. It is important for keeping the circuit cooler by more efficient heat transfer from the heat source to the heat sink.

The following picture shows some  EMI shielding films.

Power Distribution Problems

Problem:

Structurally a PCB can be perfectly alright. Still, it will be useless if the power supply is not adequate. Power distribution should be according to the requirements of each and every component. There may be different voltage and current requirements for different components of a PCB. For example, a PCB may consist of a microcontroller that operates at 5V, but there may be a motor driver that operates at a different voltage level. So, different amounts of voltage and current must be supplied to different parts of the circuit. It is necessary to design a reliable power distribution network. There are PDN analyzers that can detect anomalies in the PDN.

DRC error

Problem:

If you know how to use a PCB designing software, you already know this term. DRC stands for Design rule check. DRC error occurs when you do not maintain the minimum trace-to-trace distance defined by the software. For example, the minimum spacing between two traces of a 2-layered PCB is 6 mils (mil=1/1000 inch). If any two traces of your PCB layout are closer than this, the software will show a DRC error. The same error messages will appear also when-

  • Traces are overlapped with each other

  • The power plane and the GND plane touch one another

  • The minimum standard distance between a trace and an adjacent via is not maintained. 

We should never ignore DRC errors. If we print a PCB without solving DRC errors, chances are high that it will blow away after powering up.

Solution:

There should be no DRC error in the PCB layout. Each DRC error detected by the software should be corrected before printing the PCB. You have to edit your design to meet the requirements of the software. You may need to adjust the sizes of the traces and vias to comply with the rules. The following image shows the DRC tool of a  PCB designing software.

Manufacturing Defects

Problem:

You may design a flawless PCB, but manufacturing errors can still occur. You can see many short circuits and broken traces. Sometimes it becomes also impossible to read the texts written on the silkscreen. The following picture shows a broken PCB trace.

Solution:

A good collaboration with the manufacturer may help you solve these manufacturing defects. The customer should provide clear and detailed documentation. It is essential to include the fabrication drawings and assembly instructions. It is helpful to perform a manufacturability (DFM) check to identify potential issues before production. Automated optical inspection (AOI) and in-circuit testing (ICT) during manufacturing can also find defects early.

Grounding Issues

Problem:

A well-designed ground system is required for Modern high-speed electronics. PCBS need to operate at their best performance. If the PCB ground is not properly implemented, the circuit board may experience many different problems with noise and electromagnetic interference (EMI).

Sometimes the ground net in a PCB design can appear confusing. Yes, there are many connections, but since most designs will have one or more ground planes in their layer stacked up, you just add a via to the ground, and the work is done. Right? Theoretically, that is correct, practically, there are lots more that need to go into your PCB grounding technique to build a good power delivery network.

Solution:

A single, continuous ground plane is typically the best approach for minimizing ground loops. The following image shows a PCB layout with properly designed POWER and GND planes.

Soldering Issues

Problem:

Soldering issues such as cold joints, bridging, and insufficient solder can lead to unreliable connections and component failures.

The following image shows an example of an accidental short circuit.

Solution:

Designing with manufacturability in mind can help prevent soldering issues. Ensuring appropriate pad sizes and clearances for components can facilitate proper soldering. Specifying the correct solder mask and paste layers in the design files is also important. Automated soldering processes, such as reflow soldering, should be used whenever possible to ensure consistent and reliable solder joints. Inspecting solder joints using AOI and X-ray inspection can catch defects before final assembly.

Inadequate Clearance

Problem:

Inadequate clearance between traces, pads, and components can lead to shorts and an increased risk of crosstalk, affecting the PCB's reliability and performance.

Solution:

Following the clearance guidelines provided by the PCB manufacturer is essential. Maintaining adequate spacing between traces and pads can prevent shorts and crosstalk. Using the DRC tool in the CAD software to check for clearance violations can help identify and rectify issues before fabrication. Also, consider the voltage levels and environmental factors like humidity and temperature. It can guide appropriate clearance settings.

Multilayer Design Complications

Problem:

Designing multilayer PCBs introduces complexity, such as ensuring proper layer stack-up, signal routing, and maintaining signal integrity across layers.

Solution:

Planning the layer stack-up early in the design phase is critical for multilayer PCBs. Assigning specific layers for power, ground, and signal routing can help manage complexity. Using blind and buried vias can optimize space and routing options. Ensuring proper alignment of vias and traces across layers is essential for maintaining signal integrity. Simulation tools can assist in verifying the performance of multilayer designs and identifying potential issues.

Failure to Consider Manufacturing Tolerances

Problem:

Tolerance means the maximum deviation from the design at the time of the manufacturing process. There are always big differences between theory and practice. Your design may be perfect in your software, but you have to consider manufacturing tolerances in practice. If we do not take it into account, our PCB may fail.

Solution:

It is best to check the manufacturing tolerances of the PCB manufacturing company. The following image represents PCBway’s manufacturing tolerance guideline. To learn more about PCBway's manufacturing tolerance policy, you can click here.

Environmental Factors

Problem:

While designing a PCB, it is necessary to take environmental factors into account. You must consider the temperature, humidity, and atmospheric pressure of the environment where it is likely to be used. For example,  a PCB designed for an industrial purpose should be more robust than a PCB of a home appliance.  PCBs are likely to damage early if they are not compatible with their surroundings.

Solution:

First of all, we have to select the components according to their specifications and operating temperatures.  For industrial products, all components and the board itself should be industrial-graded. For better heat dissipation, use thermal vias, heat sinks etc.

Following is a chart of high TG materials used by PCBway.

Conclusion

PCB manufacturing is a process that needs a lot of scrutinization, time and dedication.  PCBs are often printed on a trial-and-error basis.  It should be our goal to save as much money and time as possible while not compromising the PCB quality. We should correct all DRC errors before printing a PCB. We need to provide a proper thermal management system, and proper shielding for removing signal interference. We should not tend to make the design on an ad-hoc basis. Rather, we must always try to make a durable PCB. We should choose a dependable manufacturer.

How To Make Your Awards Ceremony Unforgettable

It can become challenging to make award ceremonies rewarding and fun, especially if you are in a technical business related to engineering. However, it is essential to have such celebratory moments to recognize your colleagues, coworkers, and team.

Moreover, such ceremonies are a chance to celebrate yourself and those around you, and to achieve that; the ceremony must be executed flawlessly. It must create an atmosphere of festivity and jubilation so that your team feels the spirit and recognition for their work and is, therefore, motivated to continue achieving milestones for the business.

An Engaging Host for an Engaging Awards Ceremony

Hosts bring life to the ceremony or party and must be chosen carefully for the occasion. We recommend choosing a host with some connection to your business’s industry. Still, it is also essential that they have an uplifting and witty personality capable of withholding engaging banter to keep the mood lighthearted and joyous and, therefore, automatically keep the team attentive throughout the ceremony.

On celebratory occasions, it is crucial to avoid choosing a host who tends to give boring and long speeches- those can be saved for conferences and in-office occasions.

Your management could also invite popular guest speakers or charming celebrities, which may increase attendance at the event and spark excitement among those present.

An Alluring Venue Will Elevate the Celebrations

Choosing an exciting and alluring venue is always a must to create a celebratory atmosphere. For example, if you were to host the award ceremony in an auditorium, it would not spark any excitement among the employees, and they would perceive it as just another boring office event.


However, hosting the event in an exciting environment, such as near or on the beach, would make the atmosphere more festive and relaxed for employees, allowing it to feel like a celebratory moment.

Customized and Innovative Award Categories

It is vital to make your team and workers feel like they are part of a family, and the best way to do this is by proving that you know them personally and not just by their professional achievements.

Therefore, sometimes it is essential to gift them Custom Trophies and awards engraved with fun, quirky recognitions, such as ‘The detail-detective,’ ‘The Innovator,’ or ‘The Early Bird.’ Such recognitions give an insight into their personality and portray their achievements.

Furthermore, since teamwork in the workplace is essential for a business’s success, it is also essential to give out customized awards to teams, such as ‘The Financial Gurus’ or  ‘The Creative Collective.’

You could take these customized awards and customize the entire trophy designs. For example, the trophy design could have wings to signify that the employee has reached new heights or grown. Similarly, the award could be key-shaped to symbolize that they have unlocked new doors in their career or have finally cracked the code to unlock their highest potential.

Such awards that resonate personally with the teams will no doubt stimulate rounds of laughter and prompt light-hearted conversations. 

Organise Lively Entertainment Acts

It is vital to keep the ceremony short and allocate a good proportion of time for colleagues to mingle and interact with one another. This opportunity may lead to many new bonds within the workspace, enhancing productivity and motivation levels.

One way to achieve this is by hosting live entertainment acts and creating a laid-back atmosphere. The most popular is to invite a band or singers who will create a memorable moment for your employees and even guide some of them onto the dance floor. Furthermore, your management could host well-known comedians who would make your employees erupt into rounds of laughter.

Moreover, you could set up an area for live painters who could perfectly capture the moment's essence. This painting could be set up in your office building and forever take your employees back to relive their memorable moments.

A Gifted Weekend Getaway

After a series of accomplishments, your employees more than deserve a weekend getaway to relax and unwind so they can come back to work more refreshed and ready than ever.

Therefore, if your budget allows for it, we recommend hosting a gala at a weekend getaway, followed by a range of leisurely activities to help your employees unwind and escape from the stress of deadlines and daily tasks.

Such leisurely activities could include golf, spa sessions, massages, swimming pools, and even a tour around whichever city or town you visit.

A weekend getaway will surely provide your employees with an experience of a lifetime that they will always cherish. Furthermore, it will also be an opportunity for your employees to get to know one another better, satisfying their social needs , especially when they return to the workplace.

Conclusion

Undoubtedly, a business’s most valuable asset is its employees. Therefore, it is essential to keep them motivated if you want to ensure higher returns for your business. Recognizing their work and managing your workforce more efficiently and effectively will save time and increase productivity for your employees and the business.

Introduction to Vectors in Physics

Hi readers, I hope you are all well. In this post, we can talk about the vectors briefly. Physical quantities can be defined through magnitudes but some physical quantities can be defined through both magnitudes and direction, these types of quantities defined through both magnitude and directional properties are known as vectors, and the quantities that can be explained through magnitude, not with direction are known as scalars. some vectors are force, velocity, displacement, and acceleration.

Vectors can explain the direction and magnitude of the quantity but they can't provide their position. It is an essential tool of mathematics that can be used in physics for knowing the direction or magnitude. It cant be used in the 18th century but can be used in the modern era of the 19th century late and it can be presented by the scientists Oliver Heavisde and Willard Gibbs they can develop the vector analysis which can be used to express the modern laws of electromagnetism which can be presented by the James clerk maxwell.

In different fields of physics like mechanics, and mathematics or in engineering, vectors can be used to explain the different qnatites in mathematical form with magnitude and direction. Now we can start are brief discussion about vectors their definition, mathematical representation, operations, types, and their application in different fields of physics.

Vectors:

 Definition, mathematical representation, operations, and their application in different fields of physics in detail are given below: 

Definition: 

It can be defined as: 

"The quantity which can described through both direction and magnitude is known as vector quantity or vectors."

In mechanics or geometry firstly term vector can be used but in some articles, the word or term vector can also be used for tuples. because mostly in mechanics which is the branches of physics vector quantities are used for magnitude and direction. some examples of vector quantities are given there:

  • Magnetic field: In the magnetic field the moving charges represent the force that they can experience.
  • Acceleration: The rate of change of velocity can be represented by a vector.
  • Displacement: The position which can be changed by a moving object can be represented through a vector.
  • Momentum: The product of velocity and mass can represented through a vector.
  • Velocity: The direction and speed through which an object can be moved are represented through a vector.
  • Electric field: In the electric field the unit positive charge represents the force which they can be experienced.
  • Force: the object that can be pulled or pushed then their direction and magnitude can be represented by a vector.

Representation of vectors: 

Representation of vectors in detail is given there: 

Bold letter:

The vector quantity can be represented through the bold letter. For instance, the normal letter is v but for the vector, it can be written in bold form like v. Another example is the normal letter is written as a,b, and c but if it can be used for vector it can be written as a, b and c.

Arrowhead over the letter: 

The vectors can also be represented by putting the arrowhead over the letter. Some examples are given there:

Graphical representation:

Vectors can also be represented in graphical form through an arrow. In the graphical representation, the arrow points to the direction of the vector, and the length of an arrow can represent the magnitude of the vectors. 

For instance, a vector can cover the displacement from point A to point B then the arrow length represents the magnitude and the arrow point represents the direction from point A to point B.

Component form:

The components of the vectors can also be expressed in the coordinate axis. Their components can be expressed in the two-dimensional cartesian coordinate system or the three-dimensional cartesian coordinate system. In a dimensional coordinate system, there are two axes x and y so the vector A in the two-dimensional system can be broken and written as AX on the x component and Ay in the y component.

But in the three-dimensional cartesian coordinate system x, y, and z are the three components and the vector A is written as Ax on the x component, Ayon the y component, and Az in the z component.

In the two-dimensional coordinate system, the vector A is mathematically written as;

A = AXi + Ayj

In the three-dimensional coordinate system, the vector A is mathematically written as;

A = Axi + Ayj + Azk

There i, j, and k are the unit vectors in the direction of vector components x, y, and z.

Types of vector:

Various types of vectors are used in physics or mechanics some types of vectors with their details are given there:

  • Null or zero vector

  • Equal vector

  • Position vector

  • Negative of a vector

  • Like or unlike vector 

  • Unit vector

  • Displacement vector

  • Coplanar vector

  • Co initial vector

  • Collinear vector 

Their description is given there:

Null or zero vector:

A null vector is also termed a zero vector. In vector is referred to as a zero or null vector when its magnitude is zero and there is no specific direction where the arrow points. In null or zero vector the length of magnitude is also zero. Their starting and ending points are the same. For instance, the vector OQ has the line segment and the starting point is O and the end is at the same point Q so their magnitude is 0.

Equal vectors:

Two different vectors are termed equal vectors if they have equal magnitude and also their direction. Rather they may have different starting points but their magnitude and the direction are same. For instance, if the vector magnitude is equal to the magnitude of vector b and their arrow is pointed in the same direction.

Position vector:

The vector can represent the origin and the position at any point related to the initial or origin point. Position vector can describe the direction of a vector from the main origin point to the endpoint.

A Negative of a Vector:

The vector is termed as negative a vector if the vector which is given has the same magnitude and direction but at a point, any vector can change its direction means they have the same magnitude but have opposite directions so this vector which has the same magnitude but the opposite direction is known as negative of the vector. For example, vector A and vector B have the same magnitude but they have opposite directions and are written as A = -B

Like or unlike vectors:

 The vectors are termed as like vectors if they have the same direction but if the vectors do have not the same direction then they are called unlike vectors. For example, if the vector AB has the same direction then they are like vectors but if vector AB does have not the same direction then they are unlike vectors.

Unit vector: 

The vectors are termed unit vectors if they have only one magnitude. A unit vector is slo referred as the direction vector. The formulas that are used for unit vectors are:

V = VV

V represents a unit vector, V represents a vector, and V represents the magnitude of a vector.

Displacement vector:

If the quantity can be a displacement from point A to point B then the displacement between the AB is termed a displacement vector. For example, if a quantity is moved from point A and reaches point B then the distance between these points is termed a displacement vector it can also be termed the position vector.

Coplanar vector:

The vectors that are placed in three-dimensional space with the same plane then it can be termed as the coplanar vectors. All vectors are parallel to each other in the same plane.

Collinear vector or parallel vector: 

Two vectors are termed collinear if they are parallel to each other and not dependent upon the magnitude or direction. Collinear vectors are also termed parallel vectors. For example, if the vector A and vector B are opposite in direction and both have different magnitudes but they are parallel to each other then it can be called a collinear or parallel vector.

Co-initial vectors: 

When two or many vectors have the same origin or initial point on the same plane then it can termed as the co-initial vectors. For example, the vectors A, B and C can originate from the same point with the same plane then it can be called as co initial vector.

Mathematical operations with vectors:

Different mathematical operations with vectors are given below: 

  • Addition of vector

  • Subtraction of vector

  • Dot product ( Scalar product)

  • Scalar multiplication

  • Cross product (Vector product) 

Tip-to-tail rule: 

For addition and subtraction of the vector, we can use the tip-to-tail rule in which the tail of the second vector can be placed on the tip of the first vector and the first vector tail is placed on the tip of the second vector. 

Addition of a vector: 

For the addition of the vector we can use the tip-to-tail rule their mathematical representation is given below;

If we have the vector A their component on x or y is AX and Ay and the other vector B then their component on x and y is Bx and By and their sum is represented by C then they can be added as:

            C = A+ B 

Then,

A+ B = (Ax + Bx, Ay+ By) 

Subtraction of a vector:

Like the addition of a vector, the subtraction of a vector can also follow the head-to-tail rule. so the component method and mathematically expressed equation for the subtraction of a vector are given below:

If we have the vector A their component on x or y is AX and Ay and the other vector B then their component on x and y is Bx and By and their subtraction is represented by C then they can be subtracted as:

C = A– B 

Then,

A– B = (Ax – Bx, Ay– By) 

Vector product ( cross product):

The cross product is also known as the vector product. In the vector product, the vector A and the vector B are perpendicular to each other then their product in mathematical form can be written as:

A B = ( AyBz– AzBy) i + (AzBx– AxBz) j + ( AxBy – AyBx) k

Magnitude:

The magnitude of the vector or cross product is,

A B = ABsinθ

In this, the sinθ is the angle between the vector A and the vector B.

In physics:

In physics cross products are used to understand the rotational and the circular motion of an object also they can be used to calculate precise calculations like torque. 

Scalar multiplication:

 When we multiply the vector with the scalar which has only magnitude and these quantities do have not a direction but if the scalar is negative then it means that their direction can be reversed. Their mathematical form is given there,

If we have the vector A and their component on x and y axis is Ax or Ay and the scalar is K then they can be written as:

KA = ( KAX , KAy) 

Dot product or scalar product:

The vector A and the vector B, their dot product is the scalar quantity so that's why they are also termed as the scalar product. Their mathematical expression is given below: 

A B  = AxBx + AyBy + AzBz

Magnitude: 

Their product can express their magnitude, not their direction. So the magnitude of the scalar or the dot product is,

A B = AB cosθ

cosθ is the angle between the vector A and the vector B for expressing the magnitude.

In physics: 

We can use the scalar and dot product in physics to calculate or determine the angle between the two vectors if one vector is projecting to another vector.

Application of vector quantities in physics: 

Vector quantities can play a very essential role in the physics for calculating numerous calculations. Vectors can be used in various fields of physics because by busying the vector mathematical operations we can do very precise and accurate calculations. Now we can discuss some applications of vector quantites in physics. The field of physics in which the vectors are used is given there: 

  •  In Mechanics

  • Newton’s law of motion

  • Electromagnetism 

  • Maxwell’s equation

  • Bernoullis equation

  • Fluid dynamics

  • Quantum mechanics

  • Velocity field

  • Schrodinger equation

Their detail is given there:

Mechanics: 

To describe the motion, forces, and displacement in mechanics we can use the vector quantities. Some vector quantities explanation is given there: 

Acceleration, displacement, and velocity:
  • Acceleration: acceleration is the time rate change of velocity, and the vector can express the change of direction and magnitude along with experiencing the quick velocity changing

  • Displacement: the position which can be changed by the moving object can be expressed by vectors. And the direction with magnitude of these objects can be expressed through vectors.

  • Velocity: velocity is the rate of change of displacement, their magnitude, direction, and speed can be represented by the vectors.

The equation of motion which can be used in the physics of the vector quantities can also involved in them. For example, the formula for the uniform acceleration is 

v = v0 + at

There v expresses the velocity vector, v0 indicates the initial velocity, a is for acceleration and t expresses the time in which the velocity can be changed.

Newton’s law of motion: 

In Newton, the law of motion all formulas of Newton's law can be expressed by using vectors. The law of motion with its formula which indicates the magnitude and direction is given there:

The first law of motion: the object always remains at rest unless the external force can act upon it. And through these external forces, the object can be moved.

The second law of motion: the force that can act on the moving object is equal to the mass of an object and also equal to the acceleration. It can be written as F = ma where F is the vector quantity force, m indicates mass and a indicates the acceleration.

The third law of motion: is that every reaction has an equal and opposite reaction it can indicate the magnitude and direction of every action and reaction.

The dynamics of the object, its direction, and magnitude can be expressed through vectors in these equations of motion.

Quantum mechanics:

The vector spaces that can be involved in quantum mechanics are also termed as the Hilbert spaces. The state of particles is represented by the vectors which are used in quantum mechanics and it is also called wavefunction and state vectors. These vectors can also indicate the direction and magnitude of the particles in quantum mechanics. 

Fluid dynamics: 

In the field of fluid dynamics, the vectors represent the flow of fluid along with their direction and they can also represent the properties of the fluid which can flow. Vectors that can be used in fluid dynamics can also represent their magnitude with properties.

Schrodinger equation:

Schrodinger equation is the time-independent equation. This equation can be described and indicate the quantum state of any physical system independent of time. The vectors which can be used in these equations are written there:

iћ∂∂tψ (r, t) = H ψ ( r, t)

there, ћ expressed the Planck constant, ψ (r,t)expressed the wavefunctions, and the H expressed the Hamilton operator.

Electromagnetism: 

In electromagnetism, the vector quantities can expressed and describe the electrical field and the magnetic field. These vectors can also explain the relationship and the interactions of current and the charges in both electrical and magnetic fields. 

Electrical field: 

The vectors that can be used to express the  electric field are;

E = Fq

Where E is the vector that can indicate the electrical field in the space at any point, F is the force that can be experienced by the unit positive charges in the electric field and the q expresses the charges which are present in the electrical field.

Magnetic field: 

The vector that expresses the magnetic field and the Lorentz force law is written there:

F = q (v B)

The magnetic field can be expressed through vector B and this vector B can describe the magnetic forces which are present in the magnetic field. The force F experienced by the charges can be expressed by the vector q with the same velocity which can indicated by v. 

Bernoulli's equation: 

Bernoulli's equation can be derived and dependent on the vector. The vectors which are related in the Bernoullis equation are height, pressure, and velocity in the flowing fluid. The Bernoullis equation formula in which vectors are used is given there:

P + 12 ρv2 + ρgh = constant

There P represents the pressure, ρ represents the fluid density, h represents the height of the fluid according to the reference point, and v represents the fluid velocity.

Maxwells equation: 

The electric and magnetic field construction and how these fields can change their current and charges are described through the Maxwell equation. The vectors which can represent these fields current and charges are given there:

Faraday's law of induction:

The vectors that can represent the current and charges in the field are given there: 

⛛ E = -∂B∂t

Gauss law for electricity:

The vectors that represent the Gauss law formula for electricity are given there:

⛛ E = pe0

Amperes law: 

The vectors that can represent the amperes law formula are given there: 

⛛ B = μ0J + μ0ε0∂E∂t

Gauss law for magnetism: 

The vectors that can represent the formula of Gauss law for magnetism are given there: 

⛛ B = 0

Velocity field: 

Fluid particles that are present in space at different points can be explained and described through vectors like v (r,t), and in this v is the vector for velocity, r for the position of the particle, and t is for a time in which the velocity of the particles can be changed and dependent upon the time. 

Advanced topics of physics in which vectors are used: 

In the modern era of science, vectors can be used in many advanced topics in physics some topics with descriptions are given there: 

  • Tensors

  • Gradient 

  • curl

  • Vector calculus 

  • Divergence 

Tensors: 

The complex physical quantities are also represented and described by the vectors and these vectors which describe complex quantities are generalized, known as tensors. In the continuum mechanics or in the theory of relativity tensors mostly tensors are used.

Gradient: 

The vector field gradient is represented by ⛛ and the scalar field gradient is Φ. When the rate of Φ increased then the magnitude rate also increased and this gradient mathematically can be written as:

⛛Φ = (∂Φ∂x , ∂Φ∂y, ∂Φ∂z )

Curl: 

The ability and the tendency of the field that can be moved or rotated in a point is termed the curl of the vector field A. Mathematically it can written as: 

⛛ A = (∂Az∂y – ∂Ay∂z , ∂Ax∂z – ∂Az∂x, ∂Ay∂x – ∂Ax∂y)

Vector calculus: 

The concept of vectors in different fields of physics and mathematics can be extended through vector calculus because we can do different mathematical operations with vectors like curl, gradient, and divergence.

Divergence: 

By using the divergence formula we can measure the rate of flow of vectors in the vector field of A. The mathematical expression and the formula of divergence are given below: 

⛛ A = ( ∂Ax∂x + ∂Ay∂y + ∂Az∂z )

Conclusion: 

In physics, vectors are used as an essential tool because they can provide comprehensive information about the quantity and can also analyze and provide the description of the magnitude and the direction of the quantity in a very efficient way. Mostly it can be used in the field of physics like fluid dynamics, mechanics, electromagnetism, quantum mechanics, and in mathematical operations to derive or express the formula.  Vectors can play a very essential role in physics or mathematics. Vectors can become the backbone of calculations in physics or in mathematics because they can help in doing very crucial calculations.

Syed Zain Nasir

I am Syed Zain Nasir, the founder of <a href=https://www.TheEngineeringProjects.com/>The Engineering Projects</a> (TEP). I am a programmer since 2009 before that I just search things, make small projects and now I am sharing my knowledge through this platform.I also work as a freelancer and did many projects related to programming and electrical circuitry. <a href=https://plus.google.com/+SyedZainNasir/>My Google Profile+</a>

Share
Published by
Syed Zain Nasir