AKWA IBOM STATE UNIVERSITY
MAIN CAMPUS, IKOT AKPADEN
AN ASSIGNMENT
BY
JOSEPH, ISRAEL IME
AK16/ENG/MAE/033
MARINE ENGINEERING
COURSE CODE:
MAE 321
COURSE TITLE:
NAVIGATION AND METEOROLOGY
APRIL, 2019
ABSTRACT
Weather is the state of atmosphere at a particular time and place with regard to
temperature, moisture, air pressure, precipitation etc. Bio organisms need to adapt with
the changing atmospheric conditions. It is therefore important to know the atmospheric
condition for different applications. The interest is to design a remote sensing
instrument for collecting data for weather prediction. Here a hardware model has been
designed and implemented. It is possible to provide instant weather report which can be
used to compare the data of a place with some different altitude as well as for different
time instant. In meteorology, the main objective is to know accurate weather conditions
with less human efforts, reliable and efficient data. As the weather varies from place to
place and with the altitude, it is difficult to get accurate weather for a particular location.
Temperature prediction is one of the most important and challenging task in today's
world. Temperature prediction is the attempt by meteorologists to forecast the state of
the atmospheric parameters such as: Temperature, Humidity, etc. With the advancement
of technology, specially embedded system & data acquisition systems, the problem of
large set up area and cost has been reduced significantly. This remote sensing
instrument can be set up onboard vessels as well as in atmosphere or in space which can
provide accurate weather report.
INTRODUCTION
People since nineteenth century became able to predict the environmental
conditions. The only difference between the primitive and the modern system is
that the advancement of technology. The measuring instrument has become
miniaturized, efficient, reliable and more accurate to provide instant weather report
without manpower. Weather being a natural phenomenon always change with the
change of different atmospheric parameters. Still, the average or mean condition
can be predicted which ultimately gives the climate of a geographical area for a long
time consideration. The most important parameters that affect the atmospheric
conditions are air pressure, temperature and humidity. All these parameters are
subject to change with change of altitude, day length (intensity of sunlight
changes), environmental components (tropical zone, or temperate zone etc.), sun
angle at particular spot etc.
In modern system of weather forecasting, the environmental data are sent to a
computer based system through a Data Acquisition Systems (DAS). Multiple
parameters are multiplexed and finally proceeding through a single channel to the
computer to show the data. For Broadcasting, the data taken by the sensors are
recorded through wireless data transmission system and displayed on the Display
and Control Unit
LITERATURE
The remote sensing instrument is a wireless Weather Station with a big 3.2" Color TFT
display using Arduino. Building a Wireless Weather Station is a great learning
experience. A Weather station is a device that collects data related to the weather and
environment using many different sensors. These devices can measure many things like:
Temperature, Humidity, Wind, Barometric Pressure, etc.
This device I call it “WEATHER STATION” will measure Temperature and Humidity
in two locations and display the current date and time. This project was done with the
power of open source software and hardware.
The project consists of two parts, the transmitter and the receiver.
The transmitter measures the temperature and the humidity and send the data wirelessly
to the receiver.
The receiver, measures the temperature and the humidity, receives the data from the
remote sensor and displays everything in big color TFT display.
PROCEDURES FOR DESIGNING THE REMOTE SENSING INSTRUMENT
STEP 1: GET ALL THE PARTS
THE PARTS NEEDED IN ORDER TO BUILD THIS PROJECT ARE THE
FOLLOWING:
Arduino Due
Arduino Mega
Arduino Nano
-
3.2" TFT display
Temperature And Humidity Sensor Module For
Arduino SCM (DHT22). Arduino Due for the
receiver because it is very fast and it has a lot of
memory. This is going to be very useful in the
future as we add more and more features to the
project.
Male to Female, Female to Female, Male to Male
color Breadboard Jumper cable wire combination
for Arduino
DS3231 Real Time Clock Module: Has operating
voltage between 3.3 – 5.5V. Calender alarm clock
with two programmable square-wave ouput.
Breadboard: 400 tie points (300 tie points if not
include the IO holes) with self-adhesive tape.
Used in electronic circuit assembly, debugging,
training, etc.
Wireless Power Enhanced
communication receiver module.
This is a high-performace Atmel 8-
bit AVR RISC-based micro-
controller combines 32KB ISP
flash memory
Header Pins
Xioma Power Bank. This device stores power for a long period to time. It is been used
for the project this Arduino Due requires a voltage source of about 5V to operate on.
STEP 2: TEMPERATURE AND HUMIDITY SENSOR - DHT22
The DHT22 is a very popular Temperature and Humidity sensor. It is cheap, easy to use
and the specification claims good precision and accuracy.
The DHT sensors are made of two parts, a capacitive humidity sensor and a thermistor.
There is also a chip inside that does some analog to digital conversion and outputs a
digital signal with the temperature and humidity. The digital signal is fairly easy to read
using any microcontroller.
Characteristics of the DHT22
Low cost
3 to 5V power and I/O
2.5mA max current use during conversion
0-100% humidity readings with 2-5% accuracy
-40 to 125°C temperature readings ±0.5°C accuracy
Slow
The connection with Arduino is extremely easy. We connect the sensor pin with the +
sign to the 5V or the 3.3V output of the Arduino. We connect the sensor pin with the -
sign to GROUND. Lastly we connect the OUT pin to any digital pin of the Arduino.
In order to use the DHT22 sensor with Arduino we have to use the DHT library.
https://github.com/adafruit/DHT-sensor-library
STEP 3: THE DS3231 REAL TIME CLOCK MODULE
The DS3231 real time clock module is as its name suggest a Real Time Clock. Using
its battery it can keep time for years since it has minimal power consumption.
The DS3231 is a low-cost, extremely accurate I2C real-time clock (RTC) with an
integrated temperature compensated crystal oscillator (TCXO) and crystal. The device
incorporates a battery input, and maintains accurate timekeeping when main power to
the device is interrupted. The integration of the crystal resonator enhances the long-term
accuracy of the device as well as reduces the piece-part count in a manufacturing line.
The RTC maintains seconds, minutes, hours, day, date, month, and year information.
The date at the end of the month is automatically adjusted for months with fewer than
31 days, including corrections for leap year. The clock operates in either the 24-hour or
12-hour format with an AM/PM indicator. Two programmable time-of-day alarms and
a programmable square-wave output are provided. Address and data are transferred
serially through an I2C bidirectional bus.
It will be used it in order to keep time in our Weather Station Project.
STEP 4: NRF24L01+: WIRELESS MODULES
The NRF24L01 module is a low cost bi-directional transceiver module. It operates at
the 2.4GHz band and it can achieve at a data rate of 2Mbits! It uses the SPI interface in
order to communicate with Arduino, so it is very easy to use with it. We have to connect
7 of the 8 pins of the module in order to make it work with Arduino.
The module as plugged into the breadboard using male to female wires in order to
connect the module to Arduino. Pin number 1 of the module is GND was connected to
the Arduino Ground. The VCC pin was connected to the 3.3V output of the Arduino
Uno. The third pin is named CE and it is connected to any digital pin 7. Pin 4 is CS and
is connected to digital pin 8. The next pin is SCK which goes to digital pin 13 of the
Arduino Uno. The next pin is MOSI which goes to digital pin 11 and the last pin in
MISO which goes to digital pin 12.
In order to be easy to use the module with Arduino, the following library was used:
https://github.com/TMRh20/RF24
STEP 5: BUILDING THE TRANSMITTER
For the transmitter we use:
An Arduino Nano
A DHT22 sensor
A NRF24L01+ wireless module
A breadboard
Some wires
The output pin is connected to the sensor of the digital pin 4 of the Arduino Nano. Then,
the Ground and Vcc are connected too. The next step now is to connect the NRF24L01
wireless module using the pins that are shown in the third image. The transmitter is now
ready.
STEP 6: BUILDING THE RECEIVER
In order to build the receiver the
following parts are required:
An Arduino Due or a Mega
A DS3231 Real Time Clock module
A DHT22 Temperature and Humidity Sensor
A NRF24L01+ Wireless module
A 3.2" Color TFT display
A breadboard
7 header pins
Some wires
At first 7 header pins were bent and placed at some of the Arduino Due pins. One is
connected to the Ground and one to 3.3V. Two at the I2C pins. The remaining 3 to
digital pins from 6 to 8. The three wires are soldered to the hardware SPI pins of the
Arduino Due pins. MOSI, MISO and SCK are needed as well. The wires are connected
to the header pins and it is then ready to attach the display.
Connecting the DS3231
the VCC pin on Arduino’s 3.3V output
the GND pin to Arduino’s GND and
the SDA (Serial Data Line) pin to Arduino’s SDA pin and
the SCL (Serial Clock Line) pin to Arduino’s SCL pin
Connecting the DHT22 Sensor
the VCC pin on Arduino’s 3.3V output
the GND pin to Arduino’s GND and
the output pin to Arduino's digital pin 8
Connecting the NRF24L01 module
the GND pin to Arduino’s GND
the VCC pin to Arduino 3.3V
the 3rd pin to Arduino's digital pin 6
the 4th pin to Arduino's digital pin 7
the 5th pin to SCK pin that we have soldered
the 6th pin to MOSI pin that we have soldered
the 7th pin to MISO pin that we have soldered
Step 7: The Transmitter Code
First of all, the RF24 library was downloaded in order to make it easier while working
with the NRF24L01 wireless modules. The DHT library is also used for the DHT22
sensor.
NRF24L01 Library: https://github.com/TMRh20/RF24
DHT22 Library: https://github.com/adafruit/DHT-sensor-library
The Transmitter code sends out a simple data structure which contains two floats, the
temperature and the humidity.
In order to establish a communication link, a “pipe” was created between the two
modules. That pipe was assigned an address. Both modules have to write and read from
the same pipe in order to communicate. That’s the first thing that was defined in our
code, the pipe address was set to “0”. Next, the channel at which the communicate with
the other module was defined. The NRF24L01 chip supports 126 different channels.
Both module uses the same channel in order to communicate with each other. In this
example channel 115 was used. Next, the maximum transmitting power that the module
offers was defined. It uses more power but extends the range of the communication.
Next, the data rate of the transmission was set it to 250Kbs which is the lowest possible
data rate in order to achieve better range. Then the pipe in order to write to it later was
opened.
In the loop function, the temperature and humidity values was read from the sensor, and
the data was saved to the data structure and then the data structure by writing the data
structure to the pipe was also sent. You can find the code attached in the link provided
below
STEP 8: THE RECEIVER CODE
The receiver code needs 4 libraries.
First, download the library for the display from this link:
DISPLAY Library: https://github.com/Bodmer/TFT_HX8357_Due
After downloading the library, open the User_Setup.h file, comment line 13 and
uncomment line 14 because the display is using the HX8357C driver. The library for
the Real Time clock, one for the DHT22 sensor and lastly one for the module was
downloaded.
NRF24L01: https://github.com/TMRh20/RF24 Wireless
DHT22: https://github.com/adafruit/DHT-sensor-library
DS3231: https://github.com/SodaqMoja/Sodaq_DS3231
Taking a look at the code, the first thing was to set the time to the real time clock module
because it was not already set. The current date and time entered then setRTCTime
function uncomment the setRTCTime call of the function on line 54 and then the
program was upload to Arduino. But, then setRTCTime call of the function was
commented again and uploaded to the Arduino once more.
The code of the receiver works like this. In the setup function all sensors were initialized
and the modules and the User Interface was printed. Then at the loop function new
wireless data was continuously check for. If there is new data, it will be saved in
variables and print them on the display. The temperature and the humidity is read once
a minute and only update the display if there is a change in the values. This way the
flickering of the display is reduced even more!
Step 9: Testing the Project
The last step to power up everything and see if everything is working as expected. If so,
at the top of the display the current date and time is displayed. At the bottom of the
display you can see the temperature and the humidity from both the remote and the local
sensor. The transmitter works at a range of one metres to five meters
Conclusions
Remote sensing instrument for collecting data for weather prediction was designed.
The system is simple to construct, portable, cost efficient, less power consuming and
reliable. The hardware design and the data acquisition system is yet to be
demonstrated due to financial constraint. The different weather parameter can be
collected over a period of time and then analysis can be drawn from this data
collected.
As the system does not use internet network, data transmission has low cost which
in terms provide large applications. It will have a positive impact on marine vessel
navigation and other field of life. There are some limitations such as the device may
not communicate to a long distance without powerful transceivers section. The
components may be damaged by rain or long time use. More sensors, data logging,
internet connection, wind speed sensors and so on can also be added. The Arduino
Due, have plenty of memory to implement many more things.
Differentiate between hydrometer and hygrometer
Hydrometer Hygrometer
Measures the specify gravity of a Measures humidity i.e. the amount of
liquid, which is an indication of the water vapour in the atmosphere e.g.
liquid’s density hair tension hygrometer,
psychrometer, electrical hygrometer
Differentiate between metrology and meteorology
Metrology Meteorology
It is the activity involved in measuring It is the science that deals with the
the accuracy, precision and study of the atmosphere and its
repeatability of a measurement phenomenon, especially with weather
system, usually involving comparison and weather forecasting.
to a standard but also between two or
more systems, or two or more
examples of a measuring system.
Differentiate between navigational instruments and meteorological instruments
Navigational instruments Meteorological instruments
These are instruments used for It is the activity involved in measuring
surveying surroundings, orienting the accuracy, precision and
present location, measuring distance on repeatability of a measurement
a chart or map and determining the best system, usually involving comparison
route for any voyage. Examples to a standard but also between two or
includes; Gyro compass, RADAR, more systems, or two or more
magnetic compass, Auto pilot, examples of a measuring system.
Automatic Radar Plotting Aid (ARPA), Examples are; thermometer,
Auto Tracking Aid (ATA), Echo Barometer, Sling psychrometer, Rain
Sounder, Electronic Chart Display
Gauge, Wind vane, Anemometer,
Information System (ECDIS), Auto
wind sock, hygrometer, weather
Identification System (AIS), Rudder
balloon
Angle Indicator, GPS Receiver,
Navigational Lights.
What are the impacts of weather environmental factors on navigation?
The impact of weather environmental factors on navigation are those weather that will
affect the navigation of vessels. The following are some of the impacts;
Long period infragravity waves and long swell.
Wind: mean wind velocity, gust velocity, wind shear, leeway, surface generated
currents, higher or lower sea levels from wind set up or set down, local sea state,
lower under keel clearance due to waves/swell.
Visibility: including fog, mist and heavy rain (humidity, air and sea temperature).
Visibility: day/night.
Barometric Pressure: low or high, can lead to sea levels that are temporarily
higher or depressed relative to the predicted tide level.