Weather Monitoring Systems are used to monitor the continuously changing climatic conditions. The data gathered by such devices is used to forecast weather as well as keep a log of the environmental changes at a place. Such data is extremely useful in the study of earth and analyzing the changing climatic and environmental conditions at a place. Further, the data and analytics so collected can be utilized in a variety of applications like agriculture, geology, mining and weather forecast. In this project, a simple weather monitoring system is designed which can monitor the temperature and humidity of a place. The weather monitoring system designed in this project is an IOT device built on Particle Photon. Particle Photon is an Arduino compatible IOT board. For writing the program code for any Photon, developer needs to create an account on Particle website and register the Photon board with his user account.
In the previous tutorials, all the circuits designed were combinational circuits. In combinational circuits, the binary output is dependant only on the current state of the inputs. So, actually, the combinational circuits have a static operation. They can have input from a fixed set of values for which the output is known to outcome in a defined range at any instant of time.
In the previous tutorial, basics of sequential logic circuits were discussed. It was mentioned that sequential circuits can be of two types – synchronous and asynchronous. The sequential circuits are different from combinational circuits in the way that they have memory elements for feedback of previous input states. The asynchronous circuits use latches as the memory elements. The latches cannot be used as memory elements in synchronous circuits as the synchronous circuits require transition sensitive devices to operate against clock signals.
In the previous tutorial, the concept and construction of flip flops was discussed. The flip flops are essential building block of any synchronous or clocked sequential circuit. Without flip flops, a clocked sequential circuit is reduced to a combinational circuitry. Even flip flops alone are considered sequential circuits. There are two types of sequential circuits that are solely constructed from the flip flops – Registers and Counters.
In the previous tutorial, different types of registers were discussed. The registers and counters are two types of sequential circuits that are solely build from flip flops. The counters are those registers that go through predetermined sequence of states on the application of input pulses. The input pulses can be coming from a master clock or some external source. They may apply to the counter either at regular interval or randomly. There are two types of counters – Asynchronous counter (also known as ripple counter) and Synchronous counter.
In the previous tutorial, it was mentioned that primary memory can be of two types – Random Access Memory and Read Only Memory. These memories are essential part of any processor or controller based system. In this tutorial, these memories will be discussed in detail.
Like Line following robots are fun, making a wall following robot is even more exciting. A wall following robot is designed to move along a wall without hitting it. It has obstacle detection sensors mounted on the body which detects wall and drive DC motors attached to the wheels such that the robot keeps moving along the wall.The robot can be designed right oriented or left oriented or even can be designed to follow either sides. A right or left oriented wall follower can be designed easily with the help of just two sensors. Though more sensors can be used in making such a robot which will ultimately improve the path accuracy of the robot.
The computing devices have evolved to great extent in the past decades and so the software technology too. The computing devices all over the world can be broadly classified as Desktop computers & Laptops, Mobile devices, Servers, Mainframes, Supercomputers and Embedded devices. Any computer has two essential components – Hardware and Software. The software is broadly classified to two types – Operating System and Applications.
In the previous tutorial – Introduction to Linux, Linux was introduced as popular open source operating system with vast scope in desktop, server and mobile computing environments. Linux being open source and immensely popular among OSS developers and advocates, there are hundreds of Linux Distributions available at present. Any Linux distribution or package is a complete operating system software having Linux Kernel, GNU utilities, Shell, desktop environment and some default applications bundled together.
In the previous tutorial, Linux with all its integral components was examined on the lines of being a complete open source operating system. Many different Linux distributions (also called Distros in short) were also very briefly mentioned at the end of the previous tutorial. There are hundreds of Linux Distros there and it can be intimidating to choose one, when, all it matters is, to have just a sound beginning. An almost exhaustive list and links of available Linux distributions can be checked on DistroWatch.com.
In the previous tutorial, a Raspberry Pi desktop running Raspbian (a Debian based Linux Distribution) was successful, setup. Now it’s time to start shell scripting and get the hands dirty with the very first shell script.
In the previous tutorial, Bash Shell and LXterminal to launch Linux Console for the bash shell in Raspbian, was demonstrated. Now, it’s time to start shell scripting using bash shell.The shell scripts are made up of shell commands. The shell commands in the bash shell are called bash commands after the name of the respective shell. The shell commands and their syntax remain more or less the same irrespective of the shell. So, bash commands and their syntax is almost similar to shell commands for any other Linux shell like Csh, Ksh, and Tcsh etc.
Robots are designed to ease and automate the work of humans. They are useful to deploy at places which are not easily accessible. In this tutorial, a humidity and temperature monitoring rover based on IoT’s robotic application is designed. Humidity and temperature are the most common physical environments that are needed to be monitored. The four-wheel robot designed in this project can be operated in a range of 30 Metre and can withstand a temperature up to 150 degree Celsius. The robot can be controlled through a mobile phone which will have a custom app installed on it. The mobile will connect to the robot via Bluetooth.
In this tutorial, a spy rover controlled through Bluetooth is designed. It is a surveillance robot which will be used to monitor and keep watch of areas not easily accessible by humans. Surveillance is the process of monitoring a situation, an area or a person. It is generally practiced in a military scenario where surveillance of borderlines and enemy territory is essential to for the country’s safety.Human surveillance is achieved by deploying personnel near sensitive areas in order to constantly monitor changes. But humans do have their limitations, and deployment in inaccessible places is not always possible. There are also added risks of losing personnel in the event of getting caught by the enemy.
Home Security Systems are a need of the modern day houses. It is possible to design a simple home security solution by using Raspberry Pi and utilizing the power of Internet of Things. The home security system designed in this project is a simple and easily installable device built using Raspberry Pi 3, Web Cam and PIR Motion Sensor. The Raspberry Pi 3 Model B comes equipped with on-board Bluetooth (BLE) and Wi-Fi (BCM43438 Wireless LAN), so, it can be easily connected with a Wi-Fi Router to access a cloud service.
In the previous tutorial, all the possible boolean functions between two variables were discussed. In the tutorial – Boolean Algebra, various theorems and postulates were stated which are useful in simplifying a boolean expression or function. However, the simplification of a boolean expression using theorems and postulates is quite cumbersome and prone to errors. Therefore, for simplification of boolean expressions, some map methods were devised. The most commonly used map method is Karnaugh Map or K-Map.
In the previous tutorial, gate level minimization of boolean functions was discussed. A boolean function must be expressed in standard form as either sum of products (SoP) or product of sums (PoS). Once a boolean function in case is minimized to SoP or PoS form, it can be easily fabricated as two-level implementation of AND and OR gates. A two-level implementation is preferred so that there is minimum delay in signal propagation through logic gates from input to output of the digital circuit.
In the previous tutorials, boolean functions, boolean expressions, minimization of boolean expressions and implementation of a boolean function into logic gate diagram was discussed. It is possible to minimize a boolean function with less number of boolean variables and implement a logic gate diagram for it manually. But as the number of variables in a boolean function increases, not only its minimization becomes complex, designing a logic gate implementation for it also becomes cumbersome. In such case, computer based design tools are the ultimate resort.
The previous tutorials laid the foundation for logic synthesis and design of digital circuits. The digital circuits in general always have application as computing devices either as processor, controller or application specific ICs. As a computing device, the digital circuitry of a processor, controller or ASIC must be essentially able to perform arithmetic operations. The implementation of arithmetic operations by digital circuitry is further used to build up complex computing logics and mathematical functions.
In the previous tutorial, the basic combinational arithmetic circuits like half adder, full adder, half subtractor and full subtractor were discussed in details. Now, in this tutorial, the truth table and derivation of the boolean expressions for all those circuits will be considered. With the derived boolean expressions, all those circuits will be practically designed using digital ICs.