I have some time using Arduino and I have developed a project based on an Arduino Nano for a friend that monitors data and sends it over the Serial Monitor. The code has a test routine I put in the firmware when you send "marco" over the COM it returns "Polo". Let's call the project "Arduino 1" to ease things.
Later on, for testing purposes, I built a copy of the setup using another Arduino Nano with the exact same peripherals and firmware, which I used as a tester. Let's call this Arduino 2.
Both Arduino 1 and 2 work just fine on my PC. They were not plugged in at the same time in any PC as this doesn't make sense in this experiment. Each Arduino (1 and 2) works alone and separately as Arduino 2 was just for test purposes as I was developing a Java interface to read and display the data acquired from the COM port while Arduino 1 was with my friend.
After delivering the Arduino 1 to my friend, it doesn't work on his PC. So I took his PC home to run some tests. Let's call my PC as PC1 and my friend's PC as PC2 to ease things.
Arduino 2 works just fine on PC2. But Arduino 1 doesn't. It never returns the "Polo" when setting the correct COM ports.
And here's the tricky part: BOTH Arduino 1 and 2 work fine on PC1. But only Arduino 2 works on PC2. This is a problem once my goal is to have Arduino 1 working fine on PC2!
To make sure, I have installed the same version of Arduino IDE (1.8.13) from PC1 on PC2 and also the COM drivers, but so far I have no idea of what might be happening.
Another test I did was to take another Arduino (let's call it Arduino 3) and upload the same firmware. The bare Arduino 3 worked just fine on PC2. But when I replaced it on the Arduino 2 setup. It stopped communicating with PC2 as well, but still communicates with PC1!
Something in the setup might be preventing the Arduino 1 from working in PC2, but at the same time it's working properly on PC1. Any ideas?
My head is spinning from your description. Please draw a picture- what is connected to what? Can you compile and upload a sketch from the friend's PC? And what is running on the PC?
Hello and thanks for trying to help. I have edited the post to make things clearer. If you still have any questions, please let me know and I'll do my very best to clarify them!
All you did was toss the salad more. Draw a picture, because I still can't visualize the connections, reconnections and what does the third Arduino have to do here?
Try compiling and uploading the blink sketch from your friend's PC to all of the Arduinos. This will at least verify that the drivers are all correct.
I am not picturing what the PC is doing in your description. Is it a participant in the exchange or just a terminal?
Define "work".
We really want to help you but your are talking in riddles and not clarifying your question.
You have basically said:
I have wired stuff up and it doesn't work.
For anyone to help you they will need to know how you actually wired it up and what is actually happening. Look up the forum guidelines (sticky at top of every section). It tells you how to best form a question, what information to include, how to post a picture and how to use code tags.
At the very least, post a schematic. (Please, NOT a pretty Fritzing picture). I am unclear what the PC is doing in your description, how "not work" presents or how you have all of the various parts connected.
Answering your question. This Arduino project communicates with PC via serial monitor using some pre-defined commands. So, for instance, when I send "marco" via Serial, I get "Polo" from Arduino as a communication test. Similarly, there are other commands that involve data aquisition, programming modes and SDcard memory cleaning.
If you have any other questions please let me know. Thanks for trying to help!
The firmware is planned to communicate a single Arduino nano to a single PC via serial port, so I can send a set of instructions via Arduino IDE serial monitor using the PC and the Arduino would perform a specific task such as printing the current temperature measured by the sensor, flush the stored data from memory, erasing data and so on... The marco/polo command is like a handshake command. So when I type and send "marco" via serial monitor, the Arduino should return "Polo" in the serial monitor.
What happens is that although Arduinos 1 and 2 are the same Nano model and have the exact same code uploaded, Arduino 1 only communicates (aka returns Polo) properly on PC1. If I plug Arduino 1 to PC2 instead and send "marco" to it I just get no answer at all!
As I said, Arduino 2 performs successfully this marco/Polo test on both PCs . One thing I noticed is that PC1 operates in an Win7 Ultimate in English, while PC2 has a Win7 Professional in Portuguese. Just to clarify, both Arduinos had their code uploaded on my Win7 in English.
Could that be a reason somehow? I was wondering if the firmware compilation could have any difference regarding ASCII codes for both.