Serial.read() when arduino is connected with io expansion

hello everyone!i have some problems with io expansion connected to my arduino.when expansion isn't connected to arduino,i send a character via serial monitor and when this character is "a" turn on the led(pin13).it work's with this way.but when i connect the io expansion it doesn't work!why is this happening?

io expansion connected to my arduino

What is that? Is there a link to it?

And, how is it connected to the Arduino? Your problem suggests that it is using pin 0 or pin 1 which are the hardware serial pins.

No code, no data sheets, no good description of the problem...

No chance of a resolution :slight_smile:


Rob

let's say it simply!i have an arduino atmega 328 and one i/o expansion(shield) which controls 2 dc motors.i want to send from serial monitor to arduino the statement "a" and give power to motor1 and when i send command "b" give power to motor2.
i try to test this by using a led (only arduino) and not use the i/o expansion with dc motors to see if works.i wrote
void setup{
Serial.begin(9600);
}
void loop{
char val = Serial.read();
if(val = 'a'){
digitalWrite(13, HIGH);
}}
it worked!(when i send "a" led is on!)
but when i connect arduino with i/o expansion it doesn't work.there is a comfusion at serial port.

this is an image about arduino and io expansion

The board on the left of the picture has an RS-485 interface. That will use a driver chip. That driver chip will be connected to pins 0 and 1, interfering with the serial communication.

i think this is the problem too...but how can i solve it???please help!

Not use the expansion board? Communicate with it in a different way?

expansion board is essential because i connect sensor to rs485

Then you will have to communicate in some other way with the board.

Maybe use SoftwareSerial and an UBS->RS232/TTL adaptor connected to two other pins?

I can't read what it says in the box next to the Motor 1/2 connector. It looks like the caption says something like 'RS485 Control Pins'. Can you tell us, or post a better image?

The 3 jumpers together which form the RS-485 control pin and RS-485/XBee selection look like they set the destination for pins 0 and 1. You could replace the rightmost two of those jumpers with a DPST switch to turn the RS-485 on and off, which should allow you to program the Arduino without removing the shield.

You won't be able to communicate with the Arduino and use the RS-485 at the same time unless you communicate through other means like SoftwareSerial and a USB->TTL adaptor.

you mean that if i remove the 2 rightmost jumpers i will not have access to rs485 on i/o expansion board.right?so i can programm my arduino via usb port without problem(send and recieve data from arduino's usb port).and if i don't remove them my serial port will be the rs485 of i/o expansion board and usb port of arduino will be useless.am i right?

That is certainly what it looks like, yes.

i will try it and notice you!if it works like that i want to connect sensors to rs485 PORT but simultaneously send serial data from pc to arduino…pfffff
#MY HEAD IS GOING TO BREAK#

thank you very much!it worked at last!but because i want to send data to arduino via usb from laptop and connect sensor to rs485 port at the same time what do you suggest?can i pass the data from laptop to arduino straight to arduino's digital input(pin)?what type of converter may i use?(e.x usb to TTL converter?)

USB->TTL adaptor, and use SoftwareSerial to talk to it?

sorry for many questions but it will be the last!(i hope!)for usb to ttl converters there is a ttl voltage which can be 3-5volt.which of these two i have to choose.can you give me a link of an ideal usb-->ttl converter?BECAUSE I FOUND CABLES WITH 4 AND 6 WIRES.and one explanation please!the only thing i have to do is to connect tx and rx cables(of converter) to digital inputs???the other cables(Vcc, GND)?
THANK YOU VERY MUCH FOR THE TIME YOU DEVOTED FOR MY PROBLEMS!(i'm a begginer on arduino and i need guidance...)