# data[].attributes.headline
What is a router, and how does it work? Describe the different types of routers and their functions.

# data[].attributes.subject
What is a router, and how does it work? Describe the different types of routers and their functions.

# data[].attributes.body
Router is a networking device working within Network layer of OSI model allowing to send data packets between networks. Routers use logical IP addresses hidden in the data packets headers to contact each other over the internetwork connecting various networks.

Routers are responsible for directing the data packets the best possible rout. To achieve that they use routing table with a list of possible routs to determine the path and support themselves with so called metric values to decide on the best way trying to eliminate packets loss or delays from busy lines. Data packets are only allowed through if the network address is on the opposite side of a router and if not, the data is sent to the default address. Routers also provide broadcast domains but are unable to forward broadcasts from one domain to another.

There are two main types of routers. Wire routers connect over cables and create local area networks (LANs) while wireless routers rely on antennas and wireless WLANs. Apart from this division there are edge, core and virtual routers. The first are located at the edge of a network allowing for connection with other networks and Internet Service Providers. Core routers operate within networks. Virtual routers are not physical devices but computers or servers that were programmed to act like normal routers.

# data[].attributes.headline
What is network virtualization, and how does it work? Describe the different types of network virtualization and their benefits.

# data[].attributes.subject
What is network virtualization, and how does it work? Describe the different types of network virtualization and their benefits.

# data[].attributes.body
One of the definitions of the word virtual is “created by computer technology and appearing to exist but not existing in the physical world” (Cambridge Dictionary). Virtual network simulates hardware-based network through software. It can for example merge many networks into one or divide one into many. There are two main types of virtual networks: external and internal. They are crucial for cloud-based and edge solutions.

External virtual network works on several servers merging them together to be administered as a single entity or creating separate Virtual LANs. They make use of hardware switches and VLAN software. The biggest benefit is improved efficiency.

Internal virtual networks are built on one system using Virtual Machines or zones, virtual network switches, and virtual network interface cards (VNICs), and software containers. Such a setup improves performance.

Those two VN types can be combined as well. Virtual networks have some unique advantages over the standard, physical ones. They are extremely flexible, and new setup can be deployed even in a matter of minutes. They are independent of proximity and can be easily configured and updated. They are cost-efficient and eliminate the need for routers as they operate on switches. The administration is much easier and security is improved.

There are also Virtual Private Network mainly used for secure communication over insecure medium such as the Internet between a device/network and a network.

# data[].attributes.headline
What is the process of designing a transistor, and what are the key factors that need to be considered during the design process? 

# data[].attributes.subject
What is the process of designing a transistor, and what are the key factors that need to be considered during the design process? 

# data[].attributes.body
The process of designing a transistor is a way to decide how the transistor should look like, how will it work, what it will be made of, and how to create it. There are several key factors that need to be considered. It is important to answer the question of how much space it shall take. The size of the transistors used on microchips is measured in nanometres whereas most transistors are a size of a few millimeters. There are many different types of transistors, and they are good for different roles. Major types of transistors are Bipolar Junction Transistors (BJT, usually NPN or PNP type) and Field Effect Transistors (FET, which can divide into JFET and MOSFET), but there are also many more types and ways we can group transistors into types.

Another step is to determine the temperatures in what shall the designed transistor work. For example, it can be home usage with room temperatures, industrial or even military with the biggest range of temperatures which should not cause any faults in functioning. If designing amplifiers, we need to think of the response frequency as well. The last thing to consider is the application of a heat sink. They are used mainly in high-power transistors that can otherwise overheat.

Once designed, the transistors need to be tested thoroughly before starting production on an industry scale. If some tests are failed or unexpected behaviour occurs product needs to go back to the design desk and be adjusted or changed.

# data[].attributes.body
This simple circuit is about lightning the LED diode if any or both of the two conditions are met: the breadboard is tilted, or it is in ambient light. There are two relevant sensors that only let the current through if specific criteria are fulfilled. They are both connected to the NPN Bipolar Junction Transistor’s base, which lets the other branch of the circuit pass the current through on full scale if the current is also applied to the base. Not to burn the LED diode I placed a 330Ω resistor before it. Finally, the 9V battery has been connected to the breadboard: voilà! 😉

# data[].attributes.body
What can be noticed, the way the circuit works reassembles an OR logical gate.

# data[].attributes.headline
What is a sensor? Discuss different types of sensors. Design one of the two circuits in Tinker cad and explain the code used to activate the sensor.

# data[].attributes.subject
What is a sensor? Discuss different types of sensors. Design one of the two circuits in Tinker cad and explain the code used to activate the sensor.

# data[].attributes.body
According to the Cambridge Dictionary, a sensor is “a device that is used to record that something is present or that there are changes in something”. We can also say that it is an input device that generates an output according to the physical state of the input. Nevertheless, sensors are about measuring the world around us so we can act (especially in real-time) upon its state.

When it comes to dividing sensors into groups there are many ways we can do it. For example, if they are analog or digital, or if they need an external source of power signal or not: active and passive respectively. Another interesting way to divide sensors into types is the one in the picture:

# data[].attributes.body
The sensors here are divided into groups by what are they dealing with, what they measure.

# data[].attributes.body
Sensors can also be classified by which industry they are used in, and where are they needed.

# data[].attributes.body
Here is the longest list of sensors I found in one place on the Internet.

# data[].attributes.body
Even, according to Massachusetts Institute of Technology, a clock is a sensor.

# data[].attributes.body
I cannot describe all the sensors as there are a plethora of them but let us have a look at a very basic accelerometer.

On accelerating toward any direction on the sensitive axis the mass block moves towards the minus or plus sign. As F = m * a, the force put on springs is equal to the mass of the block times the acceleration. Knowing the mass and having the force measured we can produce the acceleration value.

# data[].attributes.headline
The link to the Temperature sensor design.

# data[].attributes.subject
The link to the Temperature sensor design.

# data[].attributes.attachment_link.title
Circuit design Michal Obrycki - Temperature sensor | Tinkercad

# data[].attributes.attachment_link.description
Circuit design Michal Obrycki - Temperature sensor

# data[].attributes.body
#include <LiquidCrystal.h>

int sensorPin = 0;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()

{

lcd.begin(16, 2);

lcd.print("Michael's");

lcd.setCursor(0, 1);

lcd.print("Temp-O-meter");

delay(3000);

lcd.clear();

}

void loop()

{

int reading = analogRead(sensorPin);

float voltage = reading * 5.0 / 1024.0;

float tempC = (voltage - 0.5) * 100.0;

float tempF = (tempC * 9.0 / 5.0) + 32.0;

lcd.setCursor(0,0);

lcd.print(tempC);

lcd.print((char)176);

lcd.print('C');

lcd.setCursor(0,1);

lcd.print(tempF);

lcd.print("\xB0");

lcd.print('F');

char* weather = " ";

if (tempC < 10.0) {

weather = "COLD";

} else if (tempC > 25.0) {

weather = "HOT ";

} else {

weather = "WARM";

}

lcd.setCursor(10, 0);

lcd.print("it's");

lcd.setCursor(11, 1);

lcd.print(weather);

delay(1000);

lcd.clear();

}

# data[].attributes.body
I am including the library necessary to operate on LCD diplay:

#include <LiquidCrystal.h>

Telling the program where the sensor pin is connected on the Arduino:

int sensorPin = 0;

Instantiating the LiquidCrystal object with pins connected to the Arduino given:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Creating the setup:

void setup()

{

Size of the screen:

lcd.begin(16, 2);

Displaying on screen:

lcd.print("Michael's");

Moving to the bottom line of the display:

lcd.setCursor(0, 1);

lcd.print("Temp-O-meter");

Waiting 3 seconds and clearing the display, as the lines not overridden by new characters will still be displayed if the new message is shorter:

delay(3000);

lcd.clear();

}

Creating what the program will do after the setup is completed:

void loop()

{

Creating a variable to store the data from reading of the sensor:

int reading = analogRead(sensorPin);

Transforming the voltage reading to temperatures in Celsius and Fahrenheit degrees accurate to 1 decimal place:

float voltage = reading * 5.0 / 1024.0;

float tempC = (voltage - 0.5) * 100.0;

float tempF = (tempC * 9.0 / 5.0) + 32.0;

Moving the cursor back to the top-left corner of the screen and printing the Celsius reading:

lcd.setCursor(0,0);

lcd.print(tempC);

Degree symbol given in decimal value:

lcd.print((char)176);

lcd.print('C');

Moving to the bottom line and displaying the Fahrenheit measuring:

lcd.setCursor(0,1);

lcd.print(tempF);

Degree symbol in hexadecimal value:

lcd.print("\xB0");

lcd.print('F');

Initialising a new variable to store a string describing the weather:

char* weather = " ";

If-else statement adjusting the weather variable according to the temperature:

if (tempC < 10.0) {

weather = "COLD";

} else if (tempC > 25.0) {

weather = "HOT ";

} else {

weather = "WARM";

}

Moving the display cursor to display the description in two lines to the right from the temperatures:

lcd.setCursor(10, 0);

lcd.print("it's");

lcd.setCursor(11, 1);

lcd.print(weather);

Telling the program to wait 1 second before the screen is cleared and the loop starts again so the user can read the display before it's cleared and to avoid 'flashing' screen:

delay(1000);

lcd.clear();

}

# data[].attributes.attachment_link.title
Circuit design Michal Obrycki - Transistor circuit | Tinkercad

# data[].attributes.attachment_link.description
Circuit design Michal Obrycki - Transistor circuit

# data[].attributes.body
What are the different types of routers. (n.d.). Cisco. https://www.cisco.com/c/en/us/solutions/small-business/resource-center/networking/types-of-routers.html

How routers work. (2000, July 31). HowStuffWorks. https://computer.howstuffworks.com/router.htm

What is network virtualization? | VMware glossary. (2022, October 21). VMware. https://www.vmware.com/topics/glossary/content/network-virtualization.html#:~:text=Network%20Virtualization%20(NV)%20refers%20to,into%20separate%2C%20independent%20virtual%20networks

Network virtualization. (n.d.).

https://www.hpe.com/us/en/what-is/network-virtualization.html

Network virtualization and virtual networks - Oracle Solaris administration: Network interfaces and network virtualization. (2011, December 1).

https://docs.oracle.com/cd/E23824_01/html/821-1458/gfkbw.html#:~:text=Examples%20of%20external%20virtual%20networks,least%20one%20pseudo%2Dnetwork%20interface

Cambridge Dictionary

Smart sensors: Analysis of different types of IoT sensors. (n.d.). IEEE Xplore. https://ieeexplore.ieee.org/abstract/document/8862778

Sensors. (n.d.) MIT App Inventor.

https://ai2.appinventor.mit.edu/reference/components/sensors.html

Accelerometers. (n.d.). Integrated Publishing. https://www.tpub.com/neets/book15/63f.htm

LiquidCrystal. (n.d.). Arduino.cc https://www.arduino.cc/reference/en/libraries/liquidcrystal/

Cannot modify char array. (2013, February) Stackoverflow.com

https://stackoverflow.com/questions/14396202/cannot-modify-char-array