So to run the Peltier at full power, you need an H-bridge capable of supplying 15.7V to it, and the H-bridge must be able to carry 3.9A comfortably. At that current, I'd look for a mosfet H-bridge.
Or Relays. 2 relays would let you select Heat or Cool and could also be wired to interlock so you can't turn both of them on at the same time
I have an Arduino on a breadboard. For programming I have a Max232 and a nine pin serial connector. I hook up a USB to 9 pin serial adapter and program it just like teh Arduino board. I bought a 328P with the bootloader already programmed. There is a YouTube video - - put out by Sparkfun that shows how to hook it up.
You would be better off using just a pulse or 2 (depending on shaft speed) to determine speed. You need some time to elapse between pulses to determine speed. You would be better off using multiple AVR chips, 1 for each axis, to do something like this because you have no way of controlling when the interrupts are routed to the program, and thus you might have overlapping interrupts that are not processed properly. Multiple smaller chips reporting to a larger controller chip - several of the tiny series chip, with a 328 as the master.
You can work out the programming on the arduino - just do it for 1 axis. Then program a slave chip and a 328 (Arduino) to communicate and then add slave devices. I used some ATtiny2313 chips for a project, less than $3.00US and the operation is simplified.
Think of it as distibuted processing. A complex set of operations, broken down into simpler blocks, and combined to do the complex operation.
Typically, in larger systems these types of operations were done by specialized hardware and the results pulled from that hardware as needed. With individula AVR's you can do the same thing, but with much smaller boards.
Your computer and your Arduino are not communicating. Have you selected the correct com port? Is the Arduino connected? Can you upload if the LCD is disconnected?
You need some sort of Serial Terminal program. It should have a Save to Text File option. Run it, tellit what communications port the arduino is on. once it is hooked up and running select the Save to Text File and it should do the job.
Those motors are more like a 3 phase motor than a 3 phase stepping motor. Step sequence would look like this = Windings A B & C - A+ BC-, AB+ C-, B+ AC-, BC+ A-, C+ AB-, AC+ B-, back to A+ BC-, Would require 6 transistors, 3 high side, and 3 Low Side. (actually 9 tansistors, 3 for current, and 3 to drive the power transistors). A 3Phase Bridge.
Limiting the current through a Peltier device will severely limit the cooling ability of the device. You would be better off using relays to turn the device on and off (2 relays with at least 3 poles so you can interconnect them so they can't turn them both on at the same time.
Simple temperature control would be to set the limits for On/Off of the device just turn it on when it needs more heat/cool and turn it off when it is cold/hot enough. You could get better control with less overshot if you worked on PID control. Depends on the needs of the system.
You want to use the Peltier devices at full rated current/voltage to get the best performance. And remember - they only have about a 40 degree F or 22 degree C temperature differential.
Might be simpler to get several ATtiny2313's and program them to do the step sequence - they then drive the transistors and you would need 2 Arduino pins per motor.
Got hold of a copy of LiquidCrystal440 library and had to use Arduino022. Works when I load the sketch into my Arduino, and had not been working when I reset my Arduino but that seems to be working now...
Initially I had not connected RW to anything, but things started working when I connected it to ground. The mode I am using to controlling the 4 lines wanted RW hooked up so I redid the wiring and connected it to pin 9 on my Arduino.
Got looking at the code for the LiquidCrystal440 library and it has a mode that uses RS, RW, EN1 and EN2 and 4 data bits so I hooked it up that way and it appears to be working. I may do a little work with maintaining a memory buffer of the text I want to display so when the 4th line is filled the bottom 3 lines are scrolled and a blank line is inserted at the bottom of the screen. That mode should also work for other 4 line displays. Had to look at the library source to find the info, the documentation and the axample didn't really communicate real well what the various modes are.
Because of the way some of the examples were setup I am using pin 12 as RS, Pin 9 as RW, Pin 11 as Enable1, pin 10 as Enable2, pin 5 as d4, pin 4 as d5, pin 3 as D6 and pin 2 as d7. When I get to my final hardware I will probably re-arrange them so there is some logical pattern that looks more like it makes sense.
Now to figure out what I can use as a keyboard. The individual I am working on this for is somewhat handicapped. She can read, and write(very slowly because of muscle control problems) and can communicate yes and no and her mom can make sense of some of her sounds. I think it might make it easier for visitors if she could communicate more easily. It is difficult to be there and talk to her and not being able to figure out what she would like to communicate back. (I sometimes wonder what she gets from my poor Spanish...)
You might also want to look into assembly language for this kind of code. There is some overhead in Arduino that you may be able to sidestep if you use assembly. There are other challenges, but it is an option where you are trying to push the envelope because you can work with a smaller envelope.