Academia.eduAcademia.edu

Master 2 / DIPET II Memoir

2020, “Design and Implementation of an Ultrasonic Smart Stick with GPS Tracking and SMS Notification using Bluetooth Communication for Visually Impaired People in Cameroon

This end-of-year report discusses how this intelligent stick is built and how it will help visually impaired people in their everyday lives, and has as objective to permit visually impaired people in Cameroon to navigate freely using an Ultrasonic Smart Stick, to send SMS notifications to family members, to permit family members to tract them, to find the cane in the case of loss. As such we used the APTE (Application of Professional Method) based on the Value Analysis (VA) methodology which permitted us to do: need analysis by using a Horned Beast diagram and an Octopus diagram to define our needs and show the link between different elements of the project respectively, to do functional analysis using Function Analysis System Technic (FAST) diagrams to define our project’s functions and arrive at technological solutions, and to do structured analysis using SADT (Structured Analysis Design Technic) to show a model of our project. We used a breadboard to simulate our project and then we used a software ISIS in Proteus to show the pinout of our system and ARES, still in Proteus, to draw our Printed Circuit Board (PCB); also, we used Arduino IDE to program in C-language our two microcontroller boards Arduino Nano, and MIT App Inventor to program and generate the Android installation package (the apk file) of the Smart Stick Finder app, which will help the person with visual impairment to both locate his cane and after finding his cane, to mute it by sending vocal commands to the Arduino Nano through its Bluetooth device. After assembling our system, we did some tests and noticed that: the ultrasonic sensor has an absolute error of 1cm in its readings, the higher the water level the more sensitive the water sensor becomes in its readings, the motor and the buzzer vibrate and beep respectively as expected, the accuracy of GPS readings depend on the last time that the readings were taken, and the GSM module’s accuracy depends on the network. Our project permitted us to solve the problem of visual impairment using a Smart Stick and we can rightfully and joyously conclude that we had a 95% success.

UNIVERSITE DE DOUALA UNIVERSITY OF DOUALA ******************* ECOLE NORMALE SUPERIEURE D’ENSEIGNEMENT TECHNIQUE HIGHER TEACHER’S TECHNICAL TRAINING COLLEGE ******************* DIVISION DES TECHNIQUES INDUSTRIELLES INDUSTRIAL TECHNICS DIVISION ******************* DEPARTEMENT DE GENIE INFORMATIQUE COMPUTER ENGINEERING AND INFORMATION TECHNOLOGY DEPARTMENT ===================== Tel. : 699 753 095 /690 917 188 /696 937 955 Email : [email protected] ENSET AUTOROUTE DE LA COMPETENCE TECHNOLOGIQUE ET DE L’INNOVATION LE GENIE SANS FRONTIERE DESIGN AND IMPLEMENTATION OF AN ULTRASONIC SMART STICK WITH GPS TRACKING AND SMS NOTIFICATION USING BLUETOOTH COMMUNICATION FOR VISUALLY IMPAIRED PEOPLE IN CAMEROON End of Year Memoir of the Master program presented for the purpose of awarding the Diplôme de Professeur d’Enseignement Technique deuxième grade (DIPET II) Redacted and presented by: NKETCHOGUE MPATCHIE Henschel Option: INDUSTR IAL COMPUTING (G2I) Under the Supervisorship of Under the Mentorship of Prof. NNEME NNEME Léandre, Mr. NDZANA Jean Calvin, Lecturer at the Department of Electrical Engineering of ENSET Douala Associate Professor, HOD of Computer Engineering and Information Technology, and Director of ENSET Douala Academic Year: 2019/2020 UNIVERSITE DE DOUALA UNIVERSITY OF DOUALA ******************* ECOLE NORMALE SUPERIEURE D’ENSEIGNEMENT TECHNIQUE HIGHER TEACHER’S TECHNICAL TRAINING COLLEGE ******************* DIVISION DES TECHNIQUES INDUSTRIELLES INDUSTRIAL TECHNICS DIVISION ******************* DEPARTEMENT DE GENIE INFORMATIQUE COMPUTER ENGINEERING AND INFORMATION TECHNOLOGY DEPARTMENT ===================== Tel. : 699 753 095 /690 917 188 /696 937 955 Email : [email protected] ENSET AUTOROUTE DE LA COMPETENCE TECHNOLOGIQUE ET DE L’INNOVATION LE GENIE SANS FRONTIERE DESIGN AND IMPLEMENTATION OF AN ULTRASONIC SMART STICK WITH GPS TRACKING AND SMS NOTIFICATION USING BLUETOOTH COMMUNICATION FOR VISUALLY IMPAIRED PEOPLE IN CAMEROON End of Year Memoir of the Master program presented for the purpose of awarding the Diplôme de Professeur d’Enseignement Technique deuxième grade (DIPET II) Redacted and presented by: NKETCHOGUE MPATCHIE Henschel Option: INDUSTRIAL COMPUTING (G2I) Members of the jury: President: Dr. SOSSO MAYI Olivier Thiery Rapporteur: Mr. NDZANA Jean Calvin First Member: Mr. MBIHI DJOUMESSI Markov Second Member: Mr. HYOUBISSIE SILEDJE Giresse Academic Year: 2019/2020 DEDICATION DEDICATION TO MY FAMILY i ACKNOWLEDGEMENT ACKNOWLEDGEMENT At the time that this memoir was penned down, we acknowledge that many individuals aided us, and we want to hereby express our deepest gratitude. ➢ To the President of the jury and its members who despite their busy schedule accepted to preside our defence. ➢ To Prof. NNEME NNEME Léandre, Director of ENSET Douala, HOD of Computer Engineering and Information Technology, and our Supervisor, for his pieces of advice and his encouragement, during our entire training at his institution. ➢ To Mr. NDZANA Jean Calvin, our mentor, for his availability, critical analysis of our idea, and correcting our report. ➢ To Mr. BETOLOUM Patrick, Technician in Automation and Industrial IT for assisting us in the realisation of my project. ➢ To Dr. GAMOM NGOUNOU EWO Roland Christian, for admitting the pertinence of this project and enlightening us on other aspects of this project. ➢ To my lovely sisters, Ms. NGUEYEP MPATCHIE Elsa and Ms. KEMAJOU MPATCHIE Blessing, for proof-reading my work. Last but not least, I would like to thank all those who both directly and indirectly helped my project come to fruition. ii FOREWORD FOREWORD ENSET Douala is a higher teaching institution in the University of Douala created in Cameroon by the ministerial degree No 260/CAB/PR of August 10, 1979. It has three key goals: ➢ To train teachers to teach in GTHS in Cameroon; ➢ To reuse teachers by perfecting their teaching personnel in the continuous training and; ➢ To encourage research skills in pedagogy. ENSET Douala, as a technological institution, adopted the LMD system in 2007, which focalises on knowledge, know-how, and expertise. Hence, it has placed a peculiar interest in the professionalisation and the competence of its teachers in order to give an opportunity to teachers, not only to be pedagogues, but also to be performant in the industrial sector. At the end of their respective training, each student-teacher has to present a report (memoir) according to the ministerial degree No 03/BU of November 26, 1985. ENSET Douala has three cycles: ➢ First cycle (Level 100 to Level 300) sanctioned by a DIPET I; ➢ Second cycle (Level 400 and 500) sanctioned by a DIPET II and; ➢ Third cycle sanctioned by a Doctorate’s degree or PhD. This memoir has to be compatible with the study course of the student-teacher. The objective here is to ignite in the yet-to-be graduates, in addition to the skills of analysis, innovation, conception, simulation and deduction, the skill of research. With this in mind, we chose the theme: “Design and Implementation of an Ultrasonic Smart Stick with GPS Tracking and SMS Notification using Bluetooth Communication for Visually Impaired People in Cameroon.” The primary benefactors of this project are visually impaired Cameroonians in particular, and all visually impaired people in the world in general; even academic and professional institutions can benefit from this project. iii ABSTRACT ABSTRACT This end-of-year report discusses how this intelligent stick is built and how it will help visually impaired people in their everyday lives, and has as objective to permit visually impaired people in Cameroon to navigate freely using an Ultrasonic Smart Stick, to send SMS notifications to family members, to permit family members to tract them, to find the cane in the case of loss. As such we used the APTE (Application of Professional Method) based on the Value Analysis (VA) methodology which permitted us to do: need analysis by using a Horned Beast diagram and an Octopus diagram to define our needs and show the link between different elements of the project respectively, to do functional analysis using Function Analysis System Technic (FAST) diagrams to define our project’s functions and arrive at technological solutions, and to do structured analysis using SADT (Structured Analysis Design Technic) to show a model of our project. We used a breadboard to simulate our project and then we used a software ISIS in Proteus to show the pinout of our system and ARES, still in Proteus, to draw our Printed Circuit Board (PCB); also, we used Arduino IDE to program in C-language our two microcontroller boards Arduino Nano, and MIT App Inventor to program and generate the Android installation package (the apk file) of the Smart Stick Finder app, which will help the person with visual impairment to both locate his cane and after finding his cane, to mute it by sending vocal commands to the Arduino Nano through its Bluetooth device. After assembling our system, we did some tests and noticed that: the ultrasonic sensor has an absolute error of 1cm in its readings, the higher the water level the more sensitive the water sensor becomes in its readings, the motor and the buzzer vibrate and beep respectively as expected, the accuracy of GPS readings depend on the last time that the readings were taken, and the GSM module’s accuracy depends on the network. Our project permitted us to solve the problem of visual impairment using a Smart Stick and we can rightfully and joyously conclude that we had a 95% success. Keywords: Smart stick, Visually impaired people, GPS, GSM, Bluetooth, Ultrasonic Sensor. iv RÉSUME RÉSUMÉ Ce mémoire discute la conception et la réalisation d’une cane intelligente pour les malvoyants et a pour objectif d’aider le malvoyant à s’intégrer dans la communauté facilement en lui permettant de se mouvoir aisément sans aucune assistance, d’envoyer des notifications à sa famille en cas de danger, de localiser celui-ci, et de retrouver sa cane en cas de perte. Nous avons utilisé la méthode APTE (Application des Techniques d’Entreprise) qui permet d’analyser les besoins de notre système grâce au diagramme bête à corne, de voir la relation entre les différents éléments du système grâce au diagramme pieuvre, de faire l’analyse fonctionnelle à travers les diagrammes FAST (Analyse Fonctionnelle du System Technique) et de faire l’analyse structurelle à travers les diagrammes SADT (Technique Structurée d’Analyse et de Modélisation). Ensuite nous avons simulé notre système sur une plaque à essai et nous avons fait la programmation des cartes Arduino Nano dans l’interface de développement intégré d’Arduino et la programmation des applications Android sur MIT App Inventor. Après avoir vérifié qu’il fonctionne, nous avons sorti le typon du système, l’imprimer sur papier glacé, puis l’avons transféré sur une plaque cuivrée en utilisant un fer à repasser et de l’acide et l’eau oxygénée pour laisser les bonnes pistes. Le soudage des composants sur la plaque et le montage de la maquette étaient les étapes suivantes. Ensuite est venu le test qui a montré que les capteurs d’ultrason avaient une erreur absolue de 1cm, le capteur d’eau était plus sensible lorsqu’il atteint des valeurs grandes et la géolocalisation est plus fiable si le temps entre les lectures est moindre. Notre projet permet ainsi de résoudre la problématique à savoir, d’aider les malvoyants à se mouvoir aisément, et par conséquent nous pouvons dire, avec fierté et certitude, que nous avons obtenu une réussite de 95%. Mots-clés: Cane intelligente, Malvoyant, GPS, GSM, Bluetooth, Capteur d’ultrason. v LIST OF ABBREVIATIONS LIST OF ABBREVIATIONS AVR…........ Alf and Vegard's RISC Processor I2C/IIC…... Inter-Integrated Circuit USART…... Universal Synchronous/Asynchronous Receiver/Transmitter ENSET…... Ecole Normale Supérieure d’Enseignement Technique GPRS….... General Packet Radio Service GPS…….... Global Positioning System GSM……... Global System for Mobile communications GTHS….... Government Technical High School IDE…….... Integrated Development Environment LED……… Light Emitting Diode LMD……... License/Bachelor’s degree—Masters—Doctorate MP3……… Moving Pictures Experts Group Layer 3 AREF……. Analogue REFerence PIC………. Programmable Interface Controller RF………. Radio Frequency SMS……… Short Messaging System WHO……. World Health Organisation Wi-Fi……. Wireless Fidelity FTDI……. Future Technology Devices International PCB……… Printed Circuit Board SADT……. Structured Analysis Design Technic FAST……. Function Analysis System Technic SPI………. Serial Peripheral Interface APTE……. Application of Professional Method VA……...... Value Analysis MOSI……. Master Out Slave In MISO……. Master In Slave Out MODEM… MOdulation and DEModulation vi LIST OF TABLES LIST OF TABLES Table I.1 Comparative Analysis of Navigational Tools ........................................................... 12 Table II.1 Function Identification ............................................................................................. 17 Table II.2 Function Characterisation ....................................................................................... 19 Table II.3 Function Definition ................................................................................................... 21 Table III.1 Arduino Sensory Pin Configuration ...................................................................... 28 Table III.2 Arduino Tracking Pin Configuration .................................................................... 29 Table III.3 Ultrasonic Sensor Pin Specification ....................................................................... 32 Table III.4 Ultrasonic Pin Configuration ................................................................................. 32 Table III.5 Water Sensor Specifications ................................................................................... 33 Table III.6 Water Sensor Pin Configuration ............................................................................ 34 Table III.7 Buzzer Pin Definition .............................................................................................. 36 Table III.8 Buzzer Pin Configuration ....................................................................................... 36 Table III.9 Buzzer Pin Specifications ........................................................................................ 36 Table III.10 Motor Pin Configuration ...................................................................................... 38 Table III.11 Motor Specifications .............................................................................................. 38 Table III.12 HC06 Pin Configuration ....................................................................................... 49 Table III.13 HC06 Specifications............................................................................................... 49 Table III.14 Project Current Consumption.............................................................................. 54 Table III.15 Arduino Libraries .................................................................................................. 64 Table III.16 Arduino Functions ................................................................................................. 67 Table IV.1 Obstacle Detection Results (a) ................................................................................ 78 Table IV.2 Obstacle Detection Results (b) ................................................................................ 79 Table IV.3 Water Level Detection Results (a) .......................................................................... 80 Table IV.4 Water Level Detection Results (b).......................................................................... 81 Table IV.5 Sensory Module Detection Results ......................................................................... 81 Table IV.6 List and Prices of Smart Stick Components.......................................................... 86 Table IV.7 Classes of Software Projects ................................................................................... 88 Table IV.8 LOC Calculation ...................................................................................................... 88 Table IV.9 Cost of Software Development ............................................................................... 89 vii LIST OF FIGURES LIST OF FIGURES Figure I.1 White Cane .................................................................................................................. 2 Figure II.1 Horned Beast Diagram............................................................................................ 15 Figure II.2 Octopus Diagram ..................................................................................................... 18 Figure II.3 Lost Cane FAST Diagram ...................................................................................... 22 Figure II.4 Tracking FAST Diagram ........................................................................................ 22 Figure II.5 Lost Cane FAST Diagram Sensory FAST Diagram ............................................ 23 Figure II.6 Sensory SADT Diagram .......................................................................................... 24 Figure II.7 Tracking SADT Diagram........................................................................................ 25 Figure III.1 Synoptic Diagram................................................................................................... 26 Figure III.2 Arduino Nano Board ............................................................................................. 27 Figure III.3 HCSR04 Ultrasonic Sensor ................................................................................... 30 Figure III.4 Obstacle Detection ................................................................................................. 31 Figure III.5 Water Sensor .......................................................................................................... 33 Figure III.6 Active (left) and Passive (right) Buzzers .............................................................. 35 Figure III.7 Mode of Operation of Buzzer................................................................................ 36 Figure III.8 DC Motor ................................................................................................................ 37 Figure III.9 Motor Construction ............................................................................................... 37 Figure III.10 Motor Pinout ........................................................................................................ 38 Figure III.11 SIM808 Front View.............................................................................................. 39 Figure III.12 SIM808 Rear View ............................................................................................... 39 Figure III.13 SIM808 Label ....................................................................................................... 40 Figure III.14 Mode of Operation of GPS .................................................................................. 41 Figure III.15 Segments of GPS .................................................................................................. 42 Figure III.16 GPS Satellite Relative Positioning Method........................................................ 43 Figure III.17 Time Division Multiple Access Technique ......................................................... 45 Figure III.18 HC06 Module ....................................................................................................... 48 Figure III.19 Circuit Diagram of Switches ............................................................................... 50 Figure III.20 Switch Configuration by Function ..................................................................... 51 Figure III.21 Push Button .......................................................................................................... 52 viii LIST OF FIGURES Figure III.22 Single Pole Single Throw Switch ........................................................................ 52 Figure III.23 Circuit Diagram of a Single Pole Single Throw Switch.................................... 53 Figure III.24 Power Bank........................................................................................................... 53 Figure III.25 ClickCharts Interface .......................................................................................... 55 Figure III.26 Sensory Module Flowchart ................................................................................. 56 Figure III.27 Tracking Module Flowchart ............................................................................... 57 Figure III.28 Proteus 8.8 Home Page for Windows ................................................................. 58 Figure III.29 Circuit Diagram ................................................................................................... 59 Figure III.30 3D View (Proteus) ................................................................................................ 59 Figure III.31 PCB (All Layers) .................................................................................................. 60 Figure III.32 PCB (Bottom Copper) ......................................................................................... 60 Figure III.33 Shining PCB ......................................................................................................... 61 Figure III.34 PCB Design ........................................................................................................... 61 Figure III.35 Bottom Copper PCB Layer ................................................................................. 62 Figure III.36 Top Copper PCB Layer....................................................................................... 62 Figure III.37 Smart Stick Control Centre ................................................................................ 63 Figure III.38 Arduino Desktop IDE .......................................................................................... 64 Figure III.39 Sensory Module Flowchart ................................................................................. 65 Figure III.40 Sensory Module Code (Extract) ......................................................................... 65 Figure III.41 Tracking Module Flowchart ............................................................................... 66 Figure III.42 Tracking Module Code (Extract) ....................................................................... 66 Figure III.43 Use Case Diagram ................................................................................................ 69 Figure III.44 Activity Diagram .................................................................................................. 69 Figure III.45 Sequence Diagram ............................................................................................... 70 Figure III.46 App Inventor Designer ........................................................................................ 72 Figure III.47 App Inventor Blocks Editor ................................................................................ 72 Figure III.48 Smart Stick Finder Flowchart ............................................................................ 73 Figure III.49 Launch On Boot App ........................................................................................... 74 Figure III.50 Launch On Boot Interface................................................................................... 74 Figure III.51 Smart Stick Finder Disconnected and Connected ............................................ 75 Figure IV.1 Water sensor expected readings ........................................................................... 77 ix LIST OF FIGURES Figure IV.2 Obstacle Detection Results .................................................................................... 79 Figure IV.3 Water Level Detection Results .............................................................................. 80 Figure IV.4 First Tracking Result ............................................................................................. 82 Figure IV.5 Second Tracking Result ......................................................................................... 83 Figure IV.6 Fourth Tracking Result ......................................................................................... 84 Figure IV.7 Android App Error Message................................................................................. 85 Figure IV.8 Android App Results from Serial Monitor .......................................................... 85 x SUMMARY SUMMARY DEDICATION................................................................................................................................ i ACKNOWLEDGEMENT ............................................................................................................ ii FOREWORD................................................................................................................................ iii ABSTRACT .................................................................................................................................. iv RÉSUMÉ ....................................................................................................................................... v LIST OF ABBREVIATIONS ..................................................................................................... vi LIST OF TABLES ...................................................................................................................... vii LIST OF FIGURES ................................................................................................................... viii SUMMARY .................................................................................................................................. xi GENERAL INTRODUCTION .................................................................................................... 1 I LITERATURE REVIEW .......................................................................................................... 2 I.A LIMITATIONS OF EARLY NAVIGATIONAL TOOLS ............................................. 2 I.B HISTORICAL BACKGROUND OF INTELLIGENT BLIND STICKS IN THE WORLD ..................................................................................................................................... 3 I.B.1 Ultrasonic Smart Stick for Visually Impaired People .............................................. 3 I.B.2 Ultrasonic Blind Walking Stick with Voice Playback ............................................... 4 I.B.3 Smart Blinding Stick with Holes, Obstacles and Ponds Detector Based on Microcontroller ...................................................................................................................... 4 I.B.4 Ultrasonic Blind Walking Stick .................................................................................. 5 I.B.5 Ultrasonic and Voice Based Walking Stick for Blind People ................................... 7 I.B.6 Smart Walking Stick for Visually Impaired People Using Ultrasonic Sensors and Arduino ................................................................................................................................... 7 I.B.7 Intelligent stick for blind friends ................................................................................ 8 I.B.8 Smart Electronic Walking Stick for Blind People ..................................................... 9 I.B.9 Ultrasonic Blind Stick with GPS Tracking System ................................................... 9 I.B.10 Ultrasonic Blind stick With GPS Tracking............................................................ 10 I.B.11 Electronic Stick for Visually Impaired People with buzzer alert ........................ 10 I.B.12 A Novel approach of bind stick based on Ultrasonic Sensors .............................. 11 I.C LIMITATIONS OF PRESENT NAVIGATIONAL TOOLS ....................................... 11 I.D COMPARISON OF PRESENT NAVIGATIONAL TOOLS ....................................... 12 II METHODOLOGY ................................................................................................................. 14 II.A WHAT IS APTE? ............................................................................................................ 14 II.B NEED ANALYSIS ........................................................................................................... 14 II.B.1 Need Identification .................................................................................................... 15 xi SUMMARY II.B.2 Need Validation ......................................................................................................... 15 II.C FUNCTIONAL NEED ANALYSIS............................................................................... 16 II.C.1 Definition ................................................................................................................... 16 II.C.2 Function Specifications ............................................................................................ 16 II.C.3 Function Identification ............................................................................................. 17 II.C.4 Octopus Diagram ...................................................................................................... 17 II.C.5 Function Characterisation ....................................................................................... 18 II.C.6 Results ........................................................................................................................ 19 II.D TECHNICAL-FUNCTIONAL ANALYSIS ................................................................. 19 II.D.1 Definition ................................................................................................................... 19 II.D.2 Components of a FAST Diagram ............................................................................ 20 II.D.3 Function Definition ................................................................................................... 21 II.D.4 FAST Diagrams ........................................................................................................ 21 II.E STRUCTURED ANALYSIS .......................................................................................... 23 II.E.1 Definition ................................................................................................................... 23 II.E.2 SADT Diagrams ........................................................................................................ 24 III DESIGN AND IMPLEMENTATION................................................................................. 26 III.A DESIGN OF THE SMART STICK ............................................................................. 26 III.A.1 SYNOPTIC DIAGRAM ......................................................................................... 26 III.A.2 FONCTION OF EACH PART .............................................................................. 26 III.B IMPLEMENTATION ................................................................................................... 54 III.B.1 SMART STICK ....................................................................................................... 54 III.B.2 SMART STICK FINDER ....................................................................................... 68 IV TESTS, RESULTS AND COSTS ......................................................................................... 76 IV.A TESTS ............................................................................................................................. 76 IV.A.1 SENSORY MODULE ............................................................................................. 76 IV.A.2 TRACKING MODULE .......................................................................................... 77 IV.A.3 ANDROID APP ....................................................................................................... 77 IV.B RESULTS AND COMMENTS ..................................................................................... 78 IV.B.1 SENSORY RESULTS ............................................................................................. 78 IV.B.2 TRACKING RESULTS .......................................................................................... 82 IV.B.3 ANDROID APP RESULTS .................................................................................... 84 IV.C DIFFICULTIES ENCOUNTERED ............................................................................. 85 IV.D ESTIMATION OF THE COST OF OUR PROJECT ............................................... 86 IV.D.1 COST ESTIMATION OF THE SMART STICK ................................................ 86 IV.D.2 COST ESTIMATION OF SOFTWARE DEVELOPMENT .............................. 87 IV.D.3 TOTAL COST ESTIMATION .............................................................................. 89 IV.E FUTURE SCOPE ........................................................................................................... 90 xii SUMMARY GENERAL CONCLUSION....................................................................................................... 92 REFERENCES............................................................................................................................... I TABLE OF CONTENTS ........................................................................................................... IV LIST OF APPENDIXES ............................................................................................................ IX Appendix 1: Arduino Nano Technical Specifications .......................................................... IX Appendix 2: Arduino Nano Pinout ......................................................................................... X Appendix 3: Arduino Nano Pin Layout ................................................................................ XI Appendix 4: Arduino Nano Pin Configuration .................................................................. XII xiii GENERAL INTRODUCTION GENERAL INTRODUCTION Today’s world is moving very fast but there are some parts of the society which are lagging behind because of some disabilities. The sense of sight is one of the best gift human beings have received so far as 83% of human information from the environment is via sight. It is the basic sense which provides independence in attaining our goals, fulfilling our dreams in life. But this sense is unfortunately totally or partially absent in some people in our society referred in this memoir as visually impaired people―including the blind. Nowadays through technology we can develop equipments that can ease peoples’ lives. The use of technology in facilitating blind people is one of the important research areas which need exploration. This is because it is unsafe for blind people to walk freely outdoors or in areas to which they are not familiar. The objective of this project is to provide an improved stick capable of solving most of, if not all, the limitations of a traditional walking cane. To avoid uncomfortable walking experience and for the visually impaired people to gain personal independence so that they can move from one place to another easily and safely, we have designed an intelligent/smart electronic walking stick for them. If there are any obstacles, it will alert the blind person to avoid that obstacle by vibrating and beeping continuously until the obstacle is no more in his trajectory. The stick is equipped with an SOS button which when pressed, sends the location of the visually impaired person to his emergency contact list. In addition, family members can request the location of their visually impaired relative by sending an SMS containing a code. Last but not least, the user can find his lost cane by sending vocal commands in the Android app installed in his smartphone. This end of year report is organized subdivided into four chapters. The first chapter covers a literature review of smart stick projects. The second chapter presents the methodology used to design our cane. The third chapter, demonstrates how we designed and assembled our cane. And the last chapter shows the results of our tests, the cost of the cane and our project, the difficulties we encountered, and our future works. So, let’s commence with examining a list of intelligent canes developed around the world. 1 CHAPTER I LITERATURE REVIEW I LITERATURE REVIEW Visual impairment is a decreased ability to see to a degree that causes problems not fixable by usual means, like eyeglasses. Some also include those who have a decreased ability to see because they do not have access to glasses. The term blindness is used for complete or nearly complete vision loss. Visual impairment may cause difficulties with normal daily activities such as driving, reading, socializing, and walking. Figure I.1 White Cane In 2019, the WHO estimated that at least 2.2 billion people have a vision impairment or blindness, of whom at least 1 billion have a vision impairment that could have been prevented or has yet to be addressed [1]. That means that at least 28% of the world’s population are visually impaired. Either no national survey of blindness has been undertaken in Cameroon yet, or we simply couldn’t find one online. With a population of some 26.5 million peoples1, estimates from the WHO suggest that approximately 1% of the population of Cameroon, and 9% of people having an age of 50 years and above, are blind [2]. That information is of 2002 but we are almost two decades later. Who knows, that figure has probably skyrocketed! I.A LIMITATIONS OF EARLY NAVIGATIONAL TOOLS In Cameroon, blind people still use traditional walking sticks to navigate around their environment. Hence, they are exposed to some difficulties in their mobility, for example, to avoid ponds and other obstacles. 1 Based on worldometer.info the current population of Cameroon is 26,495,721 as of Sunday, June 7, 2020. 2 CHAPTER I LITERATURE REVIEW In developed countries and in some few developing countries, visually impaired people use guide dogs. But it can be costly to take care of the needs of a guide dog. More to that, he needs to be in a training phase to understand the visually impaired better. And last but not least, he can pass away. These are just some serious limitations to having guide dogs. What happens if they have lost their way? Is it possible to ask for help? Is it possible for their family members to reach them? What happens if his cane is lost? Traditional canes answer no to that. I.B HISTORICAL BACKGROUND OF INTELLIGENT BLIND STICKS IN THE WORLD The first study on a smart stick was in 2011 by Shruti Dambhare and A. Sakhare. They presented a theoretical model and a system concept to provide a smart electronic aid for blind people. The system is intended to provide overall measures of artificial vision and object detection. Other reports add some techniques to develop the work of this study and some of them were listed below. Let’s present a number of intelligent blind sticks that some scientists have designed from 2015-2019. I.B.1 ULTRASONIC SMART STICK FOR VISUALLY IMPAIRED PEOPLE Shubham Adhe, Sachin Kunthewad, Preetam Shinde, and V. S. Kulkarni, from the E&TC Department Rajarshi Shahu College of Engineering, in Pune, Maharashtra, India, developed an “Ultrasonic Smart Stick for Visually Impaired People.” The blind stick is integrated with ultrasonic sensor along with light and water sensing. Their proposed project first uses ultrasonic sensors to detect obstacles ahead using ultrasonic waves. On sensing obstacles, the sensor passes this data to the microcontroller. The microcontroller then processes this data and calculates if the obstacle is close enough. If the obstacle is not that close the circuit does nothing. If the obstacle is close the microcontroller sends a signal to sound a buzzer. It also detects and sounds a different buzzer if it detects water and alerts the blind. One more feature is that it allows the blind to detect if there is light or darkness in the room. The system has one more advanced feature integrated to help the blind find their stick if they forget 3 CHAPTER I LITERATURE REVIEW where they kept it. A wireless RF based remote is used for this purpose. Pressing the remote button sounds a buzzer on the stick which helps the blind person to find their stick [3]. I.B.2 ULTRASONIC BLIND WALKING STICK WITH VOICE PLAYBACK Vijayalakashmi Badre, Roma Chhabria, Tanmay Kadam, Kritika Karamchandani from the Department of Electronics and Telecommunication, Thadomal Shahani Engineering College, in Mumbai-50, designed an “Ultrasonic Blind Walking Stick with Voice Playback” which targets at providing accurate detection of objects and guiding persons accordingly. They used a PIC microcontroller to do calculations automatically at high speed with great accuracy. When they combined the power of the latter with a pair of ultrasonic wave transmitter and receiver, they could use PIC’s accurate time measurement feature to measure the time it takes for the sound waves to reach an obstacle and bounce back to the receiver. By quick and fast calculations, they immediately found the distance. And if the object is very close then the user can be alerted with a voice playback and vibration on the stick. MP3 audio module is used for voice playback. Their project focuses on obstacle detection, pit detection and finding location in order to reduce navigation difficulties for visually impaired people [4]. I.B.3 SMART BLINDING STICK WITH HOLES, OBSTACLES AND PONDS DETECTOR BASED ON MICROCONTROLLER Mohammed Azher Therib, from the Al-Furat Al-Awsat Technical University/Engineering Technical College of Al-Najaf, worked on the theme “Smart Blinding Stick with Holes, Obstacles and Ponds Detector Based on Microcontroller.” The smart blind stick has three primary functions. The first proposed is accomplished by putting the ultrasonic sensor in a measured angle of about 40o on a suitable blind stick to detect if there is a hole or stair in front of blind at about 48 cm distance to prevent him from falling and as a result, may be causing many injuries. The second one uses a moisture sensor which is used to measure the degree of the land/soil moisture in front of the blind and alert him when that degree exceeds a predefined level that may cause his feet to be wet. While the third one is made by using another ultrasonic sensor on the stick to turn an alarm ON when there is an obstacle, person, or wall at a small distance about 50 cm near him to prevent a collision accident. The stick is implemented practically using four leg blind cane, 4 CHAPTER I LITERATURE REVIEW Arduino microcontroller and the three sensors. In addition to the three buzzers and one vibrator motor, three LEDs on the stick will turn on when such problems occur [5]. I.B.4 ULTRASONIC BLIND WALKING STICK Deepika S., Divya B. E., Harshitha K., Komala B. K., Shruthi P. C., from the Department of Telecommunication, Dr. Ambedkar Institute of Technology, worked on a “Ultrasonic Blind Walking Stick.” In this system the ultrasonic sensors are used to sense the obstacle (if there is any). The sensors are set to a threshold limit; if any obstacle is found within that range, it gives beep speech through speaker. Obstacles found in different directions are indicated with different pattern beep and speech (Top, Middle, Pit and Water) to identify them easily. The ultrasonic sensors emit soundscapes with frequency lying in ultrasonic spectrum (>20kHz), which is inaudible to human ears. The sound waves hit the obstacle and bounces back to detectors. The ultrasonic sensor is used for detecting objects/obstacles which are in front whereas two IR sensors are used to detect the obstacles on the sides. After that, the distance of the obstacle is calculated. The signal is then sent to the microcontroller which reads the distance of the obstacle using sensor and also commands the buzzer. The buzzer beeps once for left side obstacle, twice for front obstacles and thrice for right obstacles. The vibrator is also connected in parallel with the buzzer for vibration sensation. The light sensor gives a feedback about the environment, that is it informs the user if it's day or night or if a particular place is dark or bright. The moisture sensor is used to detect water pits or any puddles if present. All these signals are then sent to the microcontroller which in turn sends signal to the buzzer thereby alerting the user. The main component of this system is the RF module which is used to find the stick if it is misplaced around. The transmitter keeps on sending signals upon pressing a key. These signals are received by the receiver which then sends signals to the microcontroller which in turn causes the beeping of the buzzer [6]. Abhishek Bhokare, Amruta Amberkar, Anvesh Gawde, Pratham Kale, and Abhijeet Pasi, of the Department of Information Technology and the Shah & Anchor Kutchhi Polytechnic, spent time on the same theme. They decided to modify and enhance the walking cane, since the blind are only able to detect objects by touch or by cane. The user sweeps the cane back and forth in front of them and when the cane hits an object or falls off of the edge of a stair, the user then 5 CHAPTER I LITERATURE REVIEW becomes aware of the obstacle – sometimes too late. They added ultrasonic sensors at specific positions to the cane that provided information about the environment to the user through audio feedback. The main component of this system is the RF module which is used to find the stick if it is misplaced around [7]. Other people like Yash Bais, Piyush Sharma, and S. V. Dhole, from the Electronics Department, Bharati Vidyapeeth (Deemed to Be University) and College of Engineering Pune, Maharashtra, India, worked on the same project. They proposed an advanced blind stick that allows visually challenged people to navigate with ease using advanced technology. The blind stick is integrated with three ultrasonic sensors for height, breadth and obstacle. Their proposed project first uses ultrasonic sensors to detect obstacles ahead using ultrasonic waves. On sensing obstacles, the sensor passes this data to the microcontroller. The microcontroller then processes this data and calculates if the obstacle distance is close enough. If the obstacle is not that close the circuit does nothing. If the obstacle is close, the microcontroller sends a signal through Bluetooth to the application to sound a voice alert. One more feature is that it allows the blind to detect if there is light or darkness in the room. The system has one more advanced feature integrated to help the blind find their stick if they forget where they kept it. A wireless Bluetooth based remote is used for this purpose. Thus, this system allows for obstacle detection as well as finding stick if misplaced by disabled people [8]. Yet another group of people participated on the same project. They are Mrudula Oruganti, Sai Charith Vadla, Vamshi Yellenki, Nikhil Shriyans, and Rushikesh. They have proposed an innovative blind stick that allows visually challenged people to navigate with ease using advanced technology. The blind stick is integrated with ultrasonic sensor along with light and water sensing. Their project first uses ultrasonic sensors to detect obstacles ahead using ultrasonic waves. On sensing obstacles, the sensor passes this data to the microcontroller. The microcontroller then processes this data and calculates if the obstacle is close enough. If the obstacle is not that close the circuit does nothing. If the obstacle is close, the microcontroller sends a signal to sound a buzzer. It also detects and sounds a different buzzer if it detects water and alerts the blind. One more feature is that it allows the blind to detect if there is light or darkness in the room. A GSM is fixed in the stick which helps a phone to get connected via Bluetooth, which helps in receiving 6 CHAPTER I LITERATURE REVIEW voice commands such as directions. Thus, this system allows for obstacle detection visually disabled people [9]. I.B.5 ULTRASONIC AND VOICE BASED WALKING STICK FOR BLIND PEOPLE D. Sekar, S. Sivakumar, P. Thiyagarajan, R. Premkumar, M. Vivek Kumar, of the Sri Eshwar College of Engineering, came up with an idea: “Ultrasonic and Voice Based Walking Stick for Blind People.” This system presents a concept to provide a smart electronic aid for blind people. The system is intended to provide overall measures artificial vision and object detection, real time assistance via GPS. The aim of the overall system is to provide a low cost and efficient navigation aid for blind people which gives a sense of artificial vision by providing information about the environmental scenario of objects around them. In this system they are using the Ultrasonic sensor, temperature sensor, humidity sensor, GPS receiver, Vibrator, Voice synthesizer, speaker or headphone, microcontroller and battery [10]. I.B.6 SMART WALKING STICK FOR VISUALLY IMPAIRED PEOPLE USING ULTRASONIC SENSORS AND ARDUINO Dada Emmanuel Gbenga, Arhyel Ibrahim Shani, and Adebimpe Lateef Adekunle, from the Department of Computer Engineering and Department of Computer Science of the University of Maiduguri, Maiduguri, Borno State, Nigeria, and Emmanuel Alayande College of Education, Oyo, Oyo State, Nigeria, designed a “Smart Walking Stick for Visually Impaired People Using Ultrasonic Sensors and Arduino.” Their study proposes a new technique for designing a smart stick to help visually impaired people that will provide them navigation. The conventional and archaic navigation aids for persons with visual impairments are the walking cane (also called white cane or stick) and guide dogs which are characterized by many imperfections. The most critical shortcomings of these aids include: essential skills and training phase, range of motion, and very insignificant information communicated. Their approach modified this cane with some electronics components and sensors. The ultrasonic sensors, water sensor, buzzer, and RF Transmitter/Receiver are used to record information about the presence of obstacles on the road. Ultrasonic sensors have the capacity to detect any obstacle within the distance range of 2cm7 CHAPTER I LITERATURE REVIEW 450cm. Therefore, whenever there is an obstacle in this range it will alert the user. A water sensor is used to detect if there is water in the user’s path. Most blind guidance systems use ultrasound because of its immunity to the environmental noise. With the rapid advances of modern technology both in hardware and software it has become easier to provide intelligent navigation system to the visually impaired [11]. I.B.7 INTELLIGENT STICK FOR BLIND FRIENDS Uruba Ali, Hoorain Javed, Rekham Khan, Fouzia Jabeen, Noreen Akbar, from the Department of Computer Science, Shaheed Benazir Bhutto Women University, Pakistan, designed an “Intelligent stick for blind friends.” They proposed a design of a blind stick which is based on AI which can sense the obstacles in different directions. It helps the user to select the path free of any obstacle. The directions about right path are given via audio voice. Blind sticks have been designed earlier which can detect obstacles coming in front of blind people’s way, but they were not designed to inform about the size of obstacles or the distance from obstacles. The direction of their research effort is to keep the blind friend informed about the size and distance from obstacle, i.e. is it near or far? Based on this information, recommendation about directions in a path to follow are given. Intelligent blind stick facilitates our blind friends’ lives and gives them protection. AI based blind stick is an innovative stick designed for visually disabled people in order to provide them improved navigation and helping them in making smart decisions about the selection of path that has no obstacle till a certain distance. Our search space involves searching a best suited path for a blind friend by using three ultrasonic sensors from front, left and right that will search the best path which does not have an obstacle at a certain distance. These sensors sense the obstacles through ultrasonic waves and direct the blind friend to the direction that is clear of any obstruction to a certain distance. The knowledge is acquired through three sensors that senses the distance of obstacle. This sensor feedback is compiled and through audio facility communicated to blind person which is then used for decision making in selecting the path having no obstruction [12]. 8 CHAPTER I LITERATURE REVIEW I.B.8 SMART ELECTRONIC WALKING STICK FOR BLIND PEOPLE G. J. Pauline Jothi Kiruba1, T. C. Mohan Kumar, S. Kavithrashree, G. Ajith Kumar, from the Department of EEE, INFO Institute of Engineering, Tamilnadu, India, produced a “Smart Electronic Walking Stick for Blind People.” Basically, the ultrasonic sensor is implemented in the walking stick for detecting the obstacles in front of the blind/impaired persons. If there are any obstacles, it will alert the blind person to avoid that obstacle and the alert the user in the form of a buzz. In this technology driven world where people strive to live independently, their report proposed a low-cost 3D ultrasonic stick for blind people to gain personal independence, so that they can move from one place to another easily and safely. A portable stick is designed and developed that detects the obstacles in the path of the blind using ultrasonic sensors. The buzzer and vibration motor are activated when any obstacle is detected. In addition, the stick is equipped with GPS and SMS message system. GPS system provide the information regarding the location of the blind person using the stick to his family members. SMS system is used by the blind to send SMS message to the saved numbers in the microcontroller in case of emergency. Computer simulation is done to ameliorate the performance of the system using Proteus software [13]. I.B.9 ULTRASONIC BLIND STICK WITH GPS TRACKING SYSTEM A. Tekade, M. Sonekar, M. Ninave, P. Dongre, from the Department of Electronics & Telecommunication J.D. College of Engineering and Management, Nagpur, India, produced a report on “Ultrasonic Blind Stick with GPS Tracking System.” Their objective was to provide the visually impaired a better navigational tool. The ultrasonic blind walking stick is way more advanced than the traditional walking stick as the use of sensors makes object detection easier. GPS system provides the information regarding his current location. The system has one more advanced feature integrated to help the blind find their stick if they forget where they kept it. A wireless RF based remote is used for finding the lost stick by pressing the remote button and the buzzer sounds on the stick. Thus, this system allows for obstacle detection as well as finding stick if misplaced by visually disabled person. Another feature of this stick is to detect water on the ground. This stick also indicates day or night vision for blind person. Their report discusses about how this stick is built and how it will help blind people [14]. 9 CHAPTER I LITERATURE REVIEW I.B.10 ULTRASONIC BLIND STICK WITH GPS TRACKING Vishnu Srinivasan B. S., Anup Murali M., Prakash. P., and N. Krishna Prasad, from the Department of Electronics and Communication Engineering, Tamil Nadu, India, were interested in an “Ultrasonic Blind stick With GPS Tracking.” The innovative Blind stick system is capable of operating in user-friendly manner so that the blind person can walk independently without getting help from others. This system assists the blind to navigate on their own. In case of emergency situations such as high traffic density the location of the member is shared to the family members. The prototype model consists of a stick and a hand cuff within built pulse detector. The stick with sensors deployed can detect the obstacles in front with sensors and it will produce various buzzer sounds depending upon the direction. The buzzer would alert the user. Furthermore, the Sensors on the stick can detect water and fire on the ground and inform the person by buzzer. The hand cuff is equipped with in-built GPS/GSM and pulse detector equipment, so that if the member pulse falls below a threshold level then his location will be shared to his family. By a trial and error method, the system can detect obstacles such as pedestrians, objects, water and heat with greater accuracy [15]. I.B.11 ELECTRONIC STICK FOR VISUALLY IMPAIRED PEOPLE WITH BUZZER ALERT D. Siva Kumar, M. Prem Anand, K. Deepan Raj, P. Thalapathi Raj, R. Yashwanth, S. Yogesh worked on an “Electronic Stick for Visually Impaired People with buzzer alert.” In their work, we present and describe an electronic stick with buzzer alert to help visually impaired people when they walk in uncomfortable environments. There are a greater number of people who have difficulties and problems in their day-to-day life due to their visual problem. Walking with ease and confidence is considered as one of their difficulties in unstructured environments. By considering this issue, a new electronic stick with RF remote transmitter and receiver is developed which uses Ultrasonic sensor and buzzer. Ultrasonic sensor is capable of detecting obstacles/objects in front of the visually impaired person if there is any obstacle/object present in their walking path. An Ultrasonic sensor calculates the distance between the visually impaired person and an obstacle. If the calculated distance is in between the given range, there is an alert. RF remote helps the visually impaired people to find the location of their electronic stick. Many 10 CHAPTER I LITERATURE REVIEW experiments have been conducted in many places by a greater number of people to check and ensure the correctness of an electronic stick and the outcomes are good enough [16]. I.B.12 A NOVEL APPROACH OF BIND STICK BASED ON ULTRASONIC SENSORS Kimmi Verma, Neelakshi Chawla, Riya Jain, from the Delhi Technical Campus, IP University Greater Noida, India, inclined their research on “A Novel approach of bind stick based on Ultrasonic Sensors.” Their work basically focuses on the theoretical concept to design an intelligent blind stick to support visually challenged people by the use of technology. Their device uses the combination of the two technologies of AVR microcontroller and ultrasonic sensor to help those people to escape from hurdles. The circuit activates with the help of 6f22 9v general purpose battery. The ultrasonic sensors consist of an emitter or transmitter, receiver along with the control circuit. Wave of the known frequency is emitted by the emitter and after hitting the obstacle or target it reflects back and is received by the receiver and forwards it to the microcontroller. The AVR Microcontroller processes it and through the mathematical calculations (which is the part of programming), time is calculated and then the distance. If the obstacle is within the range of 3m the buzzer starts beeping and as the person goes nearer to the object, the buzzer will beep more frequently. Stairs can also be detected with this stick. A button is glued underneath the stick. As soon as the stick touches the ground, the working of the button is activated and ultrasonic sensor calculate the hypotenuse and with the help of known perpendicular distance, base is calculated. Again, with the help of buzzer but this time with different beep sound one can detect the stairs. One RF remote with receiver is also provided along with this obstacle detecting stick. One can find his/her misplaced stick with the help of this remote. The whole system is guided by the AVR microcontroller [17]. I.C LIMITATIONS OF PRESENT NAVIGATIONAL TOOLS If the blind person has a cane, he can use it to check for stairs already, isn't it? If he places the cane in front of him, but there is no terrain, then it's a pit. If there is a lower terrain, it's stairs down; if there is a higher terrain, it's stairs up; and otherwise it’s a wall. We don't see how adding sensors for pit detection and hole detection is beneficial. 11 CHAPTER I LITERATURE REVIEW Using obstacle and water sensors is very practical. And alerting the user using an alarm is interesting but limited. What happens if he’s in a noisy environment? Also, we think that it is not necessary to detect the luminosity of the room. We shouldn’t just add sensors because there are available. Rather, we should add them to solve a given problem. People with visual impairment do not need to know whether it’s light or day. As you may have noticed, these projects have been rarely implemented in our country, Cameroon. Also, none of the above canes is able to perform all the main functions of an intelligent cane: obstacle avoidance, feedback, locate missing cane, track user, and notify family members. A major limitation to these smart electronic canes is their cost. Let’s not focus on its price but on the importation cost. It’s heavy, right? Let’s also talk about the maintenance of the cane after its importation. Will you have to ship the cane so that a technical team can fix it or they’ll assist you over the phone? It’s complicated and it’ll even cost you more to maintain the electronic cane. This reminds us of a friend’s aunty who sent money to her relatives abroad to buy a laptop. Her idea was to benefit from his visit in Cameroon. To her greatest surprise the computer got bad some few weeks later. It means that she had to wait for her relative to leave the country with it. Little did she know that her relative had to stay for months before traveling again. Even if her relative did go, who will help to ship it back? So, importing canes is not an ideal solution to our problem and will only increase the price of the smart cane, rendering it unaffordable for our dear disabled ones. I.D COMPARISON OF PRESENT NAVIGATIONAL TOOLS Below is a table showing a comparative analysis between present electronic sticks and our smart stick. Table I.1 Comparative Analysis of Navigational Tools NAVIGATIONAL TOOLS Ultrasonic Smart Stick for Visually Impaired People Ultrasonic Blind Walking Stick with Voice Playback COMPARISON CRITERIA Find Notify Detect Alert GPS Lost Family Obstacles User Tracking Cane Members Yes Yes Yes No No Yes Yes No Yes No 12 CHAPTER I LITERATURE REVIEW Smart Blinding Stick with Holes, Obstacles and Ponds Detector Based on Microcontroller Ultrasonic Blind Walking Stick Ultrasonic and Voice Based Walking Stick for Blind People Smart Walking Stick for Visually Impaired People Using Ultrasonic Sensors and Arduino Intelligent stick for blind friends Smart Electronic Walking Stick for Blind People Ultrasonic Blind Stick with GPS Tracking System Ultrasonic Blind stick With GPS Tracking Electronic Stick for Visually Impaired People with buzzer alert A Novel approach of bind stick based on Ultrasonic Sensors Ultrasonic Smart Stick with GPS Tracking and SMS Notification using Bluetooth Communication for Visually Impaired People in Cameroon Yes Yes No No No Yes Yes Yes No No Yes Yes No Yes No Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Our Smart Stick answers to all of the criteria above and it is ‘made in Cameroon.’ In this chapter, we have presented a historical background of most of the intelligent sticks out there and presented their limitations and that of traditional canes. We also made a comparative analysis of these smart blind walking sticks. Next, we are going to discuss about the methodology used in our project. This will lead us to the specifications of our project. First of all, what needs does our project solve? And how can these needs be used to design a solution to our problem? The next chapter will shed more light on that. 13 CHAPTER II METHODOLOGY II METHODOLOGY “A problem well stated is a problem half solved.” These words were uttered by Charles F. Kettering nearly 75 years ago. How true these words are today! Too many times, individuals and teams jump into problem solving activities without fully or properly defining what is they really need to solve, or what factors within the problem are likely or will create complications or prevent the obvious or ready solutions from being effective, or are perhaps even detrimental [18]. We are thus going to discuss about the APTE method which we used in the analysis of our project. II.A WHAT IS APTE? APTE stands for “APplication des Techniques d’Entreprise” or Application of Professional Method. At the end of the 60’s Gilbert Barbey, French consultant for KBWhite, created the APTE method based on the VA-VE (Value Analysis/Value Engineering) as well as a synthesis of different think leads and scientific research. The APTE method proposes a transversal approach to conduct a project [19]. The Functional approach concerns not only the product and the services it provides to its user, but also the means used to achieve it. The ultimate objective is competitiveness for which "increased quality" and "cost reduction" are compatible if not inseparable. Before performing any diagnoses or looking for any solution, it is necessary to define precisely the purpose and objectives of the system. This must be done without any preconceived solution, by questioning the existing solution in order to open all possible solutions. The studied solution is replaced in its use environment (product, process, …) in order to express the functions or services to be provided to the users. For each service to be provided, the APTE method characterises the expected quality level (users satisfaction criteria). At the final stage of product design, the solutions will reach the expected quality level at the lowest cost/resources. II.B NEED ANALYSIS The need analysis is the process of identifying and evaluating needs to create or to improve a given system. It takes place in two steps: identification and validation of the need [20]. 14 CHAPTER II METHODOLOGY II.B.1 NEED IDENTIFICATION Here, we need to define the objectives and limits of our system. In order words, we need to define the need to which our system answers. To accomplish this, the APTE method proposes a diagram called the Horned Beast Diagram. The Horned Beast Diagram permits us to ask three fundamental questions about our system (0): ➢ To whom is the Smart Stick useful? (1) ➢ On who/what does the Smart Stick have an effect? (2) ➢ For what purpose is the Smart Stick prepared? (3) Figure II.1 Horned Beast Diagram II.B.2 NEED VALIDATION After the Need Identification that the Smart Stick should answer to, it is necessary to validate this need. Also known as Stability Study, the Need Validation is performed to identify why does the need exist and what may alter or suppress the need. As such, the following three questions are asked: ➢ Why does this need exist? Because blind people or visually impaired people are almost always assisted. 15 CHAPTER II METHODOLOGY ➢ What could make it disappear? If blind people or visually impaired people were all healed. ➢ Is there any risk the need will disappear? No. II.C FUNCTIONAL NEED ANALYSIS II.C.1 DEFINITION The Functional Analysis is the fundamental step in the Smart Stick creation or improvement. It consists in finding, characterizing, prioritizing the functions of the Smart Stick expected by the visually impaired people to navigate freely. To define a function, we use the French standard NFX 50-151 which stipulates that "function is an action of the product or of one of its components expressed exclusively in terms of finality". The function can be formulated by using a verb that describes the action and a noun to define the object of that action. This way to express a function seems to be easy but actually searching for the most descriptive verb and noun can be difficult and time consuming. For that reason, Functional Analysis is always undertaken by a team and not by one person operating individually. The functional analysis is performed in several steps [20]. II.C.2 FUNCTION SPECIFICATIONS The designer to develop the most efficient product, must take into account the expectations of the customer, usually expressed in terms of service functions in a document called Functional Specifications (or CdCF: Cahier de Charge Fonctionnel). We have developed it in agreement with the initiator of the project. It is presented below: ➢ Navigate freely; ➢ Track visually impaired; ➢ Notify family members in case of an emergency; ➢ Locate lost cane; ➢ Use cane for at least 8 hours non-stop; ➢ The cane should be compact. 16 CHAPTER II METHODOLOGY II.C.3 FUNCTION IDENTIFICATION In this stage, the functional analysis is aimed at the formulation of functions and its description. In fact, the Smart Stick has to fulfil several functions in order to reach the goal and satisfy the fundamental need of the visually impaired. There are several types of methods which may be used to identify all functions such as the Intuitive method, RESAU2 method, etc. The approach we used to enumerate with accuracy what the Smart Stick is to accomplish is based on the "Octopus Diagram". This approach consists of listing the elements, which the Smart Stick will have to coexist with, and identifying functions that it will have to accomplish. During this step, we draw a diagram in which the Smart Stick is surrounded with its elements, functions being represented like relations between these various elements. This diagram defines main and constraint functions of the Smart Stick. We call "main functions" the interactions between the Smart Stick and two elements and "constraint functions" connections between the Smart Stick and one element of its environment. Table II.1 Function Identification Main Function Constraint function Name Description Name Description MF1 Avoid obstacles CF3 MF2 Alert visually impaired CF4 CF5 Send SMS CF6 Autonomy Locate visually impaired Find lost cane II.C.4 OCTOPUS DIAGRAM The following figure shows the Octopus diagram for our project. “Recherche intuitive; Etude du cycle de vie et de l’environnement; l’analyse Séquentielle des fonctions; Examen des efforts et des mouvements; Analyse d’un produit de référence; Utilisation des normes et des règlements.” It can be translated respectively to: Intuitive Research, Environment and Life Cycle Study, Sequential analysis of functions, Motions and efforts examination, Reference product analysis, Regulation and standards use. 2 17 CHAPTER II METHODOLOGY Figure II.2 Octopus Diagram II.C.5 FUNCTION CHARACTERISATION Once the functions are identified, it is necessary to obtain more specific analysis in the next step which consists of characterising the functions. For that, it is necessary to carry out: ➢ Appreciation Criterion: Each function should present one or more criteria associated to the verb of the function. The criterion is a mean for measuring and verifying function importance. ➢ Level: The level of a criterion is a means to provide details about the criterion. ➢ Flexibility: It consists in defining if the levels of criteria should be respected or may be negotiated. The levels of flexibility can be classified as follows: • F=0: Imperative level (no flexibility); • F=1: slightly negotiable level; • F=2: Negotiable level; • F=3: Very negotiable level. ➢ Function Hierarchy: The standard AFNOR proposed classification the functions in order of importance. To perform this, an importance scale coefficient was adopted as follows: • K=1: "useful"; 18 CHAPTER II METHODOLOGY • K=2: "slightly important"; • K=3: "important"; • K=4: "very important"; • K=5: "vital." II.C.6 RESULTS In a workgroup session of some experts, we identified, specified and summarized the results in one table. The functions were adapted to the Smart Stick through three lifecycle phases: planning, accessibility and use. The table obtained is called "Functional table." Table II.2 Function Characterisation Function No. Name MF1 Avoid obstacles Alert visually MF2 impaired Locate visually CF3 impaired CF4 Send SMS CF5 Find lost cane CF6 Autonomy Type Service Service Classification method Appreciation Flexibility Level Criteria (F) Distance 30cm 1 - Vibration 2KHz 0 - Sound Hierarchy (K) 5 5 Constraint Duration 120s 3 4 Constraint Duration Constraint Distance Power Constraint discharge 30s 30m 3 1 4 4 8hrs 2 3 II.D TECHNICAL-FUNCTIONAL ANALYSIS II.D.1 DEFINITION This is also called Function Analysis System Technic (FAST). Its goal is to decompose the main functions of a design problem into technical functions in order to end up with technological solutions. In developing a functional model, the team is forced to make a very clear definition of the project by considering key questions such as: ➢ What are we trying to achieve? 19 CHAPTER II METHODOLOGY ➢ What must we get right if we are trying to achieve it? ➢ What considerations do we need to bear in mind while designing it? ➢ How do various design solutions contribute towards achieving the desired outcome? II.D.2 COMPONENTS OF A FAST DIAGRAM Three key questions are addressed in a FAST Diagram: ➢ How do you achieve this function? This question is answered by the function to the right. The answer begins with “In.” ➢ Why do you do this function? This question concerns the function to the left. The answer begins with “For.” ➢ When you do this function, what other functions must you do? This question applies to one or more functions located at the same level. The answer starts with “Simultaneously.” is not a time orientation, but indicates cause and effect. A function should be identified as to what is to be accomplished by a solution and not how it is to be accomplished. How the function is identified determines the scope, or range of solutions that can be considered. Scope lines represent the boundaries of the study i.e. that aspect of the problem with which the study team is concerned, and are shown as two vertical lines on the FAST model. The left of the scope line determines the basic function(s) of the study. The basic functions will always be the first function(s) to the immediate right of the left scope line and identifies the beginning of the study. The objective or goal of the study is called the “Highest Order Function”, located to the left of the basic function(s) and outside of the left scope line. The result of the study is called the Technological Solutions which is outside the scope lines to the right. Those function(s) to the immediate right of the left scope line represent the purpose or mission of the product or process under study and are called Basic Function(s). Once determined, the basic function will not change. If the basic function fails, the product or process will lose its market value. All functions to the 20 CHAPTER II METHODOLOGY right of the basic function(s) portray the conceptual approach selected to satisfy the basic function and are referred to as secondary functions. II.D.3 FUNCTION DEFINITION All of the different functions of our FAST Diagram are presented and defined in the table below. Table II.3 Function Definition Type of Function TF1: Navigate freely TF2: Tract User TF3: Send SOS TF4: Find Cane Highest Order Function Detect obstacles, Detect waterlevel Verify SMS Code Press Emergency Button Ring Cane, Mute cane Basic Function Secondary Function Technological Solution Compare distance and water-level, Calculate time Alert User Ultrasonic Sensors, Water-level sensor, Buzzer, Motor, Arduino Get Location Send Location GSM, GPS, Button, Arduino Nano Get Location Send Location GSM, GPS, Button, Arduino Nano None Alert User Bluetooth, Buzzer, Motor II.D.4 FAST DIAGRAMS The following diagrams show the function analysis of our project. 21 CHAPTER II METHODOLOGY Figure II.3 Lost Cane FAST Diagram Figure II.4 Tracking FAST Diagram 22 CHAPTER II METHODOLOGY Figure II.5 Lost Cane FAST Diagram Sensory FAST Diagram II.E STRUCTURED ANALYSIS II.E.1 DEFINITION Developed by Douglas T. Ross and SofTech, Inc., Structured Analysis Design Technic (SADT) typically creates a hierarchy employing a single abstraction mechanism. The structured analysis method employs IDEF03 based on IDEF4 which is process driven, and starts with a purpose and a viewpoint. This method identifies the overall function and iteratively divides functions into smaller functions, preserving inputs, outputs, controls, and mechanisms necessary to optimize processes. Also known as a functional decomposition approach, it focuses on the connection between functions leading to structured data. 3 IDEF0, used to produce a function model. A function model is a structured representation of the functions, activities or processes within the modelled system or subject area. 4 It stands for “Icam DEFinition”, where ICAM is an acronym for “Integrated Computer Aided Manufacturing.” 23 CHAPTER II METHODOLOGY The functional decomposition of the structured method describes the process without delineating system behaviour and dictates system structure in the form of required functions. The method identifies inputs and outputs as related to the activities. II.E.2 SADT DIAGRAMS The diagram below shows the SADT diagram of our project: Figure II.6 Sensory SADT Diagram 24 CHAPTER II METHODOLOGY Figure II.7 Tracking SADT Diagram After stating or analysing our needs or problem using various tools like FAST and SADT, we obtained primary and secondary functions that our cane should accomplish. We also arrived at technological solutions, that the hardware that can be used to solve the problem. This brings us to the next part of our report, that of discussing in details how these materials communicate between them, what their specifications, pinouts and functions are. 25 CHAPTER III DESIGN AND IMPLEMENTATION III DESIGN AND IMPLEMENTATION In the preceding chapter, we presented the hardware that we are going to use to design and implement our smart stick. In this chapter, we’ll present both the hardware and the softwares that we used for our project. We’ll state the characteristics of each element, its pinout, how it is connected to the microcontroller board, and why we are using it. This is the key chapter of our memoir as it will show step-by-step how exactly our smart stick was designed. III.A DESIGN OF THE SMART STICK III.A.1 SYNOPTIC DIAGRAM The visual aid below shows the synoptic diagram of our project. Figure III.1 Synoptic Diagram III.A.2 FONCTION OF EACH PART III.A.2.1 ARDUINO NANO The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328P; offers the same connectivity and specs of the UNO board in a smaller form factor. This microcontroller is also used in Arduino UNO. It is a small size board and also flexible with a wide variety of applications. Other Arduino boards mainly include Arduino Mega, Arduino Pro Mini, Arduino UNO, Arduino YUN, Arduino Lilypad, Arduino Leonardo, and Arduino Due. 26 CHAPTER III DESIGN AND IMPLEMENTATION And other development boards are AVR Development Board, PIC Development Board, Raspberry Pi, Intel Edison, MSP430 Launchpad, and ESP32 board [21]. Figure III.2 Arduino Nano Board This board has many functions and features like an Arduino Duemilanove board. However, this Nano board is different in packaging. It doesn’t have any DC jack so that the power supply can be connected straight to the pins VCC & GND using a small USB port. This board can be supplied with 6 to 20 volts using a mini USB port on the board. III.A.2.1.1 JUSTIFICATION OF COMPONENT Maybe you are all wondering why we chose the Arduino Nano board in our Smart Stick. This is so for at least three main reasons: ➢ First, it is one of the tiniest Arduino boards on the market with a dimension of 1.70 in x 0.73 in or 4.32 cm x 1.85 cm. This makes it almost perfect for our Smart Stick project where portability is a vital element to consider. ➢ Second, it is one of the cheapest Arduino boards. And as you well know, price is another vital element in the design of our cane. ➢ Last but not least, the total number of pins used for our project is less than the total pins that the Nano boards has. We chose to use two Arduino Nano boards. The reason is a technical one. It will be explained in detail while we’ll be explaining the SIM808 module. But just to whet your appetite, it’s because of the Smart Stick’s primary function, which was seen in the last chapter: to detect obstacles. But during the tests, we notice that the GPS module’s time efficiency depends on the 27 CHAPTER III DESIGN AND IMPLEMENTATION last time it looked for the visually impaired person’s location. It’ll take more time to get his location after two full days than after one full day; it’ll take more time to get his location after three full days than after two full day; and so on and so forth… But once he has gotten his location, it’ll take him lesser time to get his new location than the previous time he did so. During the time the GPS module is getting/finding his location, an interruption is called which blocks the execution of other functions of the cane, like to detect obstacles which is of paramount importance in the design of our Smart Stick. That’s why we separated our project into a sensory module and a tracking module. ➢ Sensory module: Here, the Arduino Nano is attached to sensors to gather input from the environment and send to the Arduino Nano. With its comparator, it’ll send vibrational and buzzing feedbacks to the visually impaired person. He in turn will interpret this and take a decision. ➢ Tracking module: Here, the Arduino Nano is attached to the SIM808 module to track the user (by his family members) and for him to notify his family members in case of any emergencies. III.A.2.1.2 ARDUINO PIN CONFIGURATION The tables below show how the Arduino Nano pins were connected: Table III.1 Arduino Sensory Pin Configuration Pin No. Component Name Component Pin A0 A1 A2 A3 A4 A5 A7 D5 Ultrasonic sensor 3 Ultrasonic sensor 2 Ultrasonic sensor 1 Water level sensor 28 Echo Trigger Echo Trigger Echo Trigger SIGNAL VCC CHAPTER III DESIGN AND IMPLEMENTATION D9 Buzzer 1 VCC D10 Motor 1 VCC D11 D12 RX Bluetooth TX Table III.2 Arduino Tracking Pin Configuration Pin No. Component Name Component Pin A7 D2 D9 (PWRKEY) SIM808 RX D3 TX D4 Motor 1 VCC D5 Button 2 VCC D6 Buzzer 1 VCC III.A.2.1.3 COMMUNICATION The communication of an Arduino Nano board can be done using different sources like using an additional Arduino board, a computer, otherwise using microcontrollers. The microcontroller using in Nano board (ATmega328) offers serial communication (UART TTL). This can be accessible at digital pins like TX, and RX. The Arduino software comprises of a serial monitor to allow easy textual information to transmit and receive from the board. The TX & RX LEDs on the Nano board will blink whenever information is being sent out through the FTDI & USB link in the direction of the computer. The library-like SoftwareSerial allows serial communication on any of the digital pins on the board. The microcontroller also supports SPI & I2C (TWI) communication. [18] More than one component in our project needed to communicate with the main board (“serially”). And they can’t all be connected to the Pin D0 (TX) and Pin D1 (RX). Hence, we use an Arduino library called SoftwareSerial which permits us to use any pins for serial communication. 29 CHAPTER III DESIGN AND IMPLEMENTATION III.A.2.2 ULTRASONIC SENSOR The HC-SR04 is a type of ultrasonic sensor which uses sonar to find out the distance of the object from the sensor. It provides an outstanding range of non-contact detection with high accuracy and stable readings. It includes two modules like ultrasonic transmitter & receiver. This sensor is used in a variety of applications like measurement of direction and speed, burglar alarms, medical, sonar, humidifiers, wireless charging, non-destructive testing, and ultrasonography [22]. Figure III.3 HCSR04 Ultrasonic Sensor III.A.2.2.1 PIN DEFINITION This sensor includes four pins and the role of each pin is discussed below. ➢ Pin1 (Vcc): This pin provides a +5V power supply to the sensor; ➢ Pin2 (Trigger): This is an input pin, used to initialize measurement by transmitting ultrasonic waves by keeping this pin high for 10us; ➢ Pin3 (Echo): This is an output pin, which goes high for a specific time period and it will be equivalent to the duration of the time for the wave to return back to the sensor; ➢ Pin4 (Ground): This is a GND pin used to connect to the GND of the system. III.A.2.2.2 MODE OF OPERATION The HC-SR04 Ultrasonic sensor comes with four pins namely Vcc pin, Trigger pin, Echo pin, and Ground pin. This sensor is used to measure the accurate distance between the target and the sensor. This sensor mostly works on the sound waves. 30 CHAPTER III DESIGN AND IMPLEMENTATION When the power supply is given to this module, it generates the sound waves to travel throughout the air to hit the necessary object. These waves strike and come back from the object, then collects by the receiver module. Figure III.4 Obstacle Detection Here, both the distance as well as time has taken is directly proportional because the time taken for more distance is high. If the trigger pin is kept high for 10 µs, then the ultrasonic waves will be generated which will travel at the sound speed5. So, it creates eight cycles of sonic burst that will be gathered within the Echo pin. The sensor uses the speed of sound in air and the time taken by the sensor to transmit and receive the sound to calculate the distance. Thus, detects the object and finds the location of the object. The actual distance can be calculated by dividing its value by two as the time will be twice, that is to and from the sensor [22]. The following formula is obtained: s = (V * t ) / 2 , where: ➢ ‘s’ is the required distance; ➢ ‘V’ is the speed of sound in air and; ➢ ‘t’ is the time taken for sound waves to return back after striking the object. III.A.2.2.3 PIN SPECIFICATION The table below shows the name and properties of each pin of an ultrasonic sensor. 5 The speed of sound is approximately 341 meters per second in air. 31 CHAPTER III DESIGN AND IMPLEMENTATION Table III.3 Ultrasonic Sensor Pin Specification Properties Values Properties Values Voltage 5VDC Accuracy 3mm Current 15mA Measuring Angle 15o Frequency 40KHz Trigger Input Signal 10µS TTL pulse Range 2cm-4m Dimension 45 x 20 x 15mm III.A.2.2.4 PIN CONFIGURATION Here, we are giving an example for the HC-SR04 ultrasonic sensor using the Arduino board. This sensor is interfaced with an Arduino board. The required components of this project mainly include the Arduino board, HC-SR04 ultrasonic sensor, breadboard, and jumper wires. The connections of this project are very simple like the following: Table III.4 Ultrasonic Pin Configuration Ultrasonic Sensor Arduino Nano VCC 5V TRIG A1, A3, A5 ECHO A0, A2, A4 GND GND III.A.2.2.5 JUSTIFICATION OF COMPONENT The following are a list of the advantages of using ultrasonic sensors: ➢ It provides precise and noncontact distance measurement within 2cm to 3m range. ➢ Ultrasonic measurement works in any lighting condition, hence a supplement for infrared object detector. ➢ Three pins make it easy to connect to the development board directly or with an extension cable without any soldering. ➢ Their high frequency, sensitivity, and penetrating power make it easy to detect all types of materials. ➢ This sensor is not affected due to atmospheric dust, rain, snow, colour or transparency of objects, etc. 32 CHAPTER III DESIGN AND IMPLEMENTATION ➢ It has higher sensing distance (in centimetres and inches) compare to inductive/capacitive proximity sensor types. ➢ It provides good readings in sensing large sized objects with hard surfaces. ➢ Our ultrasonic sensors are easy to use and not dangerous during operation to nearby objects, people or equipment III.A.2.3 WATER SENSOR Water level sensor is used to measure the water level in a given environment. It is also used in sensing rainfall, and even liquid leakage. Also, it can be used to detect the presence, the volume and/or the absence of water. Figure III.5 Water Sensor III.A.2.3.1 MODE OF OPERATION To use it as water level detector, the sensor must be positioned so that parallel lines are perpendicular to the sensor water level. The signal pin S will give us a greater value as the sensor is immersed. III.A.2.3.2 SPECIFICATIONS The table below shows the name and properties of each pin of a water sensor. Table III.5 Water Sensor Specifications Properties Operating Voltage Working current Sensor Type Detection area Values 5VDC <20mA 33 Analog 40mm x16mm CHAPTER III DESIGN AND IMPLEMENTATION III.A.2.3.3 PIN CONFIGURATION The table below shows the name and the pinout of an ultrasonic sensor. Table III.6 Water Sensor Pin Configuration Water level Sensor SIGNAL VCC GND Arduino Nano A7 D5 GND III.A.2.4 BUZZER Piezo buzzer is the handy sound generator used in electronic circuits to give an audio indication. It is widely used as an alarm generator in electronic devices. It is available in various types and sizes to suit the requirements. A Piezo buzzer has a Piezo disc and an oscillator inside. When the buzzer is powered, the oscillator generates a frequency around 2-4 kHz and the Piezo element vibrates accordingly to produce the sound. An ordinary Piezo buzzer works between 3 – 12 volts DC [25]. III.A.2.4.1 TYPES OF BUZZERS There are several different kinds of buzzers. They are categorized by Type, Sound Level, Frequency, Rated Voltage, Dimension, and Packaging Type. The most common types available are Electro-acoustic, Electromagnetic, Electromechanics, Magnetic and Piezo-electric, among others [26]. Buzzers are mainly divided into two types. The first one is active buzzers and the second one is passive buzzers. In an active buzzer, additional circuitry is added to make the use it easier, but it only produces a single type of sound or tone. It required a DC power source for generating the sound or beep. Similarly, passive buzzer can generate different sounds or beeps. It depends upon the frequency which is provided to this passive buzzer. For generating any type of sound, the desired frequency signal is provided to its oscillating circuit then it generates the desired frequency sound or beep. It requires an AC power source for generating the sound or beep. 34 CHAPTER III DESIGN AND IMPLEMENTATION The simple way to distinguish between a passive buzzer and an active buzzer is: ➢ If you apply a DC voltage to them and it buzzes, it is an active buzzer. ➢ The height of the two is slightly different, the active buzzer has a height of 9mm, while the passive has height of 8mm. ➢ On the pins side, you can see a green circuit board in passive buzzer. No circuit board and closed with a black is an active buzzer. ➢ Using an ohmmeter, if you find the resistance between buzzer pins is about 16ohm (or 8ohm), the buzzer is passive. ➢ An active buzzer has a built-in oscillating source so it will oscillate at one specific frequency. A passive buzzer on the other hand runs at a range of frequencies (2KHz-5KHz). Figure III.6 Active (left) and Passive (right) Buzzers III.A.2.4.2 MODE OF OPERATION Piezo buzzers are simple devices that can generate basic beeps and tones. They work by using a piezo crystal, a special material that changes shape when voltage is applied to it. If the crystal pushes against a diaphragm, like a tiny speaker cone, it can generate a pressure wave which the human ear picks up as sound6. When DC power input passes through an active buzzer, it will make resonance device generate sound signal. We can see the schematic diagram below for the working principle of active buzzer: The oscillation in the Piezo buzzer is between 2 – 4 kHz. This sound is piercing because our hearing threshold is maximum in this frequency. 6 35 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.7 Mode of Operation of Buzzer III.A.2.4.3 PIN DEFINITION The table below shows the name and properties of each pin of an ultrasonic sensor. Table III.7 Buzzer Pin Definition Pin Number Pin Name Description 1 Positive Identified by (+) symbol or longer terminal lead. 2 Negative Identified by (-) symbol or short terminal lead. III.A.2.4.4 PIN CONFIGURATION The table below shows the name and the pinout of an ultrasonic sensor. Table III.8 Buzzer Pin Configuration Buzzer Arduino Nano VCC D6, D9 GND GND III.A.2.4.5 SPECIFICATIONS The table below shows the name and properties of each pin of an ultrasonic sensor. Table III.9 Buzzer Pin Specifications Properties Rated Voltage Operating Voltage Rated current Sound Type Resonant Frequency Values 6V DC 4-8V DC <30mA Continuous Beep ~2300 Hz 36 CHAPTER III DESIGN AND IMPLEMENTATION III.A.2.5 DC MOTOR A motor converts electrical energy into mechanical energy. There are three different types of motors: DC motor, Servo motor, and Stepper motor. A DC motor (Direct Current motor) is the most common type of motor. A DC Motor uses direct current―in other words, the direction of current flows in one direction. Figure III.8 DC Motor A DC Motor usually consists of: An armature core, an air gap, poles, and a yoke which form the magnetic circuit; an armature winding, a field winding, brushes and a commutator which form the electric circuit; and a frame, end bells, bearings, brush supports and a shaft which provide the mechanical support. See the DC Motor cutaway near the bottom of this resource page. The latter can be felt through vibrations. DC motors normally have just two leads, one positive and one negative. If you connect these two leads directly to a battery, the motor will rotate. If you switch the leads, the motor will rotate in the opposite direction. Figure III.9 Motor Construction 37 CHAPTER III DESIGN AND IMPLEMENTATION We do not need to control the speed of the motor; we don’t need an L298N motor driver or other components. All we need to do is to permit the user to feel vibrations through this motor. This motor can be found anywhere even in toy cars. III.A.2.5.1 PIN CONFIGURATION The table below shows the name and pinout of each pin of a motor. Table III.10 Motor Pin Configuration Pin Name Terminal 1 Terminal 2 Arduino Nano GND D4, D10 Figure III.10 Motor Pinout III.A.2.5.2 SPECIFICATIONS The table below shows the name and properties of each pin of a motor. Table III.11 Motor Specifications Properties Values Operating Voltage 4.5V to 9V Recommended/Rated Voltage 6V Current at No load <70mA No-load Speed: 9000 rpm Loaded current ~250mA Motor Size 27.5mm x 20mm x 15mm 38 CHAPTER III DESIGN AND IMPLEMENTATION III.A.2.6 SIM808 MODULE SIM808 module is a GSM and GPS two-in-one function module. It is based on the latest GSM/GPS module SIM808 from SIMCOM, supports GSM/GPRS Quad-Band network and combines GPS technology for satellite navigation. It features ultra-low power consumption in sleep mode and integrated with charging circuit for Li-Ion batteries, that make it get a super long standby time and convenient for projects that use rechargeable Li-Ion battery. It has high GPS receive sensitivity with 22 tracking and 66 acquisition receiver channels. Besides, it also supports A-GPS that available for indoor localization. The module is controlled by AT command7 via UART and supports 3.3V and 5V logical level [23]. Figure III.11 SIM808 Front View Figure III.12 SIM808 Rear View 7 The latest firmware support Bluetooth function. You can use all AT commands for BT functions right now. 39 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.13 SIM808 Label III.A.2.6.1 GENERAL FEATURES Below are the global features of the SIM808 module: ➢ Quad-band: 850/900/1800/1900MHz ➢ GPRS multi-slot class 12/10 ➢ GPRS mobile station: class B ➢ Compliant to GSM phase 2/2+ • Class 4 (2 W @ 850/900MHz) • Class 1 (1 W @ 1800/1900MHz) ➢ Dimensions: 24*24*2.6mm ➢ Weight: 3.3g ➢ Control via AT commands • 3GPP TS 27.007, 27.005 • SIMCOM enhanced AT Commands) ➢ Supply voltage range: 3.4 ~ 4.4V 40 CHAPTER III DESIGN AND IMPLEMENTATION ➢ Low power consumption ➢ Operation temperature: -40℃ ~ 85℃ III.A.2.6.2 GPS Global Positioning System (GPS) is a network of orbiting satellites used to locate positions anywhere in space back to earth. This kind of technology can be used in various areas like commercial usage, military, and civil services all over the world. GPS can be used for these purposes: perfect timing, trilateration, positioning of satellites and error connection. This system can be used universally for 24 hours. Before discussing GPS based travel assistant for blind people let us know about the concept of GPS technology [24]. Figure III.14 Mode of Operation of GPS III.A.2.6.2.1 INTRODUCTION TO GPS The global positioning system consists of three segments: space segment (SS), control segment (CS) and a user segment (US). Control and space segments are developed, operated and maintained by US air force; the user segment includes both civilian and military users and their GPS equipment. 41 CHAPTER III DESIGN AND IMPLEMENTATION ➢ Space Segment: This segment consists of 24 satellites from which 21 are navigational space vehicles and 3 are active spares orbiting at an altitude of 11000 nautical miles. These satellites are predictable and stable due to their high altitude. This system consists of six orbital planes that are inclined at 55 degrees and equally placed at about 60 degrees on the equatorial plane. ➢ Control Segment: It comprises a master control station, an alternate motor-control station, six monitor stations, and four ground antennas. These monitor stations are positioned all over the world, to measure the signal from space vehicles which are incorporated into an orbital model of each satellite. Dedicated ground antennas are used for broadcasting signals to satellites. ➢ User Segment: This system consists of receivers which can be handheld or installed on aircraft, ship, submarines, cars, and trucks. GPS receivers can decode, detect and process the signals to satellites. These signals can be changed into position, time and velocity. This segment can be used in different applications such as satellite positioning, shipping, military, surveying, and tracking. Figure III.15 Segments of GPS Global Positioning System (GPS) has been around since the 80's and is still one of the most important features you can add to any electronic system. The idea of tracking something (or someone) is cool enough but doing so without a telephone or an internet connection is much cooler. 42 CHAPTER III DESIGN AND IMPLEMENTATION III.A.2.6.2.2 HOW LOCATION IS TRACKED The whole GPS system depends on 24 (minimum) satellites orbiting the earth. Each satellite continually broadcast their current time and position. Generally, a GPS receiver requires a connection to at least four of these satellites to acquire data to compute for position. The receiver also computes for the clock difference between it and the satellite [25]. Figure III.16 GPS Satellite Relative Positioning Method The standard horizontal accuracy of a GPS receiver is 15 meters. Augmentation schemes like WAAS (Wide Area Augmentation System) and DGPS (Differential GPS) are implemented to improve accuracy to within 2-3 meters. Assisted GPS (A-GPS) is another augmentation scheme mostly utilized by mobile phones. In this scheme, the GPS receiver seeks "assistance" from mobile networks to improve accuracy. III.A.2.6.2.3 NMEA SENTENCES The computed longitude, latitude and altitude can be read by devices using the NMEA 0183 protocol (National Marine Electronics Association). This protocol creates "sentences" in ASCII format that contains those data plus additional information like bearing and speed. Each sentence starts with a set of $GPXXX codes that describes what information is contained within the sentence. 43 CHAPTER III DESIGN AND IMPLEMENTATION Out of all those codes, only 19 has been interpreted. Out of all those 19, only one code type is generally used to read location: $GPRMC which is defined as "Recommended minimum specific GPS/Transit data". An alternate to $GPRMC is $GPGGA which is defined as "Global Positioning System Fix Data". III.A.2.6.2.4 INTERFACING WITH GPS DEVICES Because NMEA sentences are strings, we can simply extract the information we need through various programming techniques. The NMEA sentences can be read from GPS devices via serial communication, particularly RS-232. Therefore, any microcontroller with USART features can read data from a GPS peripheral. If you are inside a room, your GPS might not receive information from satellites. For best results, see to it that the GPS antenna can "see" the sky. It would be better for us to free up the hardware serial port for debugging and to connect the GPS device to other pins. That is why we used the Software Serial library. We also used the DFRobot library to easily interface with the GPS receiving. III.A.2.6.2.5 AT COMMANDS AT commands are commands which are used to control the modems, where AT stands for Attention. These commands were derived from Hayes commands which were used by the Hayes smart modems. Every wireless, as well as the dial up modems, require an AT command to interact with a computer machine. III.A.2.6.2.6 SPECIFICATIONS The table below shows the properties of a SIM808 module. ➢ Receiver type • Tracking: 22 • Acquisition channel: 66 • GPS L1 C/A code ➢ Sensitivity 44 CHAPTER III DESIGN AND IMPLEMENTATION • Tracking: -165 dBm • Cold starts: -148 dBm ➢ Time-To-First-Fix • Cold starts: 32s (typ.) • Hot starts: <1s • Warm starts: 3s ➢ Accuracy • Horizontal position: <2.5m CEP III.A.2.6.3 GSM GSM is a standard set developed by the European Telecommunications Standards Institute (ETSI) to describe technologies for second-generation (2G) digital cellular networks. GSM is a mobile communication modem; it is stands for Global System for Mobile Communication (GSM). The idea of GSM was developed at Bell Laboratories in 1970. It is widely used mobile communication system in the world. GSM is an open and digital cellular technology used for transmitting mobile voice and data services operates at the 850MHz, 900MHz, 1800MHz and 1900MHz frequency bands [26]. GSM system was developed as a digital system using Time Division Multiple Access (TDMA) technique for communication purpose. A GSM digitizes and reduces the data, then sends it down through a channel with two different streams of client data, each in its own particular time slot. The digital system has an ability to carry 64 kbps to 120 Mbps of data rates. Figure III.17 Time Division Multiple Access Technique 45 CHAPTER III DESIGN AND IMPLEMENTATION TDMA technique relies on assigning different time slots to each user on the same frequency. It can easily adapt to data transmission and voice communication and can carry 64kbps to 120Mbps of data rate. III.A.2.6.3.1 GSM ARCHITECTURE A GSM network consists of the following components: ➢ A Mobile Station: It is the mobile phone which consists of the transceiver, the display and the processor and is controlled by a SIM card operating over the network. ➢ Base Station Subsystem: It acts as an interface between the mobile station and the network subsystem. It consists of the Base Transceiver Station which contains the radio transceivers and handles the protocols for communication with mobiles. It also consists of the Base Station Controller which controls the Base Transceiver station and acts as a interface between the mobile station and mobile switching centre. ➢ Network Subsystem: It provides the basic network connection to the mobile stations. The basic part of the Network Subsystem is the Mobile Service Switching Centre which provides access to different networks like ISDN, PSTN etc. It also consists of the Home Location Register and the Visitor Location Register which provides the call routing and roaming capabilities of GSM. It also contains the Equipment Identity Register which maintains an account of all the mobile equipments wherein each mobile is identified by its own IMEI (International Mobile Equipment Identity) number. The security strategies standardized for the GSM system make it the most secure telecommunications standard currently accessible. Although the confidentiality of a call and secrecy of the GSM subscriber is just ensured on the radio channel, this is a major step in achieving end-to- end security. III.A.2.6.3.2 GSM MODEM A GSM modem is a device which can be either a mobile phone or a modem device which can be used to make a computer or any other processor communicate over a network. A GSM modem requires a SIM card to be operated and operates over a network range subscribed by the network operator. It can be connected to a computer through serial, USB or Bluetooth connection. 46 CHAPTER III DESIGN AND IMPLEMENTATION It should also be noted that not all phones support this modem interface for sending and receiving SMS messages, particularly most smartphones like the Blackberry, iPhone and Windows mobile devices. A GSM modem can also be a standard GSM mobile phone with the appropriate cable and software driver to connect to a serial port or USB port on your computer. GSM modem is usually preferable to a GSM mobile phone. The GSM modem has wide range of applications in transaction terminals, supply chain management, security applications, weather stations and GPRS mode remote data logging. In these days, the GSM mobile terminal has become one of the items that are constantly with us. Just like our wallet/purse, keys or watch, the GSM mobile terminal provides us a communication channel that enables us to communicate with the world. The requirement for a person to be reachable or to call anyone at any time is very appealing. In this project, as the name implies, the project is based on GSM network technology for transmission of SMS from sender to receiver. SMS sending and receiving is used for ubiquitous access of the Smart Stick. The system proposes two sub-systems. Appliance control subsystem enables the user to control home appliances remotely and the security alert subsystem gives the automatic security monitoring. The Smart Stick allows family members to track the visually impaired person. The second aspect is that the user is capable of sending his location through SMS in case of danger. GSM will allow communication anywhere, anytime, and with anyone. The functional architecture of GSM employing intelligent networking principles, and its ideology, which provides the development of GSM is the first step towards a true personal communication system that enough standardization to ensure compatibility. III.A.2.6.3.3 SPECIFICATIONS Below are the specifications for sending SMS via GSM or GPRS: ➢ Point to point MO and MT ➢ SMS cell broadcast ➢ Text and PDU mode 47 CHAPTER III DESIGN AND IMPLEMENTATION III.A.2.7 BLUETOOTH MODULE The main function of the HC06 module is to communicate with the user’s smartphone through Bluetooth. The user will send vocal commands to the Smart Stick Finder App on his app. Then, his Bluetooth device will send info the HC06. The HC06 will then relay this information to the Arduino Nano through serial communication. Figure III.18 HC06 Module III.A.2.7.1 MODE OF OPERATION After connecting the module, you have to write the program in Arduino IDE to receive and send data to the module. For successful wireless communication you need to remember a few things [27]: ➢ In programming you need to set default baud rate of UART serial communication to 9600. The value is default setting of module and can be change in program. ➢ The module is a slave and so you need a master to establish a successful wireless interface. For that you need another [Arduino + module (with master feature)] setup or you can use a smartphone as a master and search for HC-06 slave. ➢ The master searches for slave and connects to it after authenticated with password. The HC-06 module has default password ‘1234’ which can be changed. ➢ In program you can receive data master sends (after authentication) and perform tasks based on it. 48 CHAPTER III DESIGN AND IMPLEMENTATION ➢ You can also type in AT command in serial terminal to communicate with the module. III.A.2.7.2 PIN CONFIGURATION The table below shows the connection between Arduino and the HC06 module. Table III.12 HC06 Pin Configuration Bluetooth Module VCC TX Arduino Nano 5V RX GND D12 D11 GND III.A.2.7.3 SPECIFICATIONS The table below shows the pins of the HC06 module and their properties. Table III.13 HC06 Specifications Properties Band Values 2.40GHz to 2.48GHz, ISM Operating Safety feature voltage range Authentication and encryption +3.3V to +6V Operating temperature range Operating Distance Current -20ºC to +55ºC 40mA <100m III.A.2.7.4 JUSTIFICATION OF COMPONENT This module was chosen for the following reasons: ➢ It is the best option when short distance wireless communication is needed. The module is used for wireless communications of less than 100 meters. ➢ The module is very easy to interface and to communicate. ➢ The module is one of the cheapest solutions for wireless communication of all types present in the market. ➢ The module consumes very less power to function and can be used on battery operated mobile systems. ➢ The module can be interfaced with almost all controllers or processors as it uses UART interface. 49 CHAPTER III DESIGN AND IMPLEMENTATION We could have used a 433MHz Radio-Frequency (RF) module. The setback we had using it was that it needed a separate microcontroller to work with. Its detection range is a few centimetres and we would have bought an extra pair of antennae to extend its detection range. III.A.2.8 BUTTON It is also called a switch. It is a device which is designed to interrupt the current flow in a circuit, in other words, it can make or break an electrical circuit. Every electrical and electronics application uses at least one switch to perform ON and OFF operation of the device. A switch can perform two functions, namely fully ON (by closing its contacts) or fully OFF (by opening its contacts). When the contacts of a switch are closed, the switch creates the closed path for current flow and hence the load consumes the power from the source. When the contacts of a switch are open, no power will be consumed by the load as shown in below figure [28]. Figure III.19 Circuit Diagram of Switches Switches can be of mechanical or electronic type. ➢ Mechanical switches must be activated physically, by moving, pressing, releasing, or touching its contacts. This what we are going to use in our project. ➢ Electronic switches do not require any physical contact in order to control a circuit. These are activated by semiconductor action. Mechanical switches can be classified into different types based on several factors such as method of actuation (manual, limit and process switches), number of contacts (single contact and 50 CHAPTER III DESIGN AND IMPLEMENTATION multi contact switches), number of poles and throws (SPST, DPDT, SPDT, etc.), operation and construction (push button, toggle, rotary, joystick, etc), based on state (momentary and locked switches), etc. Based on the number of poles and throws, switches are classified into following types: ➢ SPST (Single Pole Single Throw); ➢ SPDT (Single Pole Double Throw); ➢ DPST (Double Pole, Single Throw); ➢ DPDT (Double Pole Double Throw). The pole represents the number of individual power circuits that can be switched. Most of the switches are designed have one, two or three poles and are designated as single pole, double pole and triple pole. The number of throws represents the number of states to which current can pass through the switch. Most of the switches are designed to have either one or two throws which are designated as single throw and double throw switches. For our project, we’ll need a Push Button Switch for emergency purposes and a Single Pole Single Throw Switch (SPST) to power on/off our cane. Figure III.20 Switch Configuration by Function 51 CHAPTER III DESIGN AND IMPLEMENTATION III.A.2.8.1 PUSH BUTTON SWITCH It is a momentary contact switch that makes or breaks connection as long as pressure is applied (or when the button is pushed). Generally, this pressure is supplied by a button pressed by someone’s finger. This button returns its normal position, once the pressure is removed. The internal spring mechanism operates these two states (pressed and released) of a push button. It consists of stationary and movable contacts, of which stationary contacts are connected in series with the circuit to be switched while movable contacts are attached with a push button. Push buttons are majorly classified into normally open, normally closed and double acting push buttons as shown in the figure below. Figure III.21 Push Button This push button is in this project called the SOS button. It permits the user to send his location should any emergency arise. III.A.2.8.2 SINGLE POLE SINGLE THROW SWITCH This is the basic ON and OFF switch consisting of one input contact and one output contact. It switches a single circuit and it can either make (ON) or break (OFF) the load. The contacts of SPST can be either normally open or normally closed configurations. Figure III.22 Single Pole Single Throw Switch 52 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.23 Circuit Diagram of a Single Pole Single Throw Switch This SPST switch is used in this project to power on or to power off the Smart Stick. When powered off, it is used as a traditional cane. When powered on, its new technological features can be explored. III.A.2.9 POWER SUPPLY Since our Smart Stick is a mobile and embedded system, it needs its own power supply. Taking into consideration the power requirements of our different components, we chose to use a Power bank with the following specifications: ➢ Charge: 20000mAh ➢ Input: 5VDC/2A ➢ Output 1: 5VDC/2A ➢ Output 2: 5VDC/2A Figure III.24 Power Bank 53 CHAPTER III DESIGN AND IMPLEMENTATION We chose this power supply because the SIM808 demands a current of 2A and the overall voltage used is 5V. Also, it has two outputs which is fairly suitable to power up our three main components namely the two Arduino Nanos and the SIM808 module. We want our Smart Stick to power on for at least 8 hours before being charged again. Hence, the following calculations are deduced: Table III.14 Project Current Consumption Elements Arduino Nano Current 2*20mA Draw Elements Motor Ultrasonic Sensor 3*15mA Water Sensor 20mA Buzzer GSM GPS Total Current Draw 2*30mA 20mA 24mA 244mA 2*70mA Level Bluetooth Module 40mA Total 145mA Total Project Current Consumption 389mA Battery Capacity in mAh = Project Current Consumption in mA * Run Time in Hours Run Time (in Hours) = 8 h * 389 mA = 3112 mAh. Hence, we need a power bank of at least 3500 mAh 5V 2A. III.B IMPLEMENTATION III.B.1 SMART STICK III.B.1.1 CLICKCHARTS This software permits one to quickly create visual representations of a process or organization by making a diagram with ClickCharts. The most popular chart designs can be crafted within the program, including Flowcharts, UML, ER diagrams, data flow diagrams, mind map diagrams, and more. ClickCharts makes it easy to get started with chart templates and an intuitive user interface. The program provides a variety of symbols, shapes, and colours to get the most out of your diagrams. When finished, print your diagram or save to your computer with commonly used formats like .pdf, .png, .jpg, and more. This app has the following features: 54 CHAPTER III DESIGN AND IMPLEMENTATION ➢ Latest version: ClickCharts 5.25 for Windows ➢ Requirements: Windows 7 and above ➢ Languages: English, French, Polish, Chinese, Italian, Japanese, German, Spanish ➢ Author: NCH Software ➢ Size: <5MB Figure III.25 ClickCharts Interface III.B.1.2 FLOWCHARTS The diagrams below explain the sensory and tracking modules. 55 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.26 Sensory Module Flowchart 56 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.27 Tracking Module Flowchart 57 CHAPTER III DESIGN AND IMPLEMENTATION III.B.1.3 PROTEUS Proteus is a simulation and design software tool developed by Labcenter Electronics for Electrical and Electronic circuit design. It also possesses 2D CAD drawing feature. It is a software suite containing schematic, simulation as well as PCB designing. ➢ ISIS (Intelligent Schematic Input System) is the software used to draw schematics and simulate the circuits in real time. The simulation allows human access during run time, thus providing real time simulation. ➢ ARES (Advanced Routing and Editing Software) is used for PCB designing with electronic routing, mounting, and processing functions. It has the feature of viewing output in 3D view of the designed PCB along with components. ➢ The designer can also develop 2D drawings for the product. Figure III.28 Proteus 8.8 Home Page for Windows 58 CHAPTER III DESIGN AND IMPLEMENTATION III.B.1.3.1 CIRCUIT DIAGRAM This circuit diagram was drawn in ISIS and will permit us to automatically generate its PCB using ARES. Figure III.29 Circuit Diagram III.B.1.3.2 3D VIEW The 3D view of the circuit is automatically generated using the 3D Visualizer of Proteus. Figure III.30 3D View (Proteus) 59 CHAPTER III DESIGN AND IMPLEMENTATION III.B.1.3.3 PRINTED CIRCUIT BOARD (PCB) III.B.1.3.3.1 DRAWING THE PCB DESIGN The PCB of our Smart Stick first had to be drawn of course in ARES. Using the Autoplacer feature will automatically place the different components on the PCB. But we don’t want that. This is because we want the PCB to fit the dimensions of a traditional cane. And as such, we’ve chosen the dimensions 154 mm x 40.5 mm. Next, we have to use the Auto-router feature to automatically wire up the PCB with tracts, linking the different connections in the bottom copper section. But we noticed that the distance between the tracts are too close and can be problematic during the domestic fabrication of the PCB. So, we have manually redrawn the PCB, distancing the tracts further. Here is a preview. Figure III.31 PCB (All Layers) Figure III.32 PCB (Bottom Copper) 60 CHAPTER III DESIGN AND IMPLEMENTATION III.B.1.3.3.2 DOMESTIC PCB MANUFACTURING We printed our PCB at a cybercafé and manufactured it at home. ➢ Requirements • A glossy photo A4 paper; • A blanc single layer PCB; • An etching mixture of acid (ferric chloride) and oxygenated water; • A metallic sponge to clean the PCB. ➢ Procedure • Print the PCB design on a glossy A4 sheet of paper. • Cut the PCB according to the required dimension. Figure III.33 Shining PCB • Clean the board using a metallic sponge, soap and water until it is shining. • Transfer the PCB design from the A4 paper to the board using a laundry iron. Iron the paper until its completely white. Figure III.34 PCB Design 61 CHAPTER III DESIGN AND IMPLEMENTATION • Use a marker to reinforce and make more visible the PCB design. Put the board in a plastic basin containing an etching solution to remove any unwanted copper layer. Wait until it becomes yellow like the top layer. Don’t wait too long if not the acid will remove the desired copper. • Use a sponge to watch off impurities from the board to obtain an exposed copper layer. Rinse the board with water. • Drill holes on the board. • Place wires for the top copper layer, then place the components on the board through the holes (from smaller to bigger ones). Solder them progressively onto the board. Figure III.35 Bottom Copper PCB Layer Figure III.36 Top Copper PCB Layer III.B.1.3.3.3 ASSEMBLING COMPONENTS The figure beneath shows the main part of our Smart Cane after being assembled. 62 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.37 Smart Stick Control Centre III.B.1.4 ARDUINO IDE Arduino IDE is an open-source tool that makes it possible for users to write as well as upload code to a work environment in real-time. The Arduino Software (IDE) allows you to write programs and upload them to your board. The software can easily be deployed in any Linux, Mac, or Windows operating systems. In the Arduino Software page, you will find two options: ➢ Arduino Web Editor: If you have a reliable Internet connection, you should use the online IDE (Arduino Web Editor). It will allow you to save your sketches in the cloud, having them available from any device and backed up. You will always have the most up-to-date version of the IDE without the need to install updates or community generated libraries. Tutorials are present for users who have little experience dealing with the tool’s framework. ➢ Arduino Desktop IDE: If you would rather work offline, you should use the latest version of the desktop IDE. 63 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.38 Arduino Desktop IDE III.B.1.4.1 LIBRARIES USED To effectively use Arduino IDE, we needed to use libraries. Arduino libraries are collections of code which make it possible for Arduino microcontroller boards like the Arduino Nano to connect easily to sensors, displays etc… The following libraries were used in our project. Table III.15 Arduino Libraries Library Name Library Definition ProfileTimer To show the duration of tasks SoftwareSerial To use any pins for serial communication DFRobot_sim808 To use the SIM808 without AT commands Ultrasonic To use multiple ultrasonic sensors with little interference III.B.1.4.2 PROGRAM CODE III.B.1.4.3 SENSORY MODULE Here, we’ll present, not the entire code, but an extract of our code and a flowchart listing some of the functions used and how they interact with each other. 64 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.39 Sensory Module Flowchart Figure III.40 Sensory Module Code (Extract) 65 CHAPTER III DESIGN AND IMPLEMENTATION III.B.1.4.4 TRACKING MODULE We’ll do the same procedure as in the previous heading. Figure III.41 Tracking Module Flowchart Figure III.42 Tracking Module Code (Extract) 66 CHAPTER III DESIGN AND IMPLEMENTATION III.B.1.4.5 FUNCTIONS USED This is a list of all the functions used in our project, including their role. Table III.16 Arduino Functions Function Name Function Definition pinConfig() To configure pins either as OUTPUT or as INPUT allOutputHigh() To set all output pins (buzzer and motor) HIGH allOutputLow() To set all output pins to LOW setup() To execute a set of commands once detectObstacle() To detect obstacles at the left, right and front detectWaterLevel() To send feedback once the predefined water level is attained readWaterSensor() To read the value of the water sensor millis() To set the timer (this is a non-blocking function) ringCane() To either ring the cane or mute it simInit() To verify the presence of a valid SIM card detectButtonPressed() To verify whether the SOS button is pressed onButtonPressed() To use getGPS() and sendGPS() once the SOS button is pressed detectUnreadSMS() To verify the presence of an unread SMS onUnreadSMS() To use getGPS() and sendGPS() once a valid code is present sim808.readSMS() To read any SMS sim808.deleteSMS() To delete an SMS on reception (after extracting its information) in order not to exhaust the SIM’s memory. validSMSCode() To verify whether the message contains a valid code sim808.isSMSunread() Stores SMS information like phone number, date, time, message getGPS() To fetch the user’s location sim808.attachGPS() To turn on the GPS power sim808.detachGPS() To turn off the GPS power sendGPS() To send the user’s location through SMS 67 CHAPTER III DESIGN AND IMPLEMENTATION III.B.2 SMART STICK FINDER This is the app that will help the user to locate his cane in case he lost it. This app is was created to run on smartphones running the Android operating system. It is therefore important to present to you a model of our app. We’ll use the Unified Modeling Language (UML). III.B.2.1 UNIFIED MODELING LANGUAGE (UML) UML is a standardized modeling language consisting of an integrated set of diagrams, developed to help system and software developers for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other nonsoftware systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. The UML is a very important part of developing object-oriented software and the software development process. The UML uses mostly graphical notations to express the design of software projects. Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software. In this section, we will give you a description of each UML diagram we used [29]. There are 13 diagrams in the UML divided into two: structure diagrams and behaviour diagrams. Structure diagrams show the static structure of the system and its parts on different abstraction and implementation levels and how they are related to each other. Behaviour diagrams show the dynamic behaviour of the objects in a system, which can be described as a series of changes to the system over time. There are seven types of behaviour diagrams as follows, three of which are vital to create our app: activity, use case and sequence diagrams. III.B.2.1.1 USE CASE DIAGRAM A use-case model describes a system's functional requirements in terms of use cases. It is a model of the system's intended functionality (use cases) and its environment (actors). Use cases enable you to relate what you need from a system to how the system delivers on those needs. 68 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.43 Use Case Diagram III.B.2.1.2 ACTIVITY DIAGRAM Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. It describes the flow of control of the target system. Figure III.44 Activity Diagram 69 CHAPTER III DESIGN AND IMPLEMENTATION III.B.2.1.3 SEQUENCE DIAGRAM The Sequence Diagram models the collaboration of objects based on a time sequence. It shows how the objects interact with others in a particular scenario of a use case. Figure III.45 Sequence Diagram III.B.2.2 MIT APP INVENTOR An easy and quick way to build an app is by using the website http://appinventor.mit.edu/. MIT App Inventor is a web application integrated development environment originally provided 70 CHAPTER III DESIGN AND IMPLEMENTATION by Google, and now maintained by the Massachusetts Institute of Technology (MIT). It allows newcomers to computer programming to create application software (apps) for two operating systems (OS): Android, and iOS, which, as of 8 July 2019, is in final beta testing. It is free and open-source software [30]. It uses a graphical user interface (GUI) very similar to the programming languages Scratch (programming language) and the StarLogo, which allows users to drag and drop visual objects to create an application that can run on android devices. App-Inventor Companion is the program that allows the app to run and debug on devices. III.B.2.2.1 REQUIREMENTS What are the software and hardware requirements for using App Inventor? The points below answer that. ➢ Computer and the operating system • Macintosh (with Intel processor): Mac OS X 10.5 or higher • Windows: Windows XP, Windows Vista, Windows 7 • GNU/Linux: Ubuntu 8 or higher, Debian 5 or higher ➢ Browser • Mozilla Firefox 3.6 or higher • Apple Safari 5.0 or higher • Google Chrome 4.0 or higher • Microsoft Internet Explorer is not supported ➢ Phone or Tablet (or use the on-screen emulator): Android Operating System 2.3 ("Gingerbread") or higher III.B.2.2.2 APP INVENTOR DESIGNER App Inventor Designer permits us to design an app's user interface by arranging both on and off-screen components. 71 CHAPTER III DESIGN AND IMPLEMENTATION Figure III.46 App Inventor Designer III.B.2.2.3 APP INVENTOR BLOCKS EDITOR App Inventor Blocks Editor enables us to program the app's behaviour by putting blocks together. Figure III.47 App Inventor Blocks Editor 72 CHAPTER III DESIGN AND IMPLEMENTATION III.B.2.2.4 FLOWCHART The figure below shows in details how the Smart Stick Finder works. Figure III.48 Smart Stick Finder Flowchart III.B.2.2.5 AUTORUN SMART STICK FINDER Remember that the visually impaired person should not start the app. The app should autorun. But how can we accomplish. After some research, we found an app called Launch on Boot. Follow the steps bellow to configure to autorun our app [31]. 73 CHAPTER III DESIGN AND IMPLEMENTATION ➢ Open the Launch On Boot app. Figure III.49 Launch On Boot App ➢ Activate the Enabled and the Launch when device wakes up? buttons. ➢ Then, click on SELECT APP to select an app and choose Smart_Stick. Figure III.50 Launch On Boot Interface 74 CHAPTER III DESIGN AND IMPLEMENTATION III.B.2.2.6 SMART STICK FINDER ANDROID APP The following pictures show the Smart Stick Finder App’s window when the Bluetooth is connected and when it is disconnected. Figure III.51 Smart Stick Finder Disconnected and Connected This chapter had as aim to present all the hardware and softwares used to design our cane. We also showed the interaction between different elements of the cane using flowcharts. The next phase is to do some tests and compare the results obtained with the expected results. 75 CHAPTER IV TESTS, RESULTS AND COSTS IV TESTS, RESULTS AND COSTS After dumping the desired code into the Nano using Arduino IDE the Smart Stick is ready to be tested, the project is now ready to be tested. The testing will focus on analysing the distance from the cane to the obstacles, the response of the cane in the presence of water, the response when the SOS push button is pressed and the reply to any phone which asks for the location of the visually impaired. IV.A TESTS IV.A.1 SENSORY MODULE IV.A.1.1 OBSTACLE DETECTION AND FEEDBACK TESTS Initially, we need to find the distance between the ultrasonic sensors and a given obstacle using a ruler. Then, we find that same distance using the ultrasonic sensors. Next, we need to compare both results using a table and find the error in the measurements. Then, the distance is gradually varied for different objects of varying size. We expect to hear buzzing sounds and vibrations from the cane when the distance between any given object is less than 30 cm. IV.A.1.2 WATER LEVEL DETECTION AND FEEDBACK TESTS To get accurate readings out of the water level sensor, it is recommended that we first calibrate it for the particular type of water that you plan to monitor. As you know pure water is not conductive. It’s actually the minerals and impurities in water that makes it conductive. So, a given sensor may be more or less sensitive depending on the type of water you use. Before we start storing data or triggering events, we should see what readings we are actually getting from our sensor. Using the pinouts shown in the previous chapter, we noted what values our sensor outputs when it was completely dry, when it was partially submerged in water and finally when was completely submerged. The following values are what we expect to see in the serial monitor: when the senor is dry (0), when it is partially submerged in the water (~420) and when it is completely submerged 76 CHAPTER IV TESTS, RESULTS AND COSTS (~520). Also, according to our program code we expect to hear buzzing sounds and vibrations from the cane when the reading from the water level sensor is greater than 255. Figure IV.1 Water sensor expected readings IV.A.2 TRACKING MODULE Testing the SIM808 module consists of answering the following questions: ➢ Does the cane respond when the SOS button is pressed? If yes, does the user receive feedback and how long does it take to respond? ➢ How long does it take for the SIM808 to search for the location? Are the GPS coordinates accurate? ➢ Does the SIM808 respond to any message or does it respond only to messages having the code? If the latter is true, how long does it take for the sender to receive a notification? IV.A.3 ANDROID APP Testing the SIM808 module consists of answering the following questions: ➢ Does the Smart Stick Finder App automatically launch when the device is unlocked and when it is started? ➢ Does the Android app automatically connect to the cane’s Bluetooth module? ➢ Does the proximity sensor work? 77 CHAPTER IV TESTS, RESULTS AND COSTS ➢ How accurate is the speech recognizer in recognising the user’s voice? ➢ How long does it take for the cane to be muted and to be ringing after receiving vocal commands from the user? IV.B RESULTS AND COMMENTS IV.B.1 SENSORY RESULTS IV.B.1.1 OBSTACLE DETECTION RESULTS From these tests we can say that the Smart Stick is able to accurately calculate the distance from obstacles. Some of the results of the test from the serial monitor of Arduino IDE are shown below. All the results are in centimetres (cm). Also, ‘1’ means true (that the buzzer and motor were turned on) and ‘0’ false. Table IV.1 Obstacle Detection Results (a) Expected Value Real Value Absolute Error Buzzer Motor Observation (Ev) (Rv) = Ev – Rv On On 2 3 1 1 1 4 5 1 1 1 6 7 1 1 1 8 9 1 1 1 10 11 1 1 1 12 13 1 1 1 14 15 1 1 1 16 17 1 1 1 18 19 1 1 1 20 21 1 1 1 22 23 1 1 1 24 25 1 1 1 26 27 1 1 1 28 29 1 1 1 30 31 1 1 1 78 Error CHAPTER IV TESTS, RESULTS AND COSTS 32 33 1 0 0 34 35 1 0 0 36 37 1 0 0 38 39 1 0 0 40 41 1 0 0 Figure IV.2 Obstacle Detection Results Table IV.2 Obstacle Detection Results (b) Number of Tests Number of Tests Succeed % Tests Succeeded 20 19 95% These results show that this cane can accurately detect obstacles and ponds from the user. The user was immediately alerted through buzzing sounds and vibrations. 79 CHAPTER IV TESTS, RESULTS AND COSTS IV.B.1.2 WATER LEVEL DETECTION RESULTS After a vessel containing water was placed on the table and the water level sensor was immersed into it, continuous beep sounds were heard and the vibrations of the motor were felt. The following visual aid depicts the results for water detection to prevent the user from entering into stationary water in his environment. They were taken from Arduino IDE’s serial monitor. Figure IV.3 Water Level Detection Results Table IV.3 Water Level Detection Results (a) Water Level Buzzer On Motor On 256 1 1 260 1 1 263 1 1 268 1 1 290 1 1 300 1 1 80 CHAPTER IV TESTS, RESULTS AND COSTS 301 1 1 303 1 1 304 1 1 305 1 1 307 1 1 308 1 1 309 1 1 313 1 1 315 1 1 Table IV.4 Water Level Detection Results (b) Number of Tests Number of Succeed Tests % Succeeded Tests 15 15 100% Table IV.5 Sensory Module Detection Results Name of Sensors Number of Tests Number of Tests Succeed % Tests Succeeded Ultrasonic Sensor 20 19 95% Water Sensor 15 15 100% Average % Tests Succeeded 97.5% Since the value is greater than 256, our default water level, we observed that the motor and the buzzer were turned on. The higher the value of the water sensor, the more sensitive it becomes, the reason why 520 is the level when fully immersed but 420 when the tank is half-full. The water detector had to come in contact with water to activate an alarm. It had to be touching the water before being able to detect water, which is why it was placed at the bottom of the stick, not underneath. 81 CHAPTER IV TESTS, RESULTS AND COSTS IV.B.2 TRACKING RESULTS Consider the scenarios below and observe the results. ➢ A message “Hey!” was sent to the user’s telephone. No reply was observed from the cane. (See Figure IV.4 First Tracking Result) ➢ Next, we sent another message “LOCATION”. Immediately after, we received his location. Google Maps showed him at 450m from where he was expected to be found. Figure IV.4 First Tracking Result ➢ We sent again another SMS with the wrong code: “Patrick”. No reply was observed. We then pressed the SOS button 2 times and the location was sent. Google Maps showed him at 400m from where he was supposed to be. (See Figure IV.5 Second Tracking Result) ➢ A third wrong code message was sent: “Visual impairment”. Once more, no reply was observed. 82 CHAPTER IV TESTS, RESULTS AND COSTS ➢ Then, we sent the SMS with the right code: “location”. Instantly, we received his location. Google Maps showed him at 30m from where he was supposed to be. ➢ Lastly, we sent two other wrong code messages: “Where are you”, “Hey” and “Heyh”. No observations seen. (See Figure IV.6 Fourth Tracking Result) ➢ Even when we sent the right code messages: “location” and “LOCATION”, the can replied with the location only after sending a wrong code. So, we pressed the SOS button and we received our location. (See Figure IV.6 Fourth Tracking Result) Figure IV.5 Second Tracking Result 83 CHAPTER IV TESTS, RESULTS AND COSTS Figure IV.6 Fourth Tracking Result The GSM module responded immediately. We can’t take credit for that as it is dependent on the Service Provider. The GPS module gave us more accurate readings at the third trial. The first reading had an absolute error of 450m. This is so because we stayed a long time without getting our location. We can conclude for this particular test that the lesser the time between any two readings, the more accurate the GPS readings. Of course, each time that th button was pressed and the user’s location was sent, he was notified. We observed that the motor was vibrating and the buzzer was beeping as expected. IV.B.3 ANDROID APP RESULTS We noticed that the speech recogniser had difficulties recognising our voice. This is because it was not connected to the Google database (Google Assistant) through the internet. So, we changed previous commands like “find my cane” and “stop ringing” to “find my stick” or “help” and “stop” respectively. When the speech recogniser captures no voice, it sends an error message like the one below. The user needs to tap the screen once to send vocal commands again. 84 CHAPTER IV TESTS, RESULTS AND COSTS Figure IV.7 Android App Error Message Figure IV.8 Android App Results from Serial Monitor IV.C DIFFICULTIES ENCOUNTERED After looking into the requirements and things the Smart Stick needs to do, we can conclude that this project had several limitations that can’t be fixed or changed until there is enough budget or new technology created. 85 CHAPTER IV TESTS, RESULTS AND COSTS ➢ First of all, the ability for the Smart Stick to work in rainy weather and low-power cellular base-station signal like in basement and etc. ➢ Mobile credit data needs to be in sufficient balance in order to send the SMS notification to the smartphone. ➢ Since the speech recogniser is not connected to internet, it sometimes has difficulties to recognise the user’s voice. ➢ The stick is only able to detect obstacles the knee level. ➢ The cost price of some materials greatly increased because the COVID-19. For example, the price of one litre of oxygenated water climbed from 2,500 XAF to 4,500 XAF because some of its constituents are being used to produce hand sanitisers. IV.D ESTIMATION OF THE COST OF OUR PROJECT We are going to present to you an estimation of the total cost of this project. This includes an estimation of the cost of the Smart Stick and an estimation of the cost of developing the Smart Stick Finder App and in programming the Smart Stick. IV.D.1 COST ESTIMATION OF THE SMART STICK Here is a table presenting the complete list of the materials used in our smart cane and their various prices. Table IV.6 List and Prices of Smart Stick Components Materials Reference/Properties Unit Price Quantity Cost Price Arduino Nano + Cable v3.0 3,500 2 7,000 GPS/GSM/GPRS SIM808 15,000 1 15,000 Power Bank 5V 2A 3,000 1 3,000 Buzzer Active/Passive 100 2 200 Motor 5VDC 500 2 1,000 86 CHAPTER IV TESTS, RESULTS AND COSTS PCB 1,500 1 1,500 Oxygenated Water 4,500 1/4 1,125 Acid 2,500 1/4 625 1,500 3 4,500 2,000 1 2,000 Ultrasonic Sensor 10x10 cm2 HC-SR04 Water Sensor Terminal Blocks 4 holes 350 4 1,400 Connectors Male-Female 40 pins 350 2 700 Push Button 100 1 100 Mini On-Off Slide Switch 200 1 200 4,000 1 4,000 Bluetooth Module HC06 Total (XAF) 42,350 Handwork (30%) 12,705 Cost Estimation 55,055 IV.D.2 COST ESTIMATION OF SOFTWARE DEVELOPMENT IV.D.2.1 BASIC COCOMO OVERVIEW The Basic Constructive Cost (COCOMO) Model computes software development effort (and cost) as a function of program size. Program size is expressed in estimated thousands of source lines of code (KLOC). COCOMO applies to three classes of software projects: ➢ Organic projects: "small" teams with "good" experience working with "less than rigid" requirements; ➢ Semi-detached projects: "medium" teams with mixed experience working with a mix of rigid and less than rigid requirements; 87 CHAPTER IV TESTS, RESULTS AND COSTS ➢ Embedded projects: developed within a set of "tight" constraints. It is also combination of organic and semi-detached projects (hardware, software, operational, ...). IV.D.2.2 EFFORT ESTIMATION The basic COCOMO equations take the form: ➢ Effort Applied (E) = Ab * KLOC ˄ Bb [staff-months] ➢ Development Time (D) = Cb * E ˄ Db [months] ➢ People required (P) = E / D [staff] where, KLOC is the estimated number of delivered lines (expressed in thousands) of code for project. The coefficients Ab, Bb, Cb and Db are given in the following table (note: the values listed below are from the original analysis, with a modern re-analysis producing different values): Table IV.7 Classes of Software Projects Software project Ab Bb Cb Db Organic 2.4 1.05 2.5 0.38 Semi-detached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32 For our Smart Stick project, we choose the project as an Organic project, so the coefficients take the values as Ab = 2.4, Bb = 1.05, Cb = 2.5 and Db = 0.38. IV.D.2.3 NUMBER OF LINES OF CODE The number of lines of code is simply the source lines of code (SLOC), that is the total number the total number of lines of code excluding empty lines and comments. Since MIT App Inventor does not contain lines of code but blocks of code, we calculated the total number of blocks. Table IV.8 LOC Calculation Properties LOC No. of Spaces No. of Comments Net LOC Sensory Module 170 18 15 137 88 CHAPTER IV TESTS, RESULTS AND COSTS Tracking Module Android App 233 26 14 72 193 72 Total LOC 402 Here, we notice that we have 402 LOC or 0.402 KLOC. IV.D.2.4 COST ESTIMATION Finally, we apply the COCOMO equations using the coefficients and other calculated parameters: ➢ Effort Applied (E) = 2.4 * (0.402^1.05) = 0.92 [staff-months] ➢ Development Time (D) = 2.5 * (0.92^0.38) = 2.42 [months] ➢ People required (P) = 5.54 / 4.79 = 0.38 [staff] ➢ Development Time expressed in hours gives 2.42 * 720 = 1745.17 hours. ➢ According to the SGR (Standish Group Report), 1 coding hour = 10 EUR and 1 EUR = 655.957 XAF8. We obtained the following information below: ➢ D = 2.42 * 720 = 1745.17 [hours] ➢ 1 hour = 10 EUR ➢ 1 EUR = 655.957 XAF Table IV.9 Cost of Software Development Property Development Time Value 1745.17 hours Cost of Development Cost of Software per hour Development 6559.57 XAF per hour 11,447,597.29 XAF IV.D.3 TOTAL COST ESTIMATION To get the total cost of our project, we need to add the cost of the Smart Stick to the cost of software development. We obtain the results below: 8 This result is based on https://www.xe.com/currencyconverter/convert/?From=EUR&To=XAF. 89 CHAPTER IV TESTS, RESULTS AND COSTS Our project is an Organic project and has an Effort of 0.92 staff-months, will need about 1 person to complete the Smart Stick in some 2 months. With the help of the COCOMO cost/effort methodology, we can safely conclude that our project costs 11,502,650 XAF. Estimating software development projects with a high level of accuracy is mostly desirable. Challenges can occur while using COCOMO methods especially due to the issues of applying the generic software parameters and other elements of this methodology. The Basic COCOMO is a good approach for quickly estimating software costs. However, it does not account for differences in hardware constraints, personnel quality and experience, use of modern tools and techniques, etc. IV.E FUTURE SCOPE The technologies behind blind sticks are upgrading day by day and our model ensures one thing, that is making the task of moving of a blind person easy and comfortable. The stick is also very light and handy to carry. And the components or parts that we used in the stick are also easily available and less in cost. And besides all that the manufacturing cost is also quite low, that makes the stick affordable for people of all class and age. In the future, if further improvement and investment is carried out with the stick then it will be an even more effective device for the future world. Some of the techniques in which this device can be modified are given below: ➢ Arduino Nano can be replaced by an upgraded microcontroller or chip. ➢ The application of the stick can also be replaced with wearables like waist belts, goggles, boots, …. In all these cases the user does not have to hold anything; he or she can only wear these things. ➢ Shape detection technique, for example using a camera, can also be used as it offers accuracy. ➢ Increasing the number of sensors and actuators to implement some other applications like on-coming vehicle detection, fire or smoke. ➢ A solar panel power bank can be used which permits the stick to automatically charge itself. ➢ The stick can be further enhanced by using Very Large-Scale Integration (VLSI) technology to design the PCB unit. This can make the system even more compact and thus increase its portability and reduce its price. 90 CHAPTER IV TESTS, RESULTS AND COSTS ➢ A servo motor can be attached to the ultrasonic sensor to increase the detection range of obstacles in front the user. ➢ The cane can integrate other GSM functions like to accept or reject a call, send a vocal message, all these using an earphone connected to the user’s cane. Thus, the smart stick becomes a smartphone. ➢ Vocal commands can be inserted directly into Google Assistant Server using IFTTT (If This Then That) and MQTT (Message Queuing Telemetry Transport) protocol. ➢ Voice modules can be used which can permit the visually impaired person to hear the observations from sensors like the distance from an obstacle, the shape of an obstacle, and the water level when a cane is immersed in water. ➢ Building a water-resistant cane by using water-resistant materials and/or choosing waterresistant components. ➢ Use Wi-Fi to increase the range of distance from the cane while finding the lost cane. In this chapter, we were to consider the different tests performed and their results. We also commented on the results and say with confidence that the Smart Stick does what it’s expected to do, that of detecting obstacles and ponds, alerting family members in case of emergencies, tracking the user, and finding the lost cane. 91 GENERAL CONCLUSION GENERAL CONCLUSION This memoir shows that our Smart Stick is cheap, easily portable, and accurate in detecting obstacles and tracking users. The main aim of this project was to detect objects in front of the visually impaired person and enable them to walk with ease and more confidence in an unfamiliar path and also ensure their safety. We therefore used a Horned Beast diagram, an Octopus diagram, FAST diagrams, and SADT diagrams to model our system. After detailing all the hardware and softwares needed for our cane to come to fruition, we did a simulation of our project on a breadboard using Arduino IDE and MIT App Inventor for programming. Next, we used Proteus to create our PCB design which we then fabricated and assembled with other components. Of course, we faced some difficulties. Some were immediately addressed, others not. For example, the cane cannot function under the rain, the Android app’s speech recogniser was sometimes ineffective, the stick could only detect obstacles above the level of the knees, some materials had their prices increased because of th current health crisis. Despite the above sticky wicket, we learned how to pliant and not only improved our programming skills but also designed a PCB at home! This cane is far from perfect. What can make this walking stick even smarter is adding vocal commands to Google Assistant servers, using water-resistant materials and increasing the number of sensors. Nobody is perfect that’s why pencils have erasers. And as Anthony T. Hincks once said: “When you write and draw in pencil, your eraser is your best friend.” We therefore await your critics and remarks hoping that it’ll help to ‘sharpen’ us. . 92 REFERENCES REFERENCES [1] WHO, "WHO," [Online]. Available: https://www.who.int/news-room/factsheets/detail/blindness-and-visual-impairment. [Accessed 1 February 2020]. [2] S. Resnikoff, D. Pascolini, D. Etya'ale, I. Kocur, R. Pararajasegaram, G. P. Pokharel and S. P. Mariotti, "Global data on visual impairment in the year 2002," Bull World Health Organ, vol. 82, pp. 844-851, 2014. [3] S. Adhe, S. Kunthewad, P. Shinde and V. S. Kulkarni., "Ultrasonic Smart Stick for Visually Impaired People," IOSR Journal of Electronics and Communication Engineering, pp. 11-15, 2015. [4] V. Badre, R. Chhabria, T. Kadam and K. Karamchandani, "Ultrasonic Blind Walking Stick with Voice Playback," International Research Journal of Engineering and Technology, vol. 3, pp. 1948-1951. [5] M. A. Therib, "Smart Blinding Stick with Holes, Obstacles and Ponds Detector Based on Microcontroller," Journal of Babylon University/Engineering Sciences, vol. 25, pp. 17591768, 2017. [6] S. B. Deepika, E. Divya, K. Harshitha, K. B. Komala and P. C. Shruthi, "Ultrasonic Blind Walking Stick," International Journal of Advance Electrical and Electronics Engineering, vol. 5, pp. 20-22, 2016. [7] A. Bhokare, A. Amberkar, A. Gawde, P. Kale and A. Pasi, "Ultrasonic Blind Walking Stick," International Journal on Recent and Innovation Trends in Computing and Communication, vol. 4, pp. 62-65, 2016. [8] Y. Bais, P. Sharma and S. V. Dhole, "Ultrasonic Blind Walking Stick," International Journal of Current Engineering and Scientific Research, vol. 5, pp. 110-113, 2018. [9] M. Oruganti, S. C. Vadla, V. Yellenki, N. Shriyans and Rushikesh, IJARIIE, vol. 4, pp. 2188-2195, 2018. [10] D. Sekar, S. Sivakumar, P. Thiyagarajan, R. Premkumar and M. V. Kumar, "Ultrasonic and Voice Based Walking Stick for Blind People," International Journal of Innovative Research in Electrical, Electronics, Instrumentation and Control Engineering, vol. 4, pp. 223-225, 2016. [11] D. E. Gbenga, A. I. Shani and A. L. Adekunle, "Smart Walking Stick for Visually Impaired People Using Ultrasonic Sensors and Arduino," International Journal of Engineering and Technology, vol. 9, pp. 3435-3447, 2017. I REFERENCES [12] U. Ali, H. Javed, R. Khan, F. Jabeen and N. Akbar, "Intelligent stick for blind friends.," International Robotics & Automation, vol. 4, pp. 68-70, 2018. [13] K. G. J. P. Jothi, K. T. C. Mohan, S. Kavithrashree and K. G. Ajith, "Smart Electronic Walking Stick for Blind People," International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering, vol. 7, pp. 1194-1200, 2018. [14] A. Tekade, M. Sonekar, M. Ninave and P. Dongre, "Ultrasonic Blind Stick with GPS Tracking System," International Journal of Engineering Science and Computing, vol. 8, pp. 16248-16250, 2018. [15] S. B. V. Srinivasan, M. A. Murali, P. Prakash and P. N. Krishna, "Ultrasonic Blind Stick with GPS Tracking," International Journal of Pure and Applied Mathematics, vol. 119, pp. 761-768, 2018. [16] D. S. Kumar, M. P. Anand, K. D. Raj, P. T. Raj, R. Yashwanth and S. Yogesh, "Electronic Stick for Visually Impaired People With buzzer alert," International Journal of Recent Technology and Engineering, vol. 7, pp. 918-922, 2019. [17] K. Verma, N. Chawla and R. Jain, "A Novel approach of bind stick based on Ultrasonic Sensors," International Journal of Applied Engineering Research, vol. 14, pp. 64-66, 2019. [18] J. S. Borza, "FAST Diagrams: The Foundation for Creating Effective Function Models," 2011. [Online]. [19] APTE, "The APTE method," [Online]. Available: http://methodeapte.com/methode_apte/tools/. [Accessed 1 June 2020]. [20] R. SOUSSI, "Functional analysis of industial zones in the Greater Tunis area," International Journal of Spaces and Urban Territory, pp. p-ISSN : 2534-8183 / e-ISSN: 2382-3011, 2016. [21] T. Agarwal, "An Overview of Arduino Nano Board," June 2019. [Online]. Available: https://www.elprocus.com/an-overview-of-arduino-nano-board/. [Accessed 15 June 2020]. [22] T. Agarwal, "What is HC-SR04 Ultrasonic Sensor: Working and Its Applications," January 2020. [Online]. Available: https://www.elprocus.com/hc-sr04-ultrasonic-sensor-workingand-its-applications/. [Accessed 15 June 2020]. [23] J. Miller, "Build a Car Tracking System with the SIM808 Module," August 2018. [Online]. Available: https://maker.pro/arduino/projects/build-a-car-tracking-system-with-thesim808-module. [Accessed 13 June 2020]. II REFERENCES [24] T. Agarwal, "GPS Based Voice Navigation System for Visually Impaired People," 2014. [Online]. Available: https://www.elprocus.com/gps-based-voice-alert-system-for-blindpeople/. [Accessed 7 June 2020]. [25] R. Pelayo, "Arduino GPS Tutorial," [Online]. Available: https://www.teachmemicro.com/arduino-gps-tutorial/. [Accessed 14 June 2020]. [26] T. Agarwal, "GSM – Architecture, Features & Working," 2013. [Online]. Available: https://www.elprocus.com/gsm-architecture-features-working/. [Accessed 8 June 2020]. [27] Components101, "HC-06 Bluetooth Module," 3 November 2018. [Online]. Available: https://components101.com/wireless/hc-06-bluetooth-module-pinout-datasheet. [Accessed 1 June 2020]. [28] E. HUB, "Types Of Switches," 26 September 2015. [Online]. Available: https://www.electronicshub.org/switches/. [Accessed 2 June 2020]. [29] V. Paradigm, "What is Unified Modeling Language (UML)?," [Online]. Available: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/. [Accessed 6 June 2020]. [30] Wikipedia, "App Inventor for Android," 6 July 2020. [Online]. Available: https://en.wikipedia.org/wiki/App_Inventor_for_Android. [Accessed 15 June 2020]. [31] Phhsnews, "How to automatically start an app when you start or wake up Android TV," [Online]. Available: https://www.phhsnews.com/how-to-automatically-start-an-app-whenyou-boot-or-wake-android-tv4422. [Accessed 2 June 2020]. III TABLE OF CONTENTS TABLE OF CONTENTS DEDICATION................................................................................................................................ i ACKNOWLEDGEMENT ............................................................................................................ ii FOREWORD................................................................................................................................ iii ABSTRACT .................................................................................................................................. iv RÉSUMÉ ....................................................................................................................................... v LIST OF ABBREVIATIONS ..................................................................................................... vi LIST OF TABLES ...................................................................................................................... vii LIST OF FIGURES ................................................................................................................... viii SUMMARY .................................................................................................................................. xi GENERAL INTRODUCTION .................................................................................................... 1 I LITERATURE REVIEW .......................................................................................................... 2 I.A LIMITATIONS OF EARLY NAVIGATIONAL TOOLS ............................................. 2 I.B HISTORICAL BACKGROUND OF INTELLIGENT BLIND STICKS IN THE WORLD ..................................................................................................................................... 3 I.B.1 Ultrasonic Smart Stick for Visually Impaired People .............................................. 3 I.B.2 Ultrasonic Blind Walking Stick with Voice Playback ............................................... 4 I.B.3 Smart Blinding Stick with Holes, Obstacles and Ponds Detector Based on Microcontroller ...................................................................................................................... 4 I.B.4 Ultrasonic Blind Walking Stick .................................................................................. 5 I.B.5 Ultrasonic and Voice Based Walking Stick for Blind People ................................... 7 I.B.6 Smart Walking Stick for Visually Impaired People Using Ultrasonic Sensors and Arduino ................................................................................................................................... 7 I.B.7 Intelligent stick for blind friends ................................................................................ 8 I.B.8 Smart Electronic Walking Stick for Blind People ..................................................... 9 I.B.9 Ultrasonic Blind Stick with GPS Tracking System ................................................... 9 I.B.10 Ultrasonic Blind stick With GPS Tracking ............................................................ 10 I.B.11 Electronic Stick for Visually Impaired People with buzzer alert ........................ 10 I.B.12 A Novel approach of bind stick based on Ultrasonic Sensors .............................. 11 I.C LIMITATIONS OF PRESENT NAVIGATIONAL TOOLS ....................................... 11 I.D COMPARISON OF PRESENT NAVIGATIONAL TOOLS ....................................... 12 II METHODOLOGY ................................................................................................................. 14 II.A WHAT IS APTE? ............................................................................................................ 14 II.B NEED ANALYSIS ........................................................................................................... 14 II.B.1 Need Identification .................................................................................................... 15 IV TABLE OF CONTENTS II.B.2 Need Validation ......................................................................................................... 15 II.C FUNCTIONAL NEED ANALYSIS............................................................................... 16 II.C.1 Definition ................................................................................................................... 16 II.C.2 Function Specifications ............................................................................................ 16 II.C.3 Function Identification ............................................................................................. 17 II.C.4 Octopus Diagram ...................................................................................................... 17 II.C.5 Function Characterisation ....................................................................................... 18 II.C.6 Results ........................................................................................................................ 19 II.D TECHNICAL-FUNCTIONAL ANALYSIS ................................................................. 19 II.D.1 Definition ................................................................................................................... 19 II.D.2 Components of a FAST Diagram ............................................................................ 20 II.D.3 Function Definition ................................................................................................... 21 II.D.4 FAST Diagrams ........................................................................................................ 21 II.E STRUCTURED ANALYSIS .......................................................................................... 23 II.E.1 Definition ................................................................................................................... 23 II.E.2 SADT Diagrams ........................................................................................................ 24 III DESIGN AND IMPLEMENTATION................................................................................. 26 III.A DESIGN OF THE SMART STICK ............................................................................. 26 III.A.1 SYNOPTIC DIAGRAM ......................................................................................... 26 III.A.2 FONCTION OF EACH PART .............................................................................. 26 III.A.2.1 ARDUINO NANO ............................................................................................ 26 III.A.2.1.1 Justification of component ........................................................................... 27 III.A.2.1.2 Arduino Pin Configuration ........................................................................... 28 III.A.2.1.3 Communication ............................................................................................ 29 III.A.2.2 ULTRASONIC SENSOR ................................................................................ 30 III.A.2.2.1 Pin Definition ............................................................................................... 30 III.A.2.2.2 Mode of operation ........................................................................................ 30 III.A.2.2.3 Pin Specification........................................................................................... 31 III.A.2.2.4 Pin Configuration ......................................................................................... 32 III.A.2.2.5 Justification of component ........................................................................... 32 III.A.2.3 WATER SENSOR ............................................................................................ 33 III.A.2.3.1 Mode of operation ........................................................................................ 33 III.A.2.3.2 Specifications ............................................................................................... 33 III.A.2.3.3 Pin Configuration ......................................................................................... 34 III.A.2.4 BUZZER............................................................................................................ 34 III.A.2.4.1 Types of Buzzers .......................................................................................... 34 III.A.2.4.2 Mode of operation ........................................................................................ 35 III.A.2.4.3 Pin Definition ............................................................................................... 36 III.A.2.4.4 Pin Configuration ......................................................................................... 36 III.A.2.4.5 Specifications ............................................................................................... 36 III.A.2.5 DC MOTOR ...................................................................................................... 37 V TABLE OF CONTENTS III.A.2.5.1 Pin Configuration ......................................................................................... 38 III.A.2.5.2 Specifications ............................................................................................... 38 III.A.2.6 SIM808 MODULE ........................................................................................... 39 III.A.2.6.1 General Features ........................................................................................... 40 III.A.2.6.2 GPS ............................................................................................................... 41 III.A.2.6.2.1 Introduction to GPS ............................................................................... 41 III.A.2.6.2.2 How Location is Tracked....................................................................... 43 III.A.2.6.2.3 NMEA Sentences................................................................................... 43 III.A.2.6.2.4 Interfacing with GPS Devices ............................................................... 44 III.A.2.6.2.5 AT Commands ....................................................................................... 44 III.A.2.6.2.6 Specifications ......................................................................................... 44 III.A.2.6.3 GSM ............................................................................................................. 45 III.A.2.6.3.1 GSM Architecture .................................................................................. 46 III.A.2.6.3.2 GSM Modem ......................................................................................... 46 III.A.2.6.3.3 Specifications ......................................................................................... 47 III.A.2.7 BLUETOOTH MODULE ............................................................................... 48 III.A.2.7.1 Mode of operation ........................................................................................ 48 III.A.2.7.2 Pin Configuration ......................................................................................... 49 III.A.2.7.3 Specifications ............................................................................................... 49 III.A.2.7.4 Justification of component ........................................................................... 49 III.A.2.8 BUTTON ........................................................................................................... 50 III.A.2.8.1 Push Button Switch ...................................................................................... 52 III.A.2.8.2 Single Pole Single Throw Switch ................................................................. 52 III.A.2.9 POWER SUPPLY ............................................................................................ 53 III.B IMPLEMENTATION ................................................................................................... 54 III.B.1 SMART STICK ....................................................................................................... 54 III.B.1.1 ClickCharts ....................................................................................................... 54 III.B.1.2 Flowcharts ......................................................................................................... 55 III.B.1.3 Proteus ............................................................................................................... 58 III.B.1.3.1 Circuit Diagram ............................................................................................ 59 III.B.1.3.2 3D View ........................................................................................................ 59 III.B.1.3.3 Printed Circuit Board (PCB)......................................................................... 60 III.B.1.3.3.1 Drawing the PCB Design ....................................................................... 60 III.B.1.3.3.2 Domestic PCB Manufacturing ............................................................... 61 III.B.1.3.3.3 Assembling Components ....................................................................... 62 III.B.1.4 Arduino IDE...................................................................................................... 63 III.B.1.4.1 Libraries Used............................................................................................... 64 III.B.1.4.2 Program Code ............................................................................................... 64 III.B.1.4.3 Sensory Module ............................................................................................ 64 III.B.1.4.4 Tracking Module .......................................................................................... 66 III.B.1.4.5 Functions Used ............................................................................................. 67 III.B.2 SMART STICK FINDER....................................................................................... 68 III.B.2.1 Unified Modeling Language (UML) ............................................................... 68 VI TABLE OF CONTENTS III.B.2.1.1 Use Case Diagram ........................................................................................ 68 III.B.2.1.2 Activity Diagram .......................................................................................... 69 III.B.2.1.3 Sequence Diagram ........................................................................................ 70 III.B.2.2 MIT App Inventor ............................................................................................ 70 III.B.2.2.1 Requirements ................................................................................................ 71 III.B.2.2.2 App Inventor Designer ................................................................................. 71 III.B.2.2.3 App Inventor Blocks Editor.......................................................................... 72 III.B.2.2.4 Flowchart ...................................................................................................... 73 III.B.2.2.5 Autorun Smart Stick Finder .......................................................................... 73 III.B.2.2.6 Smart Stick Finder Android App .................................................................. 75 IV TESTS, RESULTS AND COSTS ......................................................................................... 76 IV.A TESTS ............................................................................................................................. 76 IV.A.1 SENSORY MODULE ............................................................................................. 76 IV.A.1.1 Obstacle Detection and Feedback Tests ......................................................... 76 IV.A.1.2 Water Level Detection and Feedback Tests ................................................... 76 IV.A.2 TRACKING MODULE .......................................................................................... 77 IV.A.3 ANDROID APP ....................................................................................................... 77 IV.B RESULTS AND COMMENTS ..................................................................................... 78 IV.B.1 SENSORY RESULTS ............................................................................................. 78 IV.B.1.1 Obstacle Detection Results ............................................................................... 78 IV.B.1.2 Water Level Detection Results......................................................................... 80 IV.B.2 TRACKING RESULTS .......................................................................................... 82 IV.B.3 ANDROID APP RESULTS .................................................................................... 84 IV.C DIFFICULTIES ENCOUNTERED ............................................................................. 85 IV.D ESTIMATION OF THE COST OF OUR PROJECT ............................................... 86 IV.D.1 COST ESTIMATION OF THE SMART STICK ................................................ 86 IV.D.2 COST ESTIMATION OF SOFTWARE DEVELOPMENT .............................. 87 IV.D.2.1 Basic COCOMO Overview .............................................................................. 87 IV.D.2.2 Effort Estimation .............................................................................................. 88 IV.D.2.3 Number of Lines of Code ................................................................................. 88 IV.D.2.4 Cost Estimation ................................................................................................. 89 IV.D.3 TOTAL COST ESTIMATION .............................................................................. 89 IV.E FUTURE SCOPE ........................................................................................................... 90 GENERAL CONCLUSION....................................................................................................... 92 REFERENCES............................................................................................................................... I TABLE OF CONTENTS ........................................................................................................... IV LIST OF APPENDIXES ............................................................................................................ IX Appendix 1: Arduino Nano Technical Specifications .......................................................... IX VII TABLE OF CONTENTS Appendix 2: Arduino Nano Pinout ......................................................................................... X Appendix 3: Arduino Nano Pin Layout ................................................................................ XI Appendix 4: Arduino Nano Pin Configuration .................................................................. XII VIII LIST OF APPENDIXES LIST OF APPENDIXES APPENDIX 1: ARDUINO NANO TECHNICAL SPECIFICATIONS PROPERTIES VALUES Microcontroller ATmega328P – 8-bit AVR family microcontroller Operating Voltage 5V Recommended Input Voltage for Vin pin 7-12V Analog Input Pins 6 (A0 – A7) Digital I/O Pins 14 (Out of which 6 provide PWM output) DC Current on I/O Pins 40 mA DC Current on 3.3V Pin 50 mA Flash Memory 32 KB (2 KB is used for Bootloader) SRAM 2 KB EEPROM 1 KB Frequency (Clock Speed) 16 MHz Communication IIC, SPI, USART IX LIST OF APPENDIXES APPENDIX 2: ARDUINO NANO PINOUT X LIST OF APPENDIXES APPENDIX 3: ARDUINO NANO PIN LAYOUT Pin No. Name Type Description 1-2, 5-16 D0-D13 I/O Digital input/output port 0 to 13 3, 28 RESET Input Reset (active low) 4, 29 GND PWR Supply ground 17 3V3 Output +3.3V output (from FTDI) 18 AREF Input ADC reference 19-26 A7-A0 Input Analog input channel 0 to 7 27 +5V Output or +5V output (from on-board regulator) or +5V (input from Input external power supply) 30 Vin PWR Supply voltage XI LIST OF APPENDIXES APPENDIX 4: ARDUINO NANO PIN CONFIGURATION Pin Category Pin Name Vin Power 3.3V 5V Details Input voltage to Arduino when using an external power source (6-12V). 3.3V supply generated by on-board voltage regulator. Maximum current draw is 50mA. Regulated power supply used to power microcontroller and other components on the board. GND Ground pin. Reset Reset Resets the microcontroller. Analog Pins A0 – A7 Used to measure analogue voltage in the range of 0-5V I/O Pins D0 - D13 Serial Rx, Tx Used to receive and transmit TTL serial data. 2, 3 To trigger an interrupt. 3, 5, 6, 9, 11 Provides 8-bit PWM output. External Interrupts PWM Digital pins used as input or output. 0V for LOW and 5V for HIGH. 10 (SS), 11 (MOSI), SPI 12 (MISO) and Used for SPI communication. 13 (SCK) Inbuilt LED IIC AREF 13 A4 (SDA), A5 (SCA) AREF To turn on the inbuilt LED. Used for TWI communication. To provide reference voltage for input voltage. XII