Arduino/iPhone Guidance

I would like some thoughts and guidance about how to approach an Arduino/Bluetooth/iOS project.

I am building a new panorama head for photography. In essence, a panorama photo is a very wide image. It is accomplished by taking a number of overlapping photos and then stitching them together into one photo with software.

An automatic pano head will calculate the amount the camera moves from one image to another (based on the focal length of the lens used) and how many images are required for the desired width of the panorama. I have already designed and built a successful pano head using an Arduino Nano and servo motors. However, the input buttons and display require an enclosure larger than I would like. Ergo, my desire to redesign it with a bluetooth connection to my iPhone.

My question is this: Would it be better to use the phone simply as an input and display device and the Arduino to do all the calculations, OR would it be better to have the iPhone do all the calculations and simply send inputs to the Arduino to control the servos?

Thanks in advance for your thoughts and advice.

Don

In Which environment are you more comfortable to code? Both are possible.

Having all the business logic on the arduino side would let you build easily different interfaces or support clients with different OS without lots of programming.

A simple WiFi adhoc captive portal interface could also be a good solution if you use an ESP32 or similar for driving the shots and would work from any client device with a browser and WiFi stack

Many thanks for your response.

I already do code (a bit; enough to code my Arduinos) in C++ and have no experience with iOS. However, I am retired and have plenty of time to mess with a new environment.

Your point about ease of programming for different interfaces is well-taken. Since I was only thinking of myself, I did not give this consideration. However I know some others have built my current design, I should give this thought.

Could you please explain the WIFI adhoc interface? Is this a local, closed network thing? If so, how does this work? Most panorama photos are landscapes taken in rural areas where WIFI is not available.

I actually meant a captive portal, not ad-hoc

basically the ESP32 creates its own WiFi network and advertises it.

If you join that network from your phone or your Mac or PC, a connection popup can appear where you can provide some parameters that are received by the ESP.

This is traditionally used to provide configuration information to an application (see this library GitHub - tzapu/WiFiManager: ESP8266 WiFi Connection manager with web captive portal or ESP32: Create a Wi-Fi Manager (AsyncWebServer library) | Random Nerd Tutorials) but that could also be just enough to provide some parameters to your arduino software and trigger the shots.

the ESP could advertise also a web page where you can monitor progress and control the ESP. because you don't depend on any existing network (your phone just needs to be in range of the ESP WiFi network - that can easily be up to 10/20m if you have line of sight) you can take this outside easily

--
side note: iOS programming is fun (learn Swift, it's rewarding) but there is still quite a learning curve.

The iPhone Camera app has a built-in "Pano" mode where it will continuously stitch images together. All you really need is a way to turn the camera smoothly. Adjust the zoom to get the vertical coverage you want.

It's nice, but a pro photographer would often require raw images from the camera, to greatly enhance the range of control during editing. But yeah, iPhone. My Android app also has a pano setting available.

I don't think he wants to put the iPhone on the panorama head but a "real" camera and the iPhone will be there just to set the panorama parameters

nice idea though :slight_smile:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.