Robots got their name from a Czech word “Robota” which means slave or any mechanical item that can help its master. Robots are mechanical devices that help to perform specific tasks for the humans. The term ‘Robot’ can be used for any mechanical device equipped with the software-based intelligence to perform specific physical tasks.The robotic cars or robotic vehicles are one of the many robotic designs which are developed to move around for performing physical tasks. The motion of such robot itself involves the application of power and use of motors. In making such a robot, there needs to be a balance between the load (weight of Robot), Battery and Motor used.
Gardening is a common hobby for nature lovers. The plants need continuous and closely monitored care. Sometimes, this turn into a liability. Like when the care taker of a home garden needs to go out of station for a while, the garden may remain unattended for some time or even long time. The Internet of Things can offer a feasible solution to this. The garden can be modernized with electronic technology that continuously monitors the conditions of plants and soil, so the plants could be provided watering and shade as required. All of this can be controlled and monitored online with the application of IoT.
The IoT device designed here is a weather station built by interfacing a character LCD with the ESP8266 board. The device fetches the weather data of the location it is installed and display it on the LCD screen. It must be noted that there are no sensors used in this device and the device gets the weather data from an IoT platform i.e. Open Weather Map. The device fetches temperature and precipitation information using API keys and display it on the LCD.
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.
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.