SOFTWARE IMPLEMENTATION 4

SOFTWARE IMPLEMENTATION
4.4 CONCERNING SOFTWARE ARDUINO IDE:The software that we’ve got used for programming is Arduino IDE.

4.4.1 WHAT’S ARDUINO SOFTWARE?Arduino in the main consists of a physical programmable printed circuit (often brought up as a microcontroller) and a bit of code, or IDE (Integrated Development Environment) that runs on your laptop and is employed to jot down and transfer coding system to the physical board.

The Arduino IDE is implausibly minimalistic, however it provides a near-complete setting for many Arduino-based comes. The highest menu bar has the quality choices, as well as “File” (new, load save, etc.), “Edit” (font, copy, paste, etc.), “Sketch” (for collection and programming), “Tools” (useful choices for testing projects), and “Help”. The center section of the IDE could be an easy text editor that wherever you’ll be able to enter the program code. rock bottom section of the IDE is devoted to associate output window that’s accustomed see the standing of the compilation, what quantity memory has been used, any errors that were found within the program, and numerous alternative helpful messages.

Figure 4.12 The Arduino IDE in its default state
4.4.2 CONCERNING COMPILER:Arduino surroundings performs some minor pre-processing to show your sketch into a C++ program initially. At the moment it gets passed to a compiler, that turns the human decipherable code into computer readable directions (or object files).

4.4.3 LIBRARIES:
Libraries give additional practicality to be used in sketches, for example in operating hardware or manipulating information. To utilize a library in an sketch, select it from the menu of Sketch > Import Library. This would embed one or more #include statements at the highest of the sketch and the library will be compiled along with your sketch. Also, as a result of libraries are transferred to the board alongside the sketch, they increment the measure of territory it takes up. If a library is not required by sketch now, then delete its #includestatements from your code.

4.4.4 SERIAL MONITOR:
It demonstrates a serial sent from the Arduino board over USB or serial association. To send data to the board, enter content and tap on the “send” catch or press enter. Settle on the baud from the menu that matches the speed go to Serial.begin in your outline. Note that on Windows, Macintosh or UNIX framework the board can reset (it can rerun your draw) after you associate with the serial screen. If you don’t mind take note of that the Serial Monitor doesn’t strategy administration characters; if your portray wants an entire administration of the serial correspondence with administration characters, you’ll have the capacity to utilize relate outside terminal program and interface it to the COM port selected to your Arduino board.

4.4.5 WHY ARDUINO IDE?
• Cross-platform – The Arduino code (IDE) runs on Macintosh OSX, Windows, and UNIX {operating system} operating systems. Whereas most of the microcontroller systems area unit restricted to Windows.• Simple ; clear programming surroundings – This code i.e. Arduino IDE is straightforward to use for beginners, it is versatile enough for advanced users to require advantage of moreover. It’s convenient for lecturers supported the process programming surroundings, thus students learning to program therein surroundings are going to be aware of however the Arduino IDE works.• Extensible and open supply code – The Arduino code is has open supply tools that area unit out there for extension by seasoned programmers. The language is expanded through libraries, there area unit C++ libraries and folks needing to perceive the technical details will build the leap from Arduino to the AVR C artificial language on that it’s primarily based. Similarly, you’ll add AVR-C code directly into your Arduino programs if you wish to.

4.4.6 SKETCH:A sketch is the name that Arduino uses for a program. It is the unit of code that is uploaded to run on an Arduino board.The first few lines of the how-do-you-do sketch are a comment:
/** Blink*/everything between the /* and */ is unnoticed by the Arduino once it runs the sketch (the * at the beginning of every line is merely there to form the comment look pretty, and is not required). It’s there for individuals reading the code: to elucidate what the program will, however it works, or why it’s written the approach. It is a sensible apply to comment your sketches, and to stay the comments up-to-date once you modify the code. This helps others to be told from or modify your code.There’s another vogue for brief, single-line comments. These begin with // and still the top of the road. For instance, within the line:
int ledPin = 13; // LED connected to digital pin 13the message “LED connected to digital pin 13” is a comment.

4.4.6.1 VARIABLES:
A variable could be a place for storing a bit of knowledge. It’s a reputation, a type, and a price. For instance, the road from the Blink sketch on top of declares a variable with the name ledPin, the sort int, an initial worth of thirteen. It’s getting used to point that Arduino pin the diode is connected to. Each time the name ledPin seems within the code, its worth are retrieved. During this case, the person writing the program might have chosen to not trouble making the ledPin variable and instead have merely written thirteen all over they required to specify a personal identification number. The advantage of employing a variable is that it’s easier to manoeuvre the diode to a unique pin: you merely have to be compelled to edit the one line that assigns the initial worth to the variable.4.4.6.2 FUNCTION:
A function (otherwise known as a procedure or sub-routine) is a named piece of code that can be used from elsewhere in a sketch. For example, here’s the definition of the setup() function from the Blink example:
void setup(){  pinMode(ledPin, OUTPUT);      // sets the digital pin as output}
The first line provides information about the function, like its name, “setup”. The text before and after the name specify its return type and parameters: these will be explained later. The code between the { and } is called the body of the function: what the function does.

You can call a function that’s already been defined (either in your sketch or as part of the Arduino language). For example, the line pinMode(ledPin, OUTPUT); calls the pinMode() function, passing it two parameters: ledPinand OUTPUT. These parameters are used by the pinMode() function to decide which pin and mode to set.

4.4.6.3 pinMode(), digitalWrite(), and delay():The pinMode() function configures a pin as either an input or an output. To use it, you pass it the number of the pin to configure and the constant INPUT or OUTPUT. 
digitalWrite(ledPin, HIGH);set the ledPin (pin 13) to HIGH, or 5 volts. Writing a LOW to pin connects it to ground, or 0 volts.

The delay() causes the Arduino to attend for the required range of milliseconds before continued on to consequent line. There are one thousand milliseconds in a very second, that the line:
delay(1000);
Creates a delay of 1 second.

4.4.6.4 setup() and loop():There are 2 special functions that are a region of each Arduino sketch: setup() and loop(). The setup() is termed once, once the sketch starts. It is a sensible place to try and do setup tasks like setting pin modes or initializing libraries. The loop() perform is termed over and over and is heart of most sketches. You need to include both functions in your sketch, even if you don’t need them for anything.

4.4.7 THE SIX BUTTONS:
While more advanced projects will take advantage of the built-in tools in the IDE, most projects will rely on the six buttons found below the menu bar.

FIGURE 4.13 THE BUTTON BAR
CHECK MARK:
For the verification of code the check mark is used. Click on this icon once you have written your code
ARROW:
To upload your code to the Arduino the arrow icon is used.

DOTTED PAPER: 
To create a new file the dotted paper icon is used.

UPWARD ARROW:
To open an existing Arduino project upward arrow icon is used.

DOWNWARD ARROW: 
To save the current file, the downward arrow is used.

SERIAL MONITOR:
The far right button is a serial monitor, which is useful for sending data from the Arduino to the PC for debugging purposes.

FLOWCHART:
2352675474980SENSOR1 OUTPUT
00SENSOR1 OUTPUT
3921125683768000198501020942300039211244627880002940684467741000198500946278800025501604858385SENSOR 3
00SENSOR 3
15735304858385SENSOR 2
00SENSOR 2
35794954858385SENSOR 4
00SENSOR 4
4687570190055500397065563246000044069005848350RX’B’
00RX’B’
43497506934200HEAD
PHONES
00HEAD
PHONES
22326606481445ARDUINO MEGA
00ARDUINO MEGA
218313036061650016637004092575TX’A1′
00TX’A1′
294068536061650025247604092575TX’A2′
00TX’A2′
347662535394900034766254092575TX’A3′
00TX’A3′
3579495190055400137540992837000146621423863300014662153135630001375410920115004362451900555ARDUINO UNO
00ARDUINO UNO
25247602682875Rx ‘A’
00Rx ‘A’
24218901599565Tx’A’
00Tx’A’

CHAPTER 5-RESULT
We were able to develop five different bands and one receiving unit for visually impaired people along with voice feedback .The device performs the following function:
The system can detect obstacles within the range of sensors.

This system can alert visually impaired person by voice feedback.
Voice feedback is in URDU.

The whole system is wireless so the user can carry it anywhere.

We were also able to achieve following objectives:
It is a portable device
Less costly
It works in a reasonable range
Its operates in less time
Rechargeable

CHAPTER 6-CONCLUSION
Blind people are frequently faced with the lack of approachable and appropriate signaling when visiting public buildings. Such difficulties often lead blind people to avoid spaces ideally designed for everyone. Thus, with the intention to promote the integration of blind people in society, we proposed a new approach.

A navigation system for visually impaired people has been designed, implemented, and assessed in both indoor and outdoor environments. So, related to our project we have come to the following conclusions:
Strengths
Weaknesses
Opportunities
Threats
6.1 STRENGTHS:
Our project has the following strong points/strengths:
It will be cheaper as compared to other devices for blind people.

It will help the blind people in the detection of obstacles.

It will not require any initialization as required while using Wi-Fi or Bluetooth modules.

It has sharp IR sensors which are more intelligent than ordinary sensors.

It will help the blind people to move with same ease as that of normal sighted people.

It facilitates easier communication in case of any emergency.

It is easily wearable.

It is a portable device.

Performs navigation both inside and outside the building.

It doesn’t require any GPS connection.

It is wireless.

6.2 WEAKNESSES/LIMITATIONS:
As it is said “nothing is perfect” so yes our project also has some weak points.

It is slightly bulky.

It is not very accurate.

It requires an external power source to power Arduino.

Obstacle detection relies on user’s abilities.

May present several errors on positioning related to space, crowd.

6.3 OPPORTUNITIES:
Our project has provided the opportunities for blind people. For example the people who are visually impaired and have skills as well but they are afraid to go out because they are not like normal sighted people so our project has provided them the opportunity to go out and start doing their desired work. As our device is easily wearable and has a light weight so they can easily wear it and can go out for teaching, restaurant, offices etc to do their desired job.

6.4 THREATS:
As the technology is growing so fast so there may be more advanced technology in future for blind people that will take our project down so we have strong threats with the advancement in technology.

CHAPTER 7-RECOMMENDATION
The scope of this project is quite vast and there exist many different ways in which it can be improved and worked upon:
8.1 SIZE:
The product size can be further decreased so that it can be worn on different parts of body.

8.2 RANGE:

Using other efficient sensors that provide wide range which can make this system more efficient.

8.3 VIBRATORS:
Vibrators can use as a feedback by using it efficiently so that this system would not be only used by blind person but also by blind and deaf person.

8.4 DUAL AUDIO:
The voice feedback is improved by introducing dual audio like feedback in ENGLISH and URDU both language.