Hello readers, I hope you all are doing great. In our previous tutorial, we discussed the implementation of LED interfacing and blinking program with Raspberry Pi Pico using MicroPython programming language. So continuing with our previous tutorial, in this tutorial we will learn how to control the LED brightness using PWM (pulse width modulation technique).
As we mentioned above, in our previous tutorial we implemented the LED blinking program with a Raspberry Pi Pico board. Blinking an LED means turning ON and OFF and thus the process involves only two states that are ‘1’ (HIGH) and ‘0’ (LOW). But, sometimes it is required to change the digital output between these two (ON and OFF states) for example changing the LED brightness. PWM or Pulse Width Modulation technique is used to change the brightness of the LED.
Raspberry Pi Pico (RP2040) offers 40 pins which include power supply pins, General Purpose Input Output (GPIOs) pins, ADC, PWM etc. where most of the pins are multifunctional except power supply pins. Almost all the GPIO pins (30 pins) can be used to implement pulse width modulation technology.
Fig. 1 Raspberry Pi Pico Pi-Out
RP2040 offers 16 PWM channels and each channel is independent of another. Means we can set the duty cycle and frequency for one channels without affecting the others. These PWM channels are represented in the form of slices or groups and each slice contains two PWM outputs channel (A/B). There are total 8 slices and hence 16 channels. The pin B from PWM (A/B) can also be used as an input pin for duty cycle and frequency measurement.
The PWM channel provided in RP2040 are of 16 bit resolution which means maximum PWM resolution is 2^16 or ranges between 0 to 65536.
For more information on Raspberry Pi Pico’s PWM channels you can visit the Raspberry Pi organization’s official website: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf
Before programming the Raspberry Pi Pico for PWM implementation let’s first understand the concept of Pulse Width Modulation.
Fig. 2 Pulse width modulated signal
Pulse Width Modulation (or PWM) is a modulation technique used for controlling the power delivered to a load or external/peripheral devices without causing any power loss by pulsing the direct current (DC) and varying the ON time of the digital pulse. Using a digital input signal, the Pulse Width Modulation technique produces modulated output signals.
The following factors influence the behaviour of a pulse width modulated signal:
Frequency : Technically, frequency means “number of cycles per second”. When we toggle a digital signal (ON and OFF) at a high frequency, the result is an analog signal with a constant voltage level.
The number of cycles per second defined by a signal's frequency is inversely proportional to the time period. PWM frequency is determined by the clock source. The frequency and resolution of PWM are inversely proportional.
Duty Cycle : It is the ratio of ON time (when the signal is high) to the total time taken to complete the cycle.
Duty Cycle =
Fig. 3 Duty cycle
Resolution: A PWM signal's resolution refers to the number of steps it can take from zero to full power. The resolution of the PWM signal can be changed. For example, the Raspberry Pi Pico module has a 1- 16 bit resolution, which means we can set up to 65536 steps from zero to full power.
Various applications of Pulse Width Modulation technique are:
We have already published tutorials on how to download and install the above-mentioned software components.
Follow the given link for a detailed study of Raspberry Pi Pico: https://www.theengineeringprojects.com/2022/04/getting-started-with-raspberry-pi-pico.html
To program the Raspberry Pi Pico board there are various development environments available (like uPyCraft IDE, Visual Studio Code, Thonny IDE ect.) and multiple programming languages as well.
In this tutorial, we are going to use Thonny IDE to program the Raspberry Pi Pico board.
We have already published a tutorial on installing Thonny IDe for Raspberry Pi Pico Programming. Follow the given link to install the IDE: https://www.theengineeringprojects.com/2022/04/installing-thonny-ide-for-raspberry-pi-pico-programming.html
Fig. 4 New Project
Fig. 5 Select Interpreter
Image: 6 MicroPython for raspberry Pi Pico programming
Image: 7 Ready to program
In this example code we will implement the pulse width modulation on the digital output pin (GPIO 14). The brightness of the will vary from minimum to maximum brightness back and forth. The maximum possible resolution is 16 bit that is 2^16 (or 0 – 65535). Let’s write and understand the MicroPython program for PWM implementation:
The first task is importing library files necessary for PWM implementation. We are importing two libraries first one is to access the GPIO pins and another one is to implement pulse width modulation techniques. We also need to import ‘time’ library file to add some delay.
Fig. 8 Import libraries
To define the GPIO pin to be used as a PWM pin a ‘PWM()’ function is used which further contains the ‘Pin()’ function that is passing the PWM GPIO (14) pin number.
The PWM function is further represented using a ‘led’ object. If you are not familiar with the PWM pin details like to which slice and channel the pwm pin belongs, you can get the respective details using print(led) function.
Fig. 9 declare object
The led.freq() command is used to set frequency rate at which the digital pulse will be modulated.
Fig. 10 Frequency of modulation
Inside the while loop we are using two for() loops. First one to change the LED brightness from minimum to maximum resolution (‘0’ to ‘65525’ ).
Fig. 11
Another for loop() is used to set the LED brightness from maximum resolution (65535) to ‘0’ (minimum resolution).
The process will be repeated back and forth due to the ‘while()’ loop.
Fig. 12
Fig. 13 Save the program
Fig. 14 Save the program
Fig. 15 Run the saved program
from machine import Pin, PWM
import time
led = PWM(Pin(14))
print(led)
led.freq(1000)
while True:
for duty in range(0, 65535):
led.duty_u16(duty)
print(duty)
time.sleep(0.001)
for duty in range(65535, 1):
led.duty_u16(duty)
print(duty)
time.sleep(0.001)
Let’s interface a peripheral LED with raspberry Pi Pico. As mentioned in the code description the GPIO 14 pin is configured as PWM pin. Connect the LED with raspberry Pi Pico board. The connections of LED with Raspberry Pi Pico board are shown in Table 1.
Table 1
Schematic of LED interfacing with raspberry Pi Pico is shown below:
Image: 16 LED Interfacing with Raspberry Pi Pico
Fig. 17 Brightness level 1
Fig. 18 Brightness level 2
Fig. 19 Brightness level 3
Fig. 20 PWM pin details
Fig. 21
Fig. 22 Plotter
Fig. 23 Rising PWM output 0 to 65535 (brightness increasing)
Fig. 24 PWM output maximum to 0
Now let’s take another example where we will interface multiple LEDs (16) with Raspberry Pi Pico board and then will implement pulse width modulation on those LEDs.
The procedure of interfacing and programming with Thonny IDE using MicroPython will remain similar to the previous example.
Fig. 25 Interfacing Multiple LEDs with Pico
Let’s write the code:
from machine import Pin, PWM
import time
led_1 = PWM(Pin(5)) # declaring led_x object for PWM pins
led_2 = PWM(Pin(6))
led_3 = PWM(Pin(8))
led_4 = PWM(Pin(9))
led_5 = PWM(Pin(10))
led_6 = PWM(Pin(13))
led_7 = PWM(Pin(14))
led_8 = PWM(Pin(15))
led_9 = PWM(Pin(16))
led_10 = PWM(Pin(17))
led_11 = PWM(Pin(18))
led_12 = PWM(Pin(19))
led_13 = PWM(Pin(20))
led_14 = PWM(Pin(21))
led_15 = PWM(Pin(22))
led_16 = PWM(Pin(26))
print(led_1)
def led_freq(x):
led_1.freq(x)
led_2.freq(x)
led_3.freq(x)
led_4.freq(x)
led_5.freq(x)
led_6.freq(x)
led_6.freq(x)
led_7.freq(x)
led_8.freq(x)
led_9.freq(x)
led_10.freq(x)
led_11.freq(x)
led_12.freq(x)
led_13.freq(x)
led_14.freq(x)
led_15.freq(x)
led_16.freq(x)
led_freq(1000) # setting pulse width modulation prequency
while True:
for duty in range(0, 65535): # Increasing LED broghtness
led_1.duty_u16(duty)
led_2.duty_u16(duty)
led_3.duty_u16(duty)
led_4.duty_u16(duty)
led_5.duty_u16(duty)
led_6.duty_u16(duty)
led_7.duty_u16(duty)
led_8.duty_u16(duty)
led_9.duty_u16(duty)
led_10.duty_u16(duty)
led_11.duty_u16(duty)
led_12.duty_u16(duty)
led_13.duty_u16(duty)
led_14.duty_u16(duty)
led_15.duty_u16(duty)
led_16.duty_u16(duty)
print(duty) # Print the duty Cycle
time.sleep(0.001)
for duty in range(65535, 0): # deccresing LED brightness
led_1.duty_u16(duty)
led_2.duty_u16(duty)
led_3.duty_u16(duty)
led_4.duty_u16(duty)
led_5.duty_u16(duty)
led_6.duty_u16(duty)
led_7.duty_u16(duty)
led_8.duty_u16(duty)
led_9.duty_u16(duty)
led_10.duty_u16(duty)
led_11.duty_u16(duty)
led_12.duty_u16(duty)
led_13.duty_u16(duty)
led_14.duty_u16(duty)
led_15.duty_u16(duty)
led_16.duty_u16(duty)
print(duty)
time.sleep(0.001)
As we mentioned in the introduction part raspberry Pi Pico has 8 PWM slices and 16 PWM channels. So in this example code we are interfacing 16 LEDs with PWM pins.
Most of the code instructions and commands are similar to the previous example. Here we declare 16 different led objects for 16 different GPIO pins (PWM pins).
Fig. 26 Declaring ‘led’ object
Fig.27 PWM frequency
In the images attached below, we can see the variation in LED brightness.
Fig. 28 Minimum Brightness Level
Fig. 29 Intermediate Brightness Level
Fig. 30 Maximum Brightness Level
In this tutorial we demonstrated the implementation of pulse width modulation on LEDs with Raspberry Pi Pico module and MicroPython programming language.
Continuing with this tutorial, in our upcoming tutorial we will discuss the interfacing of a servo-motor with raspberry pi Pico and we will also implement PWM on servo motor to control the direction of rotation.
This concludes the tutorial, we hope you find this of some help and also hope to see you soon with a new tutorial on Raspberry Pi Pico programming.
Where To Buy? | ||||
---|---|---|---|---|
No. | Components | Distributor | Link To Buy | |
1 | Breadboard | Amazon | Buy Now | |
2 | Jumper Wires | Amazon | Buy Now | |
3 | Raspberry Pi 4 | Amazon | Buy Now |
Connect button pushes to function calls using the Python gpiozero package and uses the Python dictionary data structure
For this project, you'll need some audio samples. On Raspbian, there are many audio files; however, playing them with Python can be challenging. You can, however, transform the audio files to a more simply used format for Python.
Please make a new folder and rename it because all of your project files will be saved in the new location.
Create a new folder named samples using the same technique as before in your new folder.
In /usr/share/sonic-pi/sample, you'll find a bunch of sample sounds. These sounds will be copied into the samples folder in the following phase.
Open the command window by selecting the icon in the upper left corner of your screen.
To transfer all items from one folder to another, execute the following lines:
You should now see all the .flac audio files inside the sample folder.
To use Python to play sound files, you must first convert them from .flac to .wav format.
Go to the sample folder inside a terminal.
FFmpeg is a software program that can quickly transcode video files on Raspberry Pi. This comes preloaded on the most recent Raspbian releases.
You may use this simple command to convert music or movie files format:
To transform an audio (.wav) to a mp3 format (.mp3), for example, type:
A batch operation is a process for processing or treating a large quantity of material. When creating modest amounts of goods, the batch operation is preferred. Because this procedure provides superior traceability and flexibility, it is highly prevalent in pharmaceutical and specialized chemical manufacturing.
It's simple to rename a file with bash. For example, you may use the mv command.
But what if you had a thousand files to rename?
When you run a script or a series of commands on several files, this is known as a batch operation.
The first step is to notify bash that you wish to work with all the files inside the folder.
The dollar symbol indicates that you're referring to f in this case. Finally, inform bash that you're finished.
If you press enter after each statement, bash will wait until you input done before running the loop; therefore, the command would appear as shown below:
You might also use a semi-colon to separate the instructions rather than pressing Return after every line.
The process of processing and analyzing strings is referred to as string manipulation. It entails several processes involving altering and processing strings to utilize and change their data.
That final command was meaningless, but batch operations can accomplish a lot more. You can use the following command to rename each file.
As a result, the $f percent.txt.MD syntax replaces all.txt strings with .md strings. Use the hash operator instead of the % sign to remove a string from the beginning rather than the end.
Write the following lines in your terminal. All .flac files will be converted to .wav files, and the old ones will be deleted.
Based on the Raspberry version you're using, it might take a couple of minutes.
All of the new.wav files will then be visible inside the sample folder.
After that, you'll begin writing Python code. You can do this with any code editor or IDE, but Mu is often an excellent option.
To play audio files, import and initialize the pygame library.
This file should be saved in the gpio-music-box directory.
Select four audio files to utilize in your composition, such as:
Then make an object which references an audio file. Give the file a different name. Consider the following case:
For the following three sounds, create labelled objects.
Because all of your audio files are in the sample folder, the path will be as follows:
Each audio object should be given a name, for example, cymbal:
This is how your program should appear:
Please make a backup of your code and execute it. Then use the .play() function inside the shell from the code editor to play the audio.
Ensure that the speaker is functional and the volume is cranked up if you don't hear anything.
Four pushbuttons will be required, each connected to a different GPIO pin.
There are 26 GPIO pins on a Raspberry Pi. You may use them to transmit on/off pulses to/from electrical components like Led, actuators, and switches.
The GPIO pins are laid out as below.
There are extra pins for 3.3 V, 5v, and Grounded connections and a number for each pin.
Another illustration of the pin placement may be seen here. It also displays some of the unique pins that are available as options.
A figure with a quick explanation is shown below.
One of the basic input components is a button.
Buttons come in various shapes and sizes, with two or four legs, for example. Flying wire is commonly used to link the two-leg variants to a control system. Four-legged buttons are usually put on a breadboard.
The illustrations below illustrate how to connect a Raspberry Pi to a button. Pin 17 is indeed the input in both scenarios.
The breadboard's negative rail may be connected to a single GND, allowing all pushbuttons to share the same grounded rail.
On the breadboard, attach the four buttons.
Connect each pushbutton to a GPIO pin with a specific number. You are free to select whatever pin you prefer, but you must recall its number.
Connect one Ground pin to the breadboard's neutral rail. Then connect one of each button's legs to this rail. Finally, connect the remaining buttons' legs to separate GPIO pins.
Here's a wiring schematic that may be of use. The extra legs of the pushbuttons are connected to Pin 4, pin 17, pin 27, and Pin 10 in this case.
A single pushbutton has been connected to pin 17 in the figure below.
The button may be used to invoke methods that don't need any arguments:
First, use Python language and the gpiozero library to configure the button.
The next step is to design a function with no parameters. This straightforward method prints the phrase Hello in the terminal.
Finally, build a function-calling trigger.
You can now see Hello displayed in the terminal each time that button is clicked.
You may make your function as complicated as you want it to be, and you can also call methods which are part of modules. In this case, hitting the button causes an LED in pin 4 to turn on.
The application should execute a function like drum.play() whenever the button is pushed.
However, brackets are not used when using an action (like a button push) to invoke a function
. The software must call that method whenever the button is pushed, not immediately. All you have to do is use drum.play in this situation.
First, establish one of the buttons. Ensure to replace the numbers from the example with the ones of the pins you've used.
Add the following line of code at the end of your script to play the audio whenever the button is pushed:
Push the button after running the software. If you don't hear the sound, double-check your button's connections.
Add code to the three remaining buttons to have them play their audio.
For the second button, you may use the code below.
Good code is clear, intelligible, tested, never overly convoluted, and does the task at hand.
You should be able to run your code with no issues. However, once you have a working prototype, it's typically a good practice to tidy up your code.
Subsequent stages are entirely optional. If you're satisfied with your writing, leave it alone. Follow the instructions on this page and make your code a little cleaner.
Instead of creating eight individual objects, you may keep your pushbutton objects and audio in a dictionary. These are, nonetheless, the seven characteristics of good code.
If you're writing one-time discard code that no one, including yourself, will have to see in the future, you may write in any way you like. However, the majority of useful software that has been produced has to be updated regularly.
The next important feature of excellent programming is scalability, or the capacity to expand with the demands of your organization. Scalability is primarily concerned with the code's efficiency. Scalable code doesn't always require frequent design changes to maintain performance and resolve various workloads.
Last-minute adjustments are unavoidable while developing software. It will be difficult to send new changes through if the code can not be rapidly and automatically tested.
Every piece of software that is built has a certain goal in mind. For persons familiar with the functionality, a code that adheres to its requirements is simple to understand. As a result, one important characteristic of excellent code is that it meets the functional requirements.
Mistakes and flaws are an inherent element of software development. You can't anticipate every conceivable manufacturing case, no matter how cautious you were during the design process. You should, however, shield your application against the negative effects of such situations.
This is an important feature of excellent coding. A reusable and sustainable code is extendable. You write code and double-check that it works as expected. Extensions and related advances can be added to the feature by modules that require it.
For every software application, reusable coding is essential and highly beneficial. It aids in the simplification of your source code and avoids redundancy. Reusable codes save time and are cheaper in the long term.
Learn how to create simple dictionaries and iterate over them by following the methods below.
First, establish a dictionary where the Buttons serve as keys and audio as values.
Whenever the pushbutton is pressed, you can loop through the dictionary to instruct the computer to play the audio:
We learned how to make a "music box" with buttons that play sounds depending on which button is pushed in this lesson. We also learnt how to interface our raspberry pi with buttons via the GPIO pins and wrote a python program to control the effects of pressing the buttons. In the following tutorial, we will learn how to perform a voice control on Raspberry pi.
Welcome to the next tutorial of our Raspberry Pi programming course. Our previous tutorial looked at how to Interface DS18B20 with Raspberry Pi 4. This tutorial will teach us how to create a time-lapse video with still images and understand how phototimer and FFmpeg work.
Where To Buy? | ||||
---|---|---|---|---|
No. | Components | Distributor | Link To Buy | |
1 | Raspberry Pi 4 | Amazon | Buy Now |
When photographing something over a lengthy period, "time-lapse" comes to mind. A video can be created by mixing the still photos. Plant development may be tracked with time-lapse movies, as can the changing of the seasons. They can also be utilized as low-resolution security cameras.
Cameras that can be used with the Raspberry Pi are a bit limited. A powered USB hub is required for most webcams that are compatible. For this post, we’ll be using a camera specifically made for the Raspberry Pi. The camera module can be plugged into a specified port on the Raspberry Pi. How to do it;
Shutting down the pi is recommended before adding a camera. A power button should be installed on Pi 4 so that you may shut down the device safely every time.
Slide the cord into the port by using an image as a guide. Finally, press down tabs, securing the cable to the motherboard.
Click on the main menu button, select Preferences, and then click Pi Configuration if you're using a monitor. Enable the camera by clicking on the Interfaces tab.
To continue, headless users must type the command below. Make sure the camera is turned on in Interfacing Options. Rebooting the Raspberry Pi will be required.
Individual stills are used to create time-lapse videos. We'll be using raspistill to acquire our time-lapse images. As part of the Raspberry Pi OS, you don't need to install anything extra. The are two way to record a time lapse:
Raspistill is a Linux-based software library that aims to make it easier for Linux users to use sophisticated camera systems. We can use open-source programs running on ARM processors to control the camera system with the Raspberry Pi. Almost all of the Broadcom GPU's proprietary code is bypassed, which customers have no access to.
It provides a C++ API to apps and operates at the base of configuring a camera and enabling the program to obtain image frames. Image buffers are stored in memory space and can be supplied to either video encoders (like H.264) or still image encoding algorithms like JPEG or PNG. raspistill, on the other hand, does not perform any image encoding or display operations directly.
An illustration of how to take time-lapse photography is shown in the following image.
In this case, the time-lapse capture was 10 seconds long. The Raspberry will wait for a total of 2000 milliseconds between each image. For 10 seconds, the Raspberry Pi will take a picture every two seconds.
The photos will be stored as .jpg files. This example uses the name "Pic" and a number that increases with each frame to identify each image. The final digit of percent 04d is a zero. Pic0000.jpg and Pic0001.jpg would be the names of the first two photographs, and so on. Change this value according to the requirements of your project.
Your time-lapse video needs to be put together once all of your photographs have been taken. FFmpeg is the tool we'll be utilizing to generate our timelapse video. The command to download the package is as follows:
Allow the installation to be complete before moving on. Using this command, you can create a finished video:
Pic%04d.jpg corresponds to the image filename you specified in the preceding section. If you have previously changed this name, please do so here. With the -r option, you can specify how many frames per second you want to record. When creating a time-lapse video, replace the phrase video-file with your name. Make sure to keep the .mp4 file extension.
A high-speed audio and video conversion tool that can also capture from a webcast source is included. On the fly, video resizing and sampling can also be done with high-grade polyphase filters.
A plain output URL specifies an indefinite number of outputs that FFmpeg can read from (standard files, piped streams, network streams, capturing devices, etc.), whereas the -i option specifies the number of input files. An output URL is encountered on the command-line interface that cannot be treated as an option.
Video/audio/subtitle/attachment/data streams can all be included in a single input or output URL. The container format may limit the quantity or type of stream used. The -map option can map input streams to output streams, either automatically or manually.
For options, input files must be referred to by their indices (0-based). It's not uncommon to have an infinite number of input files. Indexes are used to identify streams inside a file. As an illustration, the encoding 2:3 designates the third input file's fourth and final stream. In addition, check out the chapter on Stream specifiers.
A Python library named phototimer will be used to control the raspistill command-line that comes pre-installed on the Raspbian OS.
Using docker, you can develop, analyze, and publish apps in a short time. To run phototimer with Python installed, you'll need to use Docker with Raspbian Lite.
A new location does not necessitate an SSH login. The lapse of time will be restarted.
Download the Docker image, activate the camera interface, and start the container instead of executing a git clone on each device.
If you disconnect from the container, docker will keep track of the log information and will enable you to reconnect at any time.
We can easily set up docker with the following set of commands.
Download the docker file as a zip as shown below
Or use the terminal by copying the phototimer code as shown here:
If git isn't already installed, use the following command to add it:
By modifying the config.py file, you can change the time-appearance lapses and duration.
You will likely want to alter the default time-lapse settings so that they better fit your requirements, which start at 4 am and end at 8 pm.
For some reason, overall quality of 35/100 produces a substantially smaller image than one with a quality of 60-80/100. You can modify the file to determine how much space you'll need.
Depending on how your camera is positioned, the image may need to be flipped horizontally or vertically. True or False in each situation will have the same result.
To achieve a specific aspect ratio, you can change the height or width of the image in this way. The default setting is what I use.
The Docker container must be re-built and restarted every time you change your setup.
When docker does a build, it will construct an image from the current directory's code and a base image, like Debian.
The most crucial part is that the image we create right now contains everything our application might want.
For those just getting started, these are some helpful keyboard shortcuts and CLI commands:
The default time zone for the Docker container is UTC. If you're in a different time zone, you'll want to adjust your daylight savings time accordingly.
Docker can be configured to run in your current local time by adding the following additional option to the command:
As a result, the following is what a time-lapse in Texas, United States, might look like:
Below are some time-lapse images taken from the raspberry pi camera.
To save your photos to your laptop, follow these steps once you've captured a few pictures:
The ssh and SCP functions are included in Git for Windows, which may be installed on Windows.
You'll need a way to connect to your new rig when you're not near your wi-fi router if you plan on doing the same thing I did. There are a few ideas to get you started:
All Pi models allow networking via USB, and it is very straightforward to establish and will not interfere with the wi-fi network. You will have to bring a USB cord to each new site to directly change the Wireless SSID/password on the pi.
Plugging an SD card into your computer while on the road allows you to update your wi-fi configuration file easily, provided there is an SD card adapter nearby. The existing configuration will be replaced with this new one on the next reboot.
If you're comfortable with Linux, you can use hostapd to create your hotspot on the RPi. To connect to your Raspberry Pi, you'll need a computer with an Ethernet cable and a web browser.
Install your wi-fi Username and password and use that to start/stop timelapse capture and download files if you won't be using the rig outside your location.
The imported files should be in the correct order if you drag them onto the timeline after they've been imported, so be sure to do that. The crop factor should be set to "fill." Instead of 4.0 seconds, use 0.1 seconds for the showtime every frame.
It is often necessary to transfer documents between the Linux laptop to an industrial Raspberry Pi for testing purposes.
Occasionally, you'll need to transfer files or folders between your commercial Raspberry to your computer.
There is no longer a need for you to worry about transmitting files via email, pen drive, or any other method that takes up time. Automation and industry control can help you automate the process in this post.
As the name suggests, SCP refers to secure copy. This command-line application lets you securely transfer files and folders between two remote places, such as between your local computer and another computer or between your computer and another computer.
You may see SCP info by using the command below:
Using SCP, you can transfer files to the RPi in the quickest possible manner. There is a learning curve associated with this strategy for novice users, but you'll be glad you did once you get the hang of it.
You must activate ssh on your Raspberry Pi to use SCP.
A free program like Giphy can help you convert the videos to a GIF; however, this will lower the number of frames.
We learned how to use the Raspberry Pi to create a time-lapse animation in this lesson. In addition, we looked into the pi camera raspistill interface and used FFmpeg and phototimer to create a time-lapse. We also learnt how to interface our raspberry pi with our pc using ssh and transfer files between the two computers. The following tutorial will teach how to design and code a GPIO soundboard using raspberry pi 4.
Hi Everyone! Glad to have you on board. Thank you for clicking this read. In this post today, I’ll cover Real Life Examples of Workflow Automation.
Workflow automation is a talk of mainstream conversation. Many employees use this process in their organizations but they are not aware of this term. Workflow automation is a process used to automate manual and repetitive time-consuming tasks. It requires a series of tasks that need to be completed in a sequential manner where the process goes from start to finish with a definite goal in mind. For instance, onboarding new clients and approving leave requests are susceptible to errors when done manually. However, with workflow automation software, these tasks are done automatically without human intervention, leaving no room for mistakes or failure.
In this digital transformation stage, it is almost impossible to handle the influx of data manually. This is where digital technology comes to rescue you. With workflow automation, you can streamline business processes in a way that requires less time and hard work and guarantee optimal results.
We’ve compiled 7 real-life examples that use workflow automation to bring value to your business where you can automate routine tasks, allowing you to pay careful attention to the business objectives that matter.
Expense reports are a hassle. You require these reports to reimburse the money employees pay out of their pocket. Companies need to ensure their finances and expenditures are in check to make sure they don’t go out of budget anytime soon.
When employees spend money on travel or any business purpose outside the company premises, they feel uncomfortable finding all those receipts to submit as proof of purchase. And for the finance department, this process is painful since they need to do a lot of physical paperwork and fill spreadsheets to reimburse money to the employee.
Solution? Workflow automation.
With workflow automation tool, creating expense reports are like a walk in the park. Employees can use this tool on their smartphones. All they need to do is click the image of the receipt and upload it in the app, and send it to the manager for approval. The manager can check the details at a glance and can immediately approve it and send it to the finance department for reimbursement.
The first impression is the last impression. So make it count. If new hires experience a positive onboarding process, they are more likely to stick with the company.
Manual filling of personal information and compliance documents is prone to mistakes that will leave a negative first impression on the new hires. This situation can be avoided with workflow automation.
Incorporating workflow automation software in hiring new candidates will make the process smooth and accurate, putting both executives and new team members on the same page. This way the manager you will work under can overview your background at a glance and assign tasks to as best of your capabilities.
No matter the organization, assigning new tasks to the individuals takes time and requires deliberate effort. It is very challenging to manually keep the record of tasks assigned to each individual. This is where workflow automation comes in handy.
For instance, Flokzu is a workflow process management software that you can use to visually create the outline of each task to be completed. Moreover, it comes with a reporting system that lets you know about the pending task when it is completed and automatically assigns the new task to the relevant team member.
Traditional handling of leave requests is outdated. You can’t consistently keep in check whether the company is working with a full labor force. If handled manually, you always need to enter the time when an employee is away, which is a painful and tedious job. Workflow automation makes this process effortless.
Once the manager approves your leave request, the workflow automation software will automatically monitor the time when the employee is away and make it sync with the payroll. So, the time-off duration will automatically be deducted from your paycheck at the end of the month. This way manager can keep the record of employees working in the company at the same time and those away, making sure the required number of employees are present in the organization.
Data procurement is a fundamental component of your business growth. It helps you make an educated decision around the calculated data to handle business operations efficiently. With the deep insights into the raw materials entering the manufacturing department, you can find areas of improvement immediately.
When handled manually, data procurement can lead to data loss, more time spent and reduced productivity from the labor workforce. However, automated systems, on the other hand, help you monitor data on a single screen and allow the manager to efficiently revisit the strategic decisions and improvise on them for better results.
Impeccable customer support is the prime pillar of any agency. You want to turn customers into recurring customers, which is only possible when their queries are handled and requests are answered immediately. The main purpose of any customer support is to bridge the communication gap between customers and the agency so they keep coming back for what you have to offer.
And with workflow automation, you can bridge this gap and delight the customers with consistent and reliable processes from ticket creation to ticket closure. When you submit the ticket, your request is transferred to the relevant department which might involve getting back and forth between departments until you get the email when the issue is resolved. Some companies use online chatbots where the queries of customers are handled immediately without any delay. Know that when repetitive and mundane activities are automated, team members can pay attention to value-added endeavors.
Invoice generation is necessary to balance the books of any organization. According to reports, one accountant can process 5 invoices per hour manually and charge $19.24/hour. In conclusion, one invoice costs $4 to manually process it.
With workflow automation software this cost can be significantly reduced. You can, for instance, subscribe to invoice generation software QuickBooks ($12.50/month) and can generate scores of invoices at a low cost.
If you integrate a payment platform like PayPal with an invoice generation tool like QuickBooks; whenever you buy anything, the system will cut money from the former and an automatic electronic invoice will be generated in the latter.
Workflow automation is an effective way to manage complex business tasks. But while this process is in practice, it doesn’t mean you have to adapt it anyway. What’s working for other companies might not work for you. For instance, tasks that are not repetitive and time-consuming, you might prefer doing them manually since it may require more time and budget to put them on an automated system. Similarly, the tasks like system failure or hacking, when this occurs you instantly need human involvement. Make sure you do your due diligence before incorporating workflow automation into your business, so you can reap more benefits than your competitors.
That’s all for today. Hope you’ve enjoyed reading this article. Feel free to share your valuable feedback and suggestions to improve our content. If you have any questions, ask me in the section below. I’d love to help you the best way I can. Thank you for reading this article.
In this article, we will discuss the introduction to organic chemistry in which we will study organic compounds, classification of organic compounds, types of formulas, use, significances, general and covalent bond characteristics of organic compounds, and homologous series and his characteristics. 9 out of 10 takes the organic chemistry too tough but I explained it easily and simply to you. This article is for beginners and clears many topics.
“The chemistry of compounds obtained from living things.”
Swedish Chemist Jacob Berzelius put forward this theory in the 19th century.
“ Organic compounds could not be synthesized in the laboratory due to the influence of a mysterious force called vital force, which occurs only in living things.”
The branch of chemistry in which we study hydrocarbons and their derivatives is known as organic chemistry.
Organic compounds belong to hydrocarbons and their derivatives which are covalently bonded to carbon.
There are so many examples of organic compounds
Organic compounds had six types of formulae;
The formula In which the exact no of atoms is mentioned in one molecule of the organic compound is called the molecular formula.
Examples
The molecular formula of methane CH4.
The formula of organic compounds shows the actual arrangement of different atoms of various elements present in a molecule.
Example
The structural formula of propane is
Iso_ propane
The formula in which groups of atoms are linked with each carbon atom in a branched-chain or straight chain.
Example
The condensed formula of propane
Iso_propane. n_propane
The formula in which sharing of electrons in a dot and cross-form between the various atoms in one molecule is indicated is called electronic or Dot and Cross formula.
Example
In which whole, no ratio of different atoms in a compound gives the empirical formula of organic compounds
Example
The essential form of structure of an organic compound makes a series of atoms that are bonded together in the form of a chain, branched, or rings called the skeleton formula.
Example
skeleton formula of propane is
Depending upon their carbon atoms, organic compounds are divided into two categories.
Acyclic compounds form a long chain of carbon atoms without joining the end of the cross-format with each other. They may form straight or branched chain compounds
A straight-chain is formed by the linking of carbon atoms with another carbon atom or any other atoms through single, double, or triple bonds.
Example
propane
Branched-chain compounds
Open chain compounds i.e. aliphatic compounds in which a branch along with a straight chain is formed.
Closed chain or cyclic compounds
The carbon atoms of closed chain compounds are not free from their ends and it contains one or more close chains. These are divided into two groups
These compounds are made up of rings of carbon atoms. These are further divided into two groups.
Aromatic compounds consist of benzene rings at least one in their molecule. Six carbon atoms with three double bonds make a benzene ring, these compounds are also called benzenoid compounds. They have aroma or smell so they are also called aromatic compounds.
Example
These are called none_ benzenoid compounds because the benzene ring is not present in these compounds.
Example
Those cyclic compounds that consist of one or more atoms other than that of carbon atoms in their rings are known as heterocyclic compounds.
Example
The classification of known compounds is as follows
so the organic compounds are open or closed chains. Open chains are further divided into alkane, alkene, and alkynes. Closed chains may be homocyclic or heterocyclic. Homocyclics are alicyclic or aromatics.
From plants and animals, organic compounds are naturally prepared.
Protein and fats are the two major groups of organic compounds that are synthesized by animals.
Plants could be prepared
From dead plants through a biochemical process, we obtain
By the destructive distillation of coal and petroleum, we obtain thousands of organic compounds.
A blackish, complex mixture of organic compounds of carbon, hydrogen, and oxygen is called Coal
In the absence of air, strong heating of coal is called Destructive distillation.
Except for carbon, coal contains different elements like hydrogen, oxygen, sulfur, and nitrogen.
So huge number of organic compounds are formed due to the destructive distillation of coal with few inorganic compounds.
When coal is passed through the destructive distillation process. A solid residue left behind and lost all of its volatile elements is called coke.
The techniques, in which different ranges of temperature are used to separate the mixtures of the coal in terms of temperatures. we get different products at different ranges of temperature.
The below chart shows the uses and types of coal
A Greenish black or dark brownish colored viscous liquid is called petroleum.
It is a complex mixture of salt, water, and Earth particles mixed with a mixture of serve solid, liquid, or gaseous hydrocarbons.
The main source of organic compounds is petroleum and it is separated through fractional distillation. Different organic compounds consist of each fraction of petroleum that is not a single compound.
Natural gas consists of serial gases like 85% of methane, nitrogen gas, carbon dioxide, propane, butane, and ethane.
Macromolecules are formed by living plants
Two centuries ago, due to the vital force theory, we considered that organic compounds are prepared only from animals and plants and could not be synthesized in the laboratory.
A large amount of the organic compounds, almost more than ten million are synthesized in a laboratory.
Urea opens the way for chemists to prepare organic compounds in the laboratory and it is synthesized by inorganic salts.
Example
The fermentation of barley and molasses produced alcohols.
Synthetic rubber has much more qualities than natural rubber-like
Different fibers are made in laboratory-like
Natural fibers have better properties than synthetic fibers like
All proteins, sweeteners, vitamins, drugs, and medicines are being prepared in laboratories.
There is no doubt that more than ten million compounds are made in the laboratory but thousands of organic compounds are naturally synthesized by plants and animals.
We use different organic stuff daily such as milk, eggs, vegetables meat, etc. contain protein, vitamins, fats carbohydrates, etc.
Natural fibers and synthetic fibers, all are organic compounds used in cloth making that we use daily for wearing bedsheets, etc.
A variety of organic compounds are used in raw materials such as
cellulose naturally occurring organic compound in wood that is used for making furniture and housing.
Coal, petroleum, and natural gas are all organic compounds called gospel fuel that is used for domestic purposes and automobiles.
antibiotics (kill or inhabitants of microorganisms that cause infectious diseases) are life-saving medicines.
The general characteristics of Organic Compounds include:
A covalent bond is a chemical bond that influences the sharing of electrons pairs between atoms in a switch resulting in a balance of impressive and despicable forces between the atoms. The presence of a covalent bond renders specific elements to the organic compounds. These include:
A major characteristic of Members of Homologous Series
A Homologous Series is a community of organic chemical compounds, usually summarized in the order of increasing size, that have an identical structure (and hence, also similar properties) and whose structures vary only by the number of CH2– CH2 units in the fundamental carbon chain.
They maintain the following general characteristics:
So this is all for our today's article. I have tried my best to explain all the important topics covered in the heading " Introduction to Organic Chemistry". So if you want more tough articles in simple ways then give me good feedback. It will help me for better work. Thanks
Hi Friends! Hope you’re well today. I welcome you on board. In this post, I’ll walk you through How Workflow Automation Can Benefit Small Businesses?
Reduce the possibility of human error, save time and improve efficiency – The main goal of workflow automation. If your employees spend a lot of time on mundane and repetitive tasks, it’s a high time to invest in workflow automation. Especially if your business is small and you are in the early stages to leave a footprint in the competitive market. You can’t afford to hire scores of employees to do predictable tasks that you can automate with workflow automation. For instance, follow-up emails and sales calls, finance approval and invoice generation, and onboarding new employees, you can automate these tasks without having to worry about hiring someone to handle them manually.
Curious to know how workflow automation can benefit small businesses?
Keep reading.
Before we proceed further, we’ll cover what workflow automation is?
Workflow automation is the process to automate manual repetitive tasks to improve efficiency and reduce human error. When you apply technology to business operations, you can effortlessly translate the manual handling of processes into automation. This way employees can spend more time on value-added tasks that require a human touch and brainstorming.
What’s more, with workflow automation you can monitor employees’ performance and can immediately apply tweaks to revisit your strategic decisions. Plus, you don’t need a technical IT team to streamline processes, improve reporting and integrate two or more apps. Apps like Zapier do it for you. It involves creating Zaps that is creating links between business tools. For instance, it can integrate a website, CRM software, and messaging app to improve productivity and bridge the communication gap between customers and the agency.
The following are the core benefits of incorporating automation into your business.
Chasing down people across departments is so frustrating, especially when you don’t know the current status of the file. With workflow automation, you can monitor the workflows online and get an instant alert to set priorities. This improves the productivity of the employees, allowing them to be better prepared for the pending tasks.
Employees are the backbone of any industry. But you need to keep your budget in check while getting employees on board. You can significantly reduce the cost of labor workload if you automate some of your business processes. For instance, freeing employees from doing predictable and mundane tasks will help you invest in the things that involve human input.
When employees are free from manual tasks such as data entry, form filling, and invoice generation, they will find more time for brainstorming and get creative on the tasks that require innovation and emotion. The potential to apply intelligence, sensitivity, and expertise on the product level allows companies to deeply connect with the customers and deal with their questions and queries with deliberate intention.
When the pandemic hit, the demand for remote work increased more than ever before. Not everyone can manage to do an in-house job in a time of crisis. Companies that know how to manage the workforce remotely can effectively capitalize on the given resources. With workflow automation, you can seamlessly connect employees from different parts of the world. For instance, Google Drive, and DropBox allow the companies to share files across departments, and tools like Loom allow them to have full visibility of the teams.
What tasks do we need to automate? The answer is simple: Tasks that are repetitive and require approvals and smooth communication. Following are the five tasks that you can automate in your business.
At times employees have to spend money on the best of money for business purposes. Companies can’t instantly pay those employees who pay out of their pocket. And when they apply for reimbursements, they come across a hassle process especially when reimbursements are handled manually.
To effectively handle such scenarios, automation is the solution. Incorporating workflow automation prevents employees to chase hectic approvals and make regular visits to the finance office. Automation makes this process straightforward. Employees simply upload the receipts on the software which instantly gets connected with the manager for approval. Once the manager grants approval, receipts move to the finance department and they release the money spent by the employees.
First impression is the last impression especially when it comes to onboarding new hires. The seamless onboarding process tells a lot about employees if they are going to stick with the company for a longer time.
Tasks like updating new hires, documents approval, and follow-ups can be automated before candidates even join the company. Plus, you can effortlessly communicate and assign them the tasks so they are better prepared when they embrace the new role. Automation removes the tedious paperwork and mundane approvals, allowing both employer and employees to come on the same page without the need to back and forth face to face interaction.
Every organization deals with the influx of leave requests regularly. If organizations still use traditional ways to approve requests, they might already know it’s a tedious process. At times manager feels difficulty in managing the required number of employees in the company. One employee might want the same day off already applied by another employee. If handled manually, it is very challenging to keep the record of employees with days off or those who want particular time away from the company.
Workflow automation removes this uncertainty and makes sure the company doesn’t go understaffed. Automation software tracks and keeps the record of the time of those away and the manager can instantly approve the leave requests by scanning everything on the single screen. Software is stuffed with an online form to let employees know which days are available or unavailable that automatically limits two employees requesting the same days off.
No matter the type and size of your business, data procurement is a critical part of every business. It is a process that consists of a series of functions required to obtain goods and services from the vendor and keep a record of how these services and goods are used to achieve business goals. The effective use of the procumbent function directly influences the cost-saving objectives of the agency. Yes, by analyzing the data you can revisit decisions if you need to change vendors and suppliers. Data procurement goes beyond the purchase of goods and services. For instance, it also includes a better understanding of the performance of all business units, supplier performance, risk and compliance management, and contract utilization.
Manual processing of data procurement often leads to compromised risks like operational risks, delivery risks, and potential frauds. Moreover, inaccuracy and inefficiency are other issues that result from the manual handling of data. However, with automation procurement software these issues can be avoided. Automating vendor management and purchase orders guarantee enhanced compliance and greater productivity.
Invoice generation is an integral part of any business. Effective invoice generation builds trust and allows clients to stay in touch with your business and keep coming back for what you have to offer. If you create invoices manually, you might need to generate an invoice every time to request payment from the client. However, with workflow automation this process becomes transparent, preventing you from entering information every single time to request the next payment. A smart automation solution comes with automation of data entry, matching prices, transferring digital payments, managing purchase orders, and more. Generating digital invoices is crucial for businesses to keep up with the modern trends and compete with rival brands.
When you start a small business, you need employees to keep it up and running.
However, it’s probable in the early stage of your business you’re tight on budget.
To combat this, a smart automation solution is key.
No advanced automation solutions are required. Some vendors offer low-cost solutions that perfectly fit your budget.
From vacation requests and invoice generation to data procurement and onboarding new hires, you can automate workflows for your business growth.
Know that not every business task requires automation, since some mission-critical tasks like system failure and hacking demand instant human involvement to run a business without delays.
That’s all for today. Hope you’ve enjoyed reading this article. If you have any questions, you can ask me in the section below. You are most welcome to share your experience of incorporating workflow automation into your business. Thank you for reading the article.
Hello readers, I hope you all are doing great. In our previous tutorials on raspberry pi Pico, we discussed the basic features, architecture, download and installation of development environments for raspberry Pi Pico programming. In this tutorial, we will learn how to access and control Raspberry Pi Pico and its GPIO pins to implement LED blinking using MicroPython.
Raspberry Pi development boards are quite popular and frequently used among students and hobbyists. But the drawback of Raspberry Pi is their cost i.e., around $35-$45. So when cost of the development board is of prime importance the users prefer to use ESP8266, ESP32, Arduino, PIC etc. over Raspberry Pi. To overcome this drawback, Raspberry Pi foundations designed a new board i.e., Raspberry Pi Pico which is a cost effective solution for costlier Raspberry Pi boards.
Raspberry Pi Pico is a cost-effective development platform designed by Raspberry Pi which has enough processing power to handle complex task. It is a low cost and yet powerful microcontroller board with RP2040 silicon chip.
We have already published tutorials on how to download and install the above mentioned software components.
Follow the given link for detailed study of Raspberry Pi Pico: https://www.theengineeringprojects.com/2022/04/getting-started-with-raspberry-pi-pico.html
We have already published a tutorial on installing Thonny IDE for Raspberry Pi Pico Programming. Follow the given link to install the IDE: https://www.theengineeringprojects.com/2022/04/installing-thonny-ide-for-raspberry-pi-pico-programming.html
The Raspberry Pi Pico board comes with an onboard LED which is internally connected with GPIO 25. So first we will discuss how to access the on board LED and then will interface an external one.
Fig.
Steps included in programming the Raspberry Pi Pico to make the onboard LED to blink are:
“from machine import Pin, Timer”
“led = Pin(25, Pin.OUT)”
“ led.toggle()”
Fig. Save the program
Fig. Run the code
Note: If you are already running a program on Raspberry Pi Pico board then press ‘Stop’ before running a new program.
from machine import Pin, Timer
led = Pin(25, Pin.OUT)
timer = Timer()
def blink(timer):
led.toggle()
timer.init(freq=2.5, mode=Timer.PERIODIC, callback=blink)
Fig. Blinking On-board LED
Table 1
Fig. Iterfacing LED with Raspberry Pi Pico
Steps included in programming the Raspberry Pi Pico to make the peripheral LED to blink are:
“from machine import Pin”
“import time”
Create an object ‘led’ from pin14 and set GPIO pin14 to output.
“led=Pin(14,Pin.OUT)”
“while True:"
“led.value(1)”
“time.sleep(1)”
“led.value(0)”
Fig. Interfacing and Blinking LED with raspberry Pi Pico
from machine import Pin, time
led=Pin(14,Pin.OUT) #Creating LED object from pin14 and Set Pin 14 to output
while True:
led.value(1) #Set led turn ON
time.sleep(1)
led.value(0) #Set led turn OFF
time.sleep(1)
This concludes the tutorial, we hope you find this of some help and also hope to see you soon with a new tutorial on Raspberry Pi Pico programming.
Running a business is not an easy job. It requires a lot of deliberate effort and careful attention to run business processes successfully. Some tasks involved are repetitive and time-consuming, making it difficult for you to do them manually. This is where workflow automation comes in handy that doesn’t require human intervention and can be used to effectively manage and execute business processes.
Curious to know about Top 10 workflow automation software?
Scroll on.
Workflow is a process that requires a lot of steps to be completed in a sequential manner. The process goes from start to finish and normally involves people or systems.
Workflow automation software is a tool used by most businesses to automate repetitive and time-consuming tasks. This tool is usually employed to improve employees’ efficiency, reduce errors and increase revenue. From lead management, sales, and marketing, to finance and accounting, this tool is used to automate manual processes. Some software come with flexible customization options, allowing you to develop and modify workflows as per the business needs.
Mainly two types of software are used: no-code tools and low-code tools.
No-code tools come in simple drag-and-drop and flow chart settings that you can use with no coding skills or technical expertise while low-code tools, on the other hand, require a little bit of technical knowledge to get a hands-on experience of them. But don’t worry, you don’t require a software degree to use them, if you pay careful attention, you can learn them yourself on the go.
Listed below are the top 10 workflow automation software used by organizations.
Zapier is a user-friendly automation tool that helps you automate business processes. It comes with thousands of pre-crafted templates that you can customize based on your business needs. Building a zap is just one click away. Plus, you can add tailor-made workflow logic and multiple steps to automate tasks that would otherwise be completed manually.
Nintex is an intelligent no-code workflow automation tool that helps you easily optimize and manage processes. Trusted by more than 10,000 organizations, Nintex allows you to create result-driven workflows with a workflow cloud which means your data is managed and stored over the internet. Setting you free from creating and managing in-house data centers. Automate the manual, repetitive, and time-consuming tasks with just a few clicks.
Kissflow is a market leader in workflow automation that allows users to develop workflows with the visual builder. Integrated with a sleek interface and drag-and-drop settings, Kissflow helps companies to speed up the workflow processes from all-in-one workflow automation software. Moreover, the notification alert option gives you a deep insight into the performance of complex workflow automation processes.
Integrify is a user-friendly workflow automation software that facilitates in building file approval workflow and custom documents. Plus, it incorporates a visual drag-and-drop builder that lets you visualize the workflows as you develop them. Its form builder allows you to monitor workflow automation, giving you an insight into inefficiencies so you can find areas for improvement.
Flokzu is a workflow automation software that allows you to develop visual workflow models with a visual builder. It is a cloud-based process management tool that features a real-time reporting dashboard allowing you to get a hold of each stage your process is in, so you can make educated decisions for your future outcome. Gives you notification of each pending task, and as the pending task is completed, it automatically assigns a new task to the user.
Trusted by over 30,000 organizations from small enterprises to Fortune 500, automate.io is a process management automation software designed for industries where you can create simple workflows or sync data between two different apps. You can sequentially automate tasks in different business processes including lead management, sales outreach, content marketing, social media marketing, and more.
Processmaker is a low-code automation tool used to create approval-based workflows with ease. A notification alert system allows you to get real-time reporting about the tasks to be created so you know exactly what’s happening inside each process. Industries that can benefit from this tool include healthcare, insurance, banking, higher education, manufacturing, and telecom.
IFTTT stands for If This, Then That. It’s a powerful tool that works on conditional statements (called Applets) and executes processes when these conditions are met. It is mainly used to connect apps and allow services and devices to work together. Most popular applets are used in building a smart home environment. For instance, turning on the device with your voice, powering the security system upon leaving your home, and determining the temperature using the weather.
Trusted by over 152,000 customers worldwide, Monday is an open-source automation tool to streamline your everyday tasks. Build and customize workflows to improve the collaboration and productivity of your team. Stay connected with real-time notifications, so you know the performance of each task completed.
Asana is a project management software designed to remotely manage teams and assign tasks with one integrated platform. You can collaborate and build strategic project plans from anywhere. The notification alert feature gives you an insight into when the task is completed and what’s new on the table. Allows you to automate routine work so you can pay attention to what matters and adds value to your team.
Workflow automation is critical for business growth. When repetitive and manual tasks are automated, you can improve the productivity of your team by paying attention to the actual business objectives. Using technology to your advantage is the best way to excel and grow in this digital transformation stage and leave a footprint in the competitive market.
That’s all for today. Hope you’ve enjoyed reading this article. If you have any questions, you can ask me in the section below. I’ll help you according to the best of my knowledge. Share your experience if you have used any workflow automation software before. Thank you for reading this post.
Keywords
ESP32, IoT, Temperature sensor, Humidity sensor, Pressure sensor, Altitude sensor, Arduino IDE, ThingSpeak.
Where To Buy? | ||||
---|---|---|---|---|
No. | Components | Distributor | Link To Buy | |
1 | ESP32 | Amazon | Buy Now |
The evolving generation of wireless technology has made human life a lot easier. Where everything is online and automatic we can easily monitor multiple things virtually from anywhere in the world. The WSN (wireless sensor networks) and Internet of things or IoT play an important role in implementing and accessing these wireless technologies. Smart homes, smart cities and smart weather monitoring systems are examples of such technologies where things are quite simpler or easier.
In this web-server based weather monitoring system, the weather data (from the surrounding environment or of a particular location) like temperature, humidity, pressure etc. is measured with the help of some sensors and then the collected data will be stored on a server after being processed by a microcontroller. Our daily activities are inseparable from weather conditions and various environmental factors. The real-time data collected can be used in research and analysis and the results can be helpful in human life and for improving environmental conditions as well.
The Internet of Things is a system made up of multiple inter-related computing devices. The main factor ‘things’ in IoT is designated to a component that is capable of communicating data over a network (IoT), the thing could be animals, a digital machine, a sensor, a human being etc. Each component of the Internet of Things network is given an individual or a distinct identity and the ability to communicate data or information over a wireless network that is too without the intervention of a human or a computer [8].
An interface medium capable of collecting, controlling, and communicating data among transmitter and recipient electronic equipment or servers is required to build the IoT network[9].
The ESP32 microcontroller series was developed by Espressif Systems. This module (the ESP32) includes a 2.4GHz Wi-Fi chip, memory, a 32-bit Tensilica microcontroller, an antenna, peripheral interfacing abilities, power management modules, and more. This ESP32 module is excellent for the Internet of things because of all of its technological and infrastructural aspects [10].
DHT11 and BMP280 sensors are used to collect the data from their surrounding environment and then communicate the data to the ESP32 module over a particular protocol [11].
The application of this weather monitoring system can also play an important role in the field of agriculture[12 ] to increase productivity, research application, and reducing manpower (by reducing the need to manually monitor the field status). Sometimes in a particular agricultural zone that is hazardous for a human beings, it is quite difficult to manually (offline) monitor the environment or weather conditions. In such cases, this web server based or online weather monitoring system can be of great importance.
Fig. 1
The list and quantity of the components required to implement the web server based weather monitoring system are shown in Table1.
Table: 1
Fig. 2 DHT11 sensor
DHT11 sensor (or temperature and humidity sensor) is a sensor module used to measure humidity and temperature from its surrounding. This sensor module is responsible for monitoring the ambient temperature and humidity of a given area. An NTC (negative temperature co-efficient) temperature sensor and a resistive type humidity sensor make up the sensor. An 8-bit microcontroller is also included. The microcontroller performs ADC (analogue to digital conversion) and outputs a digital signal via the single wire protocol [13].
Some of the technical specifications of the DHT11 sensor are:
Table:2 DHT11 technical specifications
DHT11 sensors can also be used to create a wired sensor system with up to 20 meters of cable.
To measure temperature and humidity, two DHT modules (DHT11 and DHT22) are available on the market. Both modules serve the same purpose, but they have different specifications. The DHT22 sensor, for example, has a wider range of temperature and humidity sensitivity. However, DHT22 is more expensive than DHT11. As a result, you can choose to use any of the modules as per your needs.
Table.3 Interfacing DHT11 with ESP32
Another sensor we are using is the BMP280. The BMP280, also known as the barometric pressure sensor, is a temperature, pressure, and altitude sensor. This sensor's small size and low power consumption make it suitable for mobile applications, GPS modules, and battery-powered devices, among other things[15].
The Bosch BMP280 is based on Bosch's validated ‘Piezo-resistive pressure sensor technology’, which features high accuracy, long-term stability, linearity, and EMC robustness.
The barometric pressure sensor (280) is the successor to the BMP180 sensor, and it is mostly preferred in all areas where precise temperature and pressure measurements are required.
Fig.3 BMP280 Sensor
Fitness, indoor navigation, and GPS refinement are all new technologies which require relative accuracy, and the BMP280 is ideal for them. This module is preferred over the other available modules for temperature records or measurement because of its low TCO (Temperature coefficient of Offset).
The temperature measured with the BMP280 sensor is more accurate than the DHT11 sensor. BMP80 provides a 0.01°C accuracy rate.
Some technical specifications of the BMP280 sensor are:
Table:4 BMP280 Technical specifications
A web server is a place where one can store data online and can access that data at any time and from anywhere in the world [16]. A real-time data is created with the help of a web-server. There are various web services available to store real-time data for research and analysis like AWS (Amazon Web Service), Azure, Firebase etc.
We are using the ThinSpeak web service provided by MathWorks which allows us to send sensor readings/data to the cloud. The ThingSpeak is an open source data platform for the Internet of Things (IoT) applications. We can also visualize and act on or access the data (calculate the data) sent to the ThingSpeak server from ESP32. Two different types of channels are available to store data on the ThingSpeak server namely ‘Public Channel’ and ‘Private Channel’ and one can use either of the available channels to store and display data [17].
ThingSpeak is frequently used for IoT prototyping and proof-of-concept systems that require analytics[18].
We need to give instructions to our ESP32 module so that it can interface, read data from DHT11 and BMP280 sensors and then finally publish the collected data to the ThingSpeak server. Arduino IDE is an integrated development environment used to write, compile and debug the program for the ESP32 module[19].
Fig. Arduino IDE
The process flow of our weather monitoring system is shown below in Chart 1. The process starts with the initialization of ESP32 module which is acting as an interface medium between the sensor modules and the web-server. The ESP32 wi-fi module is continuously searching for the network credentials as per the instruction provided. After connecting to the internet the sensor modules will be initialized and the real-time data [22] collected from the surrounding environment will be pushed to the ThingSpeak web server[23].
Flow Chart: 1
The results observed from the implemented weather monitoring system are shown below. We observed four different environmental conditions which include temperature, humidity, pressure and altitude. The sensor data collected by ESP32 from DHT11 and BMP280 sensors is published to the ThingSpeak web server. On ThingSpeak we have created a channel that contains four fields to store four different environmental factors temperature, humidity, pressure and altitude.
Fig. Hardware
In fig. 4 we can see the ‘Field 1’ which is containing the temperature readings published or communicated from the ESP32 module and saved on the ThingSpeak server.
Similarly, fields 2, 3, and 4 are displaying the humidity, pressure and altitude respectively.
Fig. 4 Temperature (°C)
Fig. 5 Humidity
Fig. 6 Pressure (hPa)
Fig. 7 Altitude
Each factor is monitored at different intervals of time to observe the variations in various environmental factors. From table 5 we can see the various environmental factors and their values at different time intervals for the approximate duration of 24hrs.
Table 5 Variations in weather conditions
We observed the weather conditions (that includes temperature, humidity, pressure and altitude) with our “Web-server based weather monitoring system using ESP32”. The observed real time data is stored on the ThingSpeak server which can be accessed globally. The different values of each (mentioned earlier) environmental factor at different intervals in time are also observed (given in table 5) and the observed result clearly shows the changes in the weather conditions for a full day cycle. Hence, we have successfully implemented and tested the web server based weather monitoring system with ESP32 and ThingSpeak web server.
Hi Guys! Hope you’re well today. I welcome you on board. In this post, I’ll walk you through Introduction to Workflow Automation.
Workflow automation is a critical part to run a successful business. It is used to improve the efficiency and productivity of the business to provide a better user experience, reduce errors and increase revenue. Workflow automation is the process of automating a set of repeatable tasks to achieve a certain goal within the software or app you use.
Confused?
Don’t be.
We’ll touch on this further in the article.
Curious to know more about workflow automation, its benefits, how to choose workflow automation software, and how it can help your business?
Keep reading.
Before we get into the nitty-gritty of workflow automation we must know what workflow is.
Every business is based on a predefined process. It’s the set of activities including manual tasks like creating reports, data transfer, collaborating within the company and more… all these tasks are performed to fulfill the business needs. Workflow guarantees all these processes are planned and executed in a sequential manner by the people or systems to achieve a certain goal.
Know that a workflow image can be a simple flowchart diagram representing a set of activities to reach the desired goal.
And automation is the process that repeats itself without human intervention. It works on WHEN and THEN rules. For instance, when the temperature falls below 30 C, then turn on the AC.
Simply put, workflow automation is automating the workflow – it involves incorporating the automated software system within the company to monitor and control business processes. The software is used to perform a repeated set of steps consecutively to do a certain task. In this process the work goes from start to finish without human involvement, eliminating the manual steps and ensuring the error-free work on time.
The workflow automation you can implement in the business processes includes sales and marketing, human resource, lead management, and more. This way businessmen can pay careful attention to the more important tasks rather than worrying about properly executing the workflow within the software.
The key benefits of workflow automation include:
Choosing the right workflow automation software is a bit tricky. It depends on the workflow processes you want to manage within a business.
There are two types of software used in workflow automation: no-code tool and low-code tool.
The no-code tool works better for the beginner with no technical expertise. Some of these tools come with a drag and drop feature, allowing you to easily customize the workflow for your business process at hand. The low-code tool, on the other hand, requires coding skills to put into practice. Low-code tool doesn’t mean you have to be a tech-geek to get a hold of it. And you don’t require any software degree either, you can learn it easily if you put a deliberate effort and attention.
Other things you must consider while choosing the right tool include:
The tool comes with easy to handle user interface UI which means you can learn it yourself, if it requires technical support at every step, you better skip it.
The tool must be economical and scalable so you can modify it as per the business processes.
The tool must be compatible with your apps. What may fit for other businesses might not work for your business. If everyone is buying it doesn’t mean you also have to buy it. Keep your business processes in mind before choosing the right tool.
Workflow automation sets you free from doing manual repetitive tasks and automates your business processes to improve efficiency and productivity.
Following are the key areas of your business you can automate with workflow automation:
Invoice generation is a crucial task to create a document to bill your clients. When done manually, mistakes are obvious. But with workflow automation, you can automate the invoice generation process to bypass the multiple manual processes. You can use workflow automation software to create the invoice to bill the client month after month for a definite amount. Plus, you can keep a record of the invoices you create for a particular client.
Onboarding new candidates is overwhelming at times. It requires a lot of brainstorming, resources, workforce, and time. However, with workflow automation, this process can be straightforward without the involvement of repeated manual processes. Workflow automation software allows the new candidates to list their information and submit it directly to the HR department. It removes the need for manual tests and check-ups to reach the hiring manager, effortlessly bridging the gap between the company and new candidates.
Quality leads form the basis of any business growth. Manual lead management requires a lot of data filtering and manual follow-ups that slow down the process of reaching potential clients.
Workflow automation allows the companies to discard the low-quality leads, and automate the process to turn the visitors into customers. Moreover, it allows the sales team to streamline the sales funnel process, stuff CRM with the required information, direct new leads to the sales manager, and effectively deliver the products to the customers.
Manual handling of staff expenses is a tedious job. But workflow automation is here to rescue you. At times you spend money on the behest of the company. If you want to have approved those expenses from the company, first you need to write the email to the manager who will approve it and then send it to the accounting department. Everything will be documented in a report before the accounts department refund the money to the employees. However, workflow automation software can simplify this and other manual processes including creating reports, managing travel tickets, approving leave and vacation requests and producing purchase orders, and more.
A workflow automation software is an important tool for your business growth.
Using this tool, redundant tasks are eliminated and repetitive and manual tasks are put on auto-pilot.
Whether or not should you pick the automated workflow software for your business is a tricky question and unfortunately, there is no simple formula to figure this out. However, the business processes that can use automation to drive value include time-bound activities, manual repetitive tasks, lead management, customer support and data entry jobs, and more.
Keep two things in mind while picking the right tool: it meets your business's core objectives and it should be economical.
That’s all about the Introduction to Workflow Automation. If you have any questions in mind, you may ask me in the comment section below. I’ll help you to resolve your query. Keep sharing your feedback and suggestions to help us improve the quality of our content. Thank you for reading this article.