Send AT commands and see the answer (Uno and Wemos)

Hi,

I am also trying to send AT commands from an arduino (uno or wemos, I tried both) but I am not getting it done.
I am trying the examples of the software serial communication and didn't work.

For what I have read from the forum, the Tx and Rx pins are for the usb, so:

-With the wemos I tried to connect the D3 and D4 pins as Rx and Tx.
-With the uno I tried the digital pin 10 and 11 to be the Rx and Tx.

For both I did not have any reply for the AT command.

Any suggestions?

Any suggestions?

Post your program
Tell us what you are sending the AT commands to

I am using the examples:

/*
Software serial multple serial test

Receives from the hardware serial, sends to software serial.
Receives from software serial, sends to hardware serial.

The circuit:

  • RX is digital pin 10 (connect to TX of other device)
  • TX is digital pin 11 (connect to RX of other device)

Note:
Not all pins on the Mega and Mega 2560 support change interrupts,
so only the following can be used for RX:
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69

Not all pins on the Leonardo and Micro support change interrupts,
so only the following can be used for RX:
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

created back in the mists of time
modified 25 May 2012
by Tom Igoe
based on Mikal Hart's example

This example code is in the public domain.

*/
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

Serial.println("Goodnight moon!");

// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
mySerial.println("AT\r\n");
Serial.println("vou comunicar");
}

void loop() { // run over and over
Serial.println("loop:");
mySerial.write("AT\r\n");
if (mySerial.available()) {
Serial.println(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}

and

#include <SoftwareSerial.h>

SoftwareSerial swSer(3, 4, false, 256);

void setup() {
Serial.begin(9600);
swSer.begin(9600);

Serial.println("\nSoftware serial test started");

for (char ch = ' '; ch <= 'z'; ch++) {
swSer.write(ch);
}
swSer.println("");

}

void loop() {
swSer.write("AT\r\n");
while (swSer.available() > 0) {
Serial.write(swSer.read());
}
while (Serial.available() > 0) {
swSer.write(Serial.read());
}

}

What device are you sending the AT commands to and what type of serial interface does it have ?

I am trying to send to a BC95-G board.

I don't know what is the serial interface. But it is a Rx and Tx with a 3.0V power domain. If this is not what you asked please give me more information.

Thank you!

What type of serial interface does the device have ?
RS232 or TTL ?

Hi,
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Thanks.. Tom... :slight_smile:

UKHeliBob:
What type of serial interface does the device have ?
RS232 or TTL ?

I think it is a RS232 interface

TomGeorge:
Hi,
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Thanks.. Tom... :slight_smile:

I don't know how to draw eletronic circuits, this is my attempt:

I think it is a RS232 interface

In which case you cannot connect it to the TTL level interface of the Arduino and expect it to work. You need a level converter between the 2 devices. Search for RS232 on the forum. Plenty of people have had the problem in the past and solved it.

One of the problems, I think, is that you're usinga couple of 10K ohm resistors to bring the voltage level from the arduino down so that you won't damage your board.
Unfortunately, it does not work that way.

You need to use a 2 way level converter which shifts the voltage from the arduino down, but also shifts the voltage from the board up.

Do a google search for "level converter". The first few results will be relevant to your problem.

Hi,
OPs diagram, thanks.


Tom... :slight_smile:

Thank you, for your replies. I will try it and communicate the results

Thanks again!