Rotating an iPad long-distance

My husband and I are adapting this project to work with an iPad running FaceTime: VM Farms

We've got a socket open between the Arduino and a web server via a background app on the iPad, using the Redpark TTL cable (woo!), so we can send it the angle commands without needing a network connection on the Arduino.

The last problem I need to figure out is how to elegantly provide power to both the iPad for charging, and to the Arduino/servo for rotating. I'm already using the DockStubz pass-through between the Redpark and the iPad, but that leaves me with two separate cords coming out of the base of this thing. I'd like it to be a single cord to plug in, that can deliver around 6v to the Arduino (with servo), and simultaneously 5v to the iPad. iPad doesn't need to fast charge, trickle is fine.

I have kind of a fuzzy idea of taking a 12v wall wart and using voltage regulators to simultaneously split it up into the two desired outputs, but this is all new territory for me. I was also toying with the idea of opening up the actual iPad charger, and trying to somehow bring an additional 6v line out of that.

Suggestions much appreciated! I'll post pics of this thing as soon as it's assembled; just needs one more coat of polyurethane (and some crossed fingers). :slight_smile:

Thanks all,

Aja

Here's what it looks like:

IMG_4474.jpg

I ended up figuring out the power supply question (I think)... I'm using a stripped-down USB cable carrying a 10W current from an Apple iPad charger, and connecting it to both the Arduino and the mini-USB to charge the iPad. Seems to be working fine... only problem now is that the Arudino Pro Micro from SparkFun isn't reading the serial data from the Redpark cable. The Redpark still communicates fine with my other boards (Uno and an old Duecimilasomethingsomething), but the Pro Micro just doesn't seem to recognize it.

I had a little trouble with one of the TX/RX pins when I was soldering, and burned part of the trace that runs next to the pins on the Pro Micro. Could that be causing the problem? Photo attached. [edit: Uh, actually, is that just paint?]

Or is is that the Pro Micro handles serial connections differently, and won't work with the Redpark cable? Do I need to modify the serial library or something?

IMG_4473.jpg

thats just paint.

:*

I did kind of wonder why on earth they'd draw a trace like that... :slight_smile:

So maybe it's not because of the bad solder job? I noticed that TX and RX are reversed on pins 0 and 1 from what they are on the bigger Arduino boards.

Is there code in a library somewhere that assigns RX to pin 0 and TX to pin 1?

Yes, Serial.begin() automatically sets pins 0 and 1 to RX and TX, they cannot be changed. HOWEVER, an ARD mega has 4 TX and RX pins, TX and RX (0 - 3)
by all means research it if your interested, but you dont need to worry about an ARD Mega for your project.

Thanks!

Thinking out loud... if the problem was the TX/RX pins being reversed, wouldn't reversing the connections fix it? I've swapped the wires, and the serial connection still isn't recognized.

The Pro Micro uses a different processor than most of the other Arduino boards, one that handles the USB directly instead of through something else. I wonder if that's getting in the way of my Redpark serial somehow.

What are you using, Bluetooth, RF or straight jumpers?
Because the Bluetooth has pins that say RX and TX, those get crossed wired to the RX and TX on the arduino. BT: RX ==> ARD:TX and same with the BT: TX ==> ARD: RX.

RF is usually one direction. Transmitter only send and receiver only receives. Bluetooth can go both ways.

It's all physically wired, no BT or RF. The Arduino gets the servo angle from an app running on the iPad, which sends it through the Redpark serial cable to RX/TX.

I'm ordering a Pro Mini, instead of a Pro Micro, to see if it's just the way the Micro handles the serial connection. If that's not it, I'm stumped. It's still possible I burned out the pins on the Pro Micro with my lousy soldering.

Redpark serial connection, that may be your problem. The arduino does not know what to do with the data it is getting from the iPad, it might not be seeing the correct data to begin with, therefore you are not able to do anything. It could be your baud rate, it could be how the data is being presented, I don't know exactly. Try sending data from your computer to the arduino via USB with the arduino serial monitor. If you can get the motor to rotate the way you want it to, then it is the redpark that is the problem.

Yeah, I thought so, too, but my other Arduino boards (Uno and Duemilanove) are able to read the data from the Redpark serial cable just fine, with the same sketch and same iOS app. When I move the same exact setup to the Pro Micro, the serial connection breaks.

Those pins are small and very close on the micro, maybe you made a short somewhere.

I don't know anything about the Pro Micro - is it possible it has a different clock and this is affecting the serial baud rate settings?

If you're concerned about the quality of your solder joints, have you done a continuity check between the components on either side of the joint?

PeterH:
I don't know anything about the Pro Micro - is it possible it has a different clock and this is affecting the serial baud rate settings?

If you're concerned about the quality of your solder joints, have you done a continuity check between the components on either side of the joint?

No, I know I need to, but I don't have the tool that lets you do this. This is a very amateur operation I'm running, here. :slight_smile:

Try unsoldering the Tx an Rx pins, clean them , make sure they are not soldered together. Test with voltmeter, set to the buzzer if your voltmeter has that option.

I love SparkFun!! Got this response to my question this morning:

"TX is still D1 and RX is still D0, but they are arranged on the board funny. Make sure you are using Serial1.read and Serial1.print (Serial.read and Serial.print are for the USB port)."

Changed all the 'Serial's to 'Serial1's, and now it works! Hallelujah!

I was so surprised when the Javascript slider actually made the thing turn, I jumped. :slight_smile:

XD

How did you change the serial to serial1? i cant do it. It says to me undeclared =(
HEEEELPPPP

Which board have you got selected?

Arduino Pro mini