3.8 SYSTEM SETUP AND OPERATION
3.8.5 Arduino Code:
The Arduino receives 1-byte of information form the Bluetooth module and translates that into a function that drives the motors, servos and operates the recording system. The program for the robot system is written in an Arduino IDE software. It has inbuilt libraries, which supports the connection and operation of components such as: Bluetooth communication and servo motor control.
The appropriate program for the system control is written, it is compiled to check for any possible error and remedy them. After successful compilation, the program is uploaded to the Arduino Uno board using a USB cable.
The following is the program for the remote control squirrel robot system:
CHAPTER IV
CONCLUSION
The objective of this project was to build a low-cost remote controlled robot that would allow the study of squirrels in the wild. Dr. Charles Abramson suggested this project idea.
It was an inspiration from the Mercury Remote Robot Challenge, which was created by Dr.
Carl Latino, at the Oklahoma State University in 2010. Dr. Abramson believed that this idea could be useful in the creation of research and educational tools.
The robot was intended to possess capabilities, such as: remote control, the ability to record and playback sounds, stream live video and have an operational robot arm that acts as a nut delivery system. In addition to this, the major objective was to design a low-cost robotic model for less than $200. The robot that was constructed, met all the desired specifications.
Bluetooth technology was chosen over the Mercury communication system, because of its lower cost and simpler complexity. A longer-range communication system could also be employed in future robots if needed. In this project, a unique yet simple and effective means of operating the robot was devised. This method required only a single-byte to convey all the information necessary to control the Squirrel Robot system (for details please refer section 3.8.3).
CHAPTER V
FUTURE WORKS
The robot could be made to have more capabilities such as: a more complex robotic arm and structure. A longer range communication system like the Mercury robot could be employed. Since this project did not have any time critical functions to perform, a single function operation system was adequate for our needs. If additional functionality is required, a more sophisticated communication system could be developed to permit multiple functions to perform simultaneously. This idea was designed to work with Android phones but it can be implemented with iOS phones as well. This project was designed to study squirrels, but this idea could be modified to be implemented for other animals, such as: aquatic animals.
REFERENCES
[1] Sachit Butail, Nicole Abaid, Simone Macri and Maurizio Porfiri, “Fish Robot Interactions: Robot Fish in Animal Behavioral Studies,”
[2] R. Piyare, M. Tazil, “Bluetooth based home automation system using cell phone control,” article in IEEE Transactions on Consumer Electronics, June 2011.
[3] Anisha Cotta, Naik Trupti Devidas, Varda Kalidas Naik Ekoskar, “Wireless Communication Using HC – 05 Bluetooth Module Interfaced with Arduino,” IJSETR, Vol. 5, Issue 4, April 2016.
[4] “L298 Dual Full-Bridge Driver/datasheet,” January 2000.
[5] “Arduino Uno datasheet,” Farnell.
[6] Nelson Rai, Deepak Rasaily, Tashi Rapden Wangchuk, Manoj Gurung, Rit Kr. Khawas, “Bluetooth Remote Controlled Car using Arduino,” IJETT, Vol. 33, No. 8, March 2016.
[7] “Ardumoto Shield Hookup Guide,”Sparkfun
[8] Vibhor Gupta, “Working Analysis of the H-Bridge Motor Driver Circuit Designed for Wheeled Mobile Robots,”
IEEE, 2010.
[9] Khan Masoom Raza, Mohd. Kamil, Pushpendra Kumar, “Speed Control of DC Motor by using PWM,” IJARCCE, Vol. 5, Issue 4, April 2016.
[10] Pratik J Patel, Hardeep J Patel, Apeksha D Unadkat, Chintan U Patel, Sanjay Bhanderi, “PWM Based Speed Control for a DC Motor,” Vol.6, Issue 4, April 2017, ISSN: 2278 – 7798.
[11] Tolga Ozer, Sinan, Yuksel Oguz, “H-Bridge DC Motor Driver Design and Implementation with using dsPIC30f4011,” IJIRSET, Vol.6, Special Issue 10, May 2017.
[12] “Components101 HC-05 Bluetooth Module”, HC-05 module
[13] Elisa Donati, Martin Worm, Stefano Mintchev, Marleen vander Wiel, Giovanni Benelli, Gerhard von der Emde and Cesare Stefanini, “Investigation of Collective Behavior and Electrocommunication in the Weakly Electric Fish, Mormyrus rume, through a biomimetic Robotic Dummy Fish,” Bioinspiration & Biomimetics, 30 November 2016.
[14] Alexey Gribovskiy, Jose Halloy, Jean-Louis Deneubourg, Hannes Bleuler and Francesco Mondada, “Towards Mixed Societies of Chickens and Robots,” IEEE/RSJ International Conference on Intelligent Robots and Systems, October 2010.
[15] Jolyon j. Faria, John R. G. Dyer, Romain O. Clement, Iain D. Couzin, Natalie Holt, Ashley J. W. Ward, Dean Waters, Jens Krause, “A novel method for investigating the Collective Behavior of fish: introducing ‘Robofish’,” June 2010.
[16] Vijayalakshmi S, Archana M, “Robotic Car Arduino with Bluetooth Controller,” IJISE, 2019.
[17] Ayan Maity, Avijit Paul, Priyanka Goswami, Ankan Bhattacharya, “Android Application Based Bluetooth Controlled Robotic Car,” IJIIS, 2017.
[18] Charles I. Abramson, “Let Us Bring Comparitive Psychology Back,” International Journal of Comapritive Psychology, Vol. 31, October 2015.
[19] Charles I. Abramson, “A Crisis in Comparitive Psychology: Where have all the Undergraduates gone?,” Frontiers in Psychology, opinion Article, October 2015.
[20] ISD1820, datasheet
[21] “ISD1820 Vice Recording and Playback Module,” EIModule [22] “ISD1820 – Voice Recorder,” Rajguru Electronics
[23] “ISD1820 Voice Recorder Module User Guide”, Rev 1.0, Oct 2012.
[24] Future Electronics, “Servo Motors Control & Arduino,” Future Electronics Egypt Ltd. (Arduino Egypt) [25] “HS – 322 HD Servo,” Electricwingman.com
[26] “9g Micro servo,” Robotshop.com
[27] “Introduction to Arduino and Physical Computing,” Arduino to GO.
[28] “Arduino-projecthub-Arduino-PWM-tutorial”
[29] “robotrus/ISD1820”
[30] “Hackstore EImodule/ISD1820”
[31] “Ammaimhobbies.com”
[32] “Perintang.com/servomotor”
[33] “ArduCAM-M-2MP Camera Shield-2MP SPI Camera User Guide”
[34] “ArduCAM ESP8266 Uno board User guide”
[35] “UCTRONICS/ArduCAM 2MP Mini Camera”
[36] “Arduino as ISP and Arduino Bootloaders – Arduino Memory Map”
[37] “Arduino Uno-Google image”
[38] “Ardumoto shield,” For projects
[39] “HC-05 Bluetooth Module,” Finger Point Engg [40] “Voice Recorder Module,” Allelectronics.com
APPENDICES A. Getting started with MIT App Inventor:
The following are the instructions to be followed to install and implement the MIT App Inventor, found on Google.
For this project, an Android Application was developed. However, there is another app called Thunkable, which is compatible with both Android and ios operating systems. It uses the software similar to the App Inventor
1. Install the App Inventor Setup Software Package
(Uninstall any previous App Inventor Software that were installed in the computer) i. Download the installer.
ii. Locate the file MIT_Appinventor_Tools_2.3.0 (80MB approximately) in your Downloads file.
iii. Open the file.
iv. Click through the steps of the installer.
v. You may be asked if you want to allow a program from an unknown publisher to make changes to the Computer, Click yes.
2. Locating the setup software.
i. In most cases, the App Inventor should be able to locate the Setup Software on its own. But if it asks for the location of the software, the path to enter is C:\Program Files\Appinventor\commands_for_Appinventor. If you are using a 64 – bit machine, you should search for Program Files(x86) rather than Program Files.
ii. If you did not install the software as an administrator, if it was installed in your local directory rather than in C:\Program Files, you will need to search for the file to find the correct name.
Note: If there is something wrong, visit the Troubleshooting Page or Check the App Inventor User Forum for help.
3. Continue with setup – choose the connection instruction you were following:
- Select Setup Emulator Setting up the Emulator
1. Install the App Inventor Setup Software for the respective Operating system (Windows, Mac, GNU/Linux)
2. Launch aistarter (Windows and GNU/Linux)
Note: On a Mac, aistarter will start automatically when you log in to your account and it will run invisibly in the background.
a. On Windows, there will be a shortcut to aistarter from your Desktop, from the Start Menu, from All programs and from Startup Folder. If you want to use the Emulator with the App Inventor, you will need to automatically launch the aistarter on your Computer when you log in. You can start the aistarter by clicking the icon on your Desktop or using the entry in your Start Menu.
b. To launch aistarter on Windows, double click on the icon shown above. You will know that you have successfully launched aistarter when you see a window like the following:
On GNU/Linux, aistarter will be in the folder:
\usr\google\appinventor\commands_for_Appinventor and you will need to launch it manually. You can launch it from the command line with
\usr\google\appinventor\commands_for_appinventor\aistarter&
c. Open an App Inventor Project and connect it to the Emulator
a) First, go to the App Inventor and open a project or create a new one by clicking on Project in the Menu then select the option New Project and give it a name.
b) Then, form App Inventor’s menu, on the App Inventor cloud – based software at ai2.appinventor.mit.edu, go to the Connect menu and click the Emulator option
c) You’ll get a notice saying the Emulator is connecting. Starting the Emulator can take a couple of minutes. You may see update screens like the following as the Emulator starts up:
d) The Emulator will initially appear with an empty black screen.
e) Wait until the Emulator is ready with a colored screen background.
top of the screen while the card is being prepared. When connected, the Emulator will launch and show the app you have open in the App Inventor. Setup is now complete.
Using the App Inventor:
1. The new project screen looks like the following:
2. Download the .aia file with the controls related to this project.
3. Import the download aia file from the Computer.
4. Then a screen with the Bluetooth Robot App appears on the screen which looks like the following:
Connect the MIT App Inventor on the Computer with a Smart Phone:
1. Download the MIT AI2 Companion app from Google Play Store on your Android phone.
2. Click the Connect option on the App Inventor menu on the Computer screen and select AI Companion option. It displays a QR code.
3. Open the downloaded MIT AI2 Companion App on the Android phone. It opens as follows:
Enter or scan the QR code on the computer to the Smart phone. It automatically displays the controls from the computer on the phone and it looks as follows:
B. Configuration of ArduCAM ESP8266 Uno Board and 2MP Mini Camera 1. Go to https://github.com/ArduCAM.
2. Select the ArduCAM_ESP8266_UNO
3. http://www.arducam.com/downloads/ESP8266_UNO/package_ArduCAM_index.js on - Scroll down and copy this link.
4. Open Arduino IDE
5. Go to File – Preferences – Copy the above link in the Additional Boards Manager URLs.
6. Open Tools – Board – Board Manager – Install ArduCAM_ESP8266_UNO by ArduCAM Package.
7. Configure the 2MP Camera.
a) The memorysaver.h file enable the 2MP camera and disable the others.
i. The memorysaver.h can be located at C:\Users\Your Computer Name\AppData\Local\Arduino15\Packages\ArduCAM_ESP8266_
UNO\
hardware\ArduCAM_ESP8266_UNO\2.2.4\libraries\ArduCAM.
8. Using Arduino IDE
a) After installation, open Tools – Board – Select ArduCAM ESP8266 b) Ports – Select the corresponding port to which the ArduCAM ESP8266
board is connected.
c) Open File – Examples – ArduCAM – ESP8266 – Select ArduCAM_ESP8266_UNO_Capture.
9. Compile and Upload then code to the ESP8266 UNO board connected to the Computer.
10. After the code is uploaded and the device is turned on, then open the Wi-Fi settings on a laptop or a computer to find the ESP8266 connection available. Connect to the network.
11. Finally, open index.html or video.html, input the IP address from the serial monitor then take pictures or videos respectively.
a) Once the ArduCAM libraries are installed and the Arduino board and tools are selected to be ArduCAM ESP8266 Uno board, then go to Sketch – Sketch Folder and select html_2640.
b) Select index.html to capture a picture or video.html to record a video using the ArduCAM ESP8266 2MP Mini camera.
c) The resolution of the image and the video can be changed according to the system requirements.