For my school's science project, I'm current building a mini self-driving car using an Arduino Uno, an HC-SR04 Ultrasonic Sonar Distance Sensor, two IR Receiver Sensors, and a Rain Sensor so I can have "weather detection capabilities" and have the car respond in certain ways to certain phenomena (aka water or moisture on the sensor).
One of the responses I want is for the rain sensor to sense moisture/water, and for it to immediately send a prompt to my phone with the question "Is it raining/snowing/hailing?" with the answers being Yes/No. Pressing "Yes" will cause the other changes to go into effect (slowing down the car and turning on windshield wipers to ensure rider safety in the weather). Pressing No will cause the car to drive as normal.
Is this possible to do? If so, what products do I need to achieve it?
You will need to write an app for the phone that takes some sort of signal from the Arduino. If the Ardunio is WiFi capable, then WiFi is the obvious answer.
I would think about if hosting a web page on the robot would solve the problem. It wouldn't matter what kind of phone was involved just so it has a browser app.
The iPhone only has BLE (bluetooth low energy) which is a different protocol than classic Bluetooth and it will not work with an HC05.
You may be able to use a module called an HM10 which is like and HC05 but for BLE and will communicate with an iPhone. I have not used one, but there are plenty postings on the forum where people have used them. I am not familiar with the standard apps for the iPhone which will communicate with the HM10.
The R4 WiFi maybe. But not a regular UNO. You'll have to add an ESP board of some type to act as the modem. But you're going to have to add something to do the communicating no matter which option you choose.
that does sound easier than making an entire app from scratch, especially because I already have experience with html. do you know what devices i might have to add to make hosting a website possible or is it doable with the base arduino?
if this doesnt work out i might have to scrap the prompt options and just stick to having the rain sensor detect and carry out everything via regular code, but i wanted to implement it to show how real self-driving cars could react to weather changes (and not make changes simply off one moisture detection, like sprinkling or a bird pooping on the top of the car.)
Have you already started building with the Arduino UNO? If you still aren't locked into a board then this sounds like a classic case for the NodeMCU or similar. You can get those pretty cheap now.
You'd need to add WiFi as a minimum. There are lots of ways to accomplish that depending on how far you are along on the project. Stay tuned, I think you will see lots of suggestions.
Yes I've already built with it, the car chassis is built complete with motors, wheels, a battery pack, and the aforementioned sensors along with the arduino and a breadboard on top. Everything is already connected and I've written code for everything but the rain sensor and this idea im toying with. I have space on the board but it depends on what the node requires and it might be too big for the space i have left
Well that was an option if you didn't already have everything on the UNO. The NodeMCU would replace the UNO in your build. But doing that now would require changes that you don't want to have to make.
Instead look at some of the smaller ESP boards with not many pins. All you really need it for is a modem. People used to use a WiFi shield to serve pages from an UNO so I know it's possible. I'm just betting you can get an ESP of some flavor for a lot less than that shield.
@tinkets
You can have a HC-05 bluetooth Module at the Car Side and an Android Phone at the Hand Side. The solution is easy that involves downloading a Bluetooth Terminal from net and installig it in the Android Phone.