Соединение AI A7 Thinker с Arduino
Я пытаюсь подключить свой A7 к Arduino Uno, но не могу найти способ связи с ним. Я много искал в Интернете, чтобы найти несколько схем, но ни одна из них не сработала. Вот моя фактическая установка:
ARDUINO A7
PIN 6 <=> URXD
PIN 7 <=> UTXD
GND <=> GND
5V <=> 5V
Вот код:
#include<SoftwareSerial.h>
SoftwareSerial myserial(6,7);//RX,TX
void setup() {
Serial.begin(9600);
myserial.begin(115200);
Serial.println("Starting...");
}
void loop() {
delay(1000);
myserial.println("AT");
Serial.println(myserial.read());
}
Я пытался подключить USB вместо 5V, оба, подключить контакт POWER или поменять местами 6 и 7, нажать кнопку питания, с разной задержкой, разной скоростью передачи данных, но я всегда получаю один и тот же вывод на моем компьютере. :
Starting...
-1
-1
-1
-1
...
Иногда он становится равным 0, когда я подключаю USB и нажимаю кнопку питания. Светодиод на A7 реагирует, когда я нажимаю кнопку, и иногда он включает цепь.
Я также попробовал это решение с очень простым кодом:
void setup() {
Serial.begin(115200);
}
void loop() {
}
Опять с разными скоростями передачи данных, но компилятор выдает ошибку:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
...
Поэтому я не знаю, что не так. Возможно, плата не работает, но это, скорее всего, моя ошибка, поэтому я прошу вашей помощи в решении этой головоломки.
Спасибо!
@Onoulade, 👍1
Обсуждение2 ответа
Сейчас я имею дело с точно такой же проблемой, пытаясь заставить свою работать. Единственная помощь, которую я могу дать до сих пор, заключается в том, что эта ошибка avrdude была решена для меня, когда я прекратил попытки загрузить код в uno с питанием a7. думаю, это связано с тем, что программатор использует одни и те же порты RX/TX.
Что такое А7? Это тип платы?, @CrossRoads
Вы сказали...
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
Эти ошибки возникают из-за того, что вы пытаетесь выполнить загрузку на Arduino, используя те же провода Tx/Rx, которые использует программное обеспечение и пытается загружать данные.
Возможное решение
Вам нужно выключить A7. Возможно, вытащите из него заземляющий провод, когда будете загружать свою программу. Есть альтернативы, которые делают это лучше, но дело в том, что A7 использует эти провода и держит их занятыми. Если A7 выключен, то загрузка должна работать. После загрузки повторно подключите заземляющий провод A7, чтобы он получил питание.
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- Модуль SIM808: команда определения местоположения GSM (AT+CIPGSMLOC=1,1) дает неверное значение после выполнения команды отправки сообщения (AT+CMGS=+91xxxxxxxx)
- последовательная передача данных на GPS-экране duinopeak
- Проблема в AT+CIPSEND(CTRL-Z) GPRS GMS A6
- GSM и GPS-модуль не работают вместе
- SIM800L не отвечает на AT-команды
- как заставить щит GPRS/GSM SIM900 работать с модулем gps neo-6M с помощью платы Arduino UNO
- GSM SIM900A Содержимое SMS не отображается
Я ничего не знаю об A7, но похоже, что у вас есть RxTx последовательного канала как 6 и 7 соответственно, а на A7 вы подключили 6 к Rx и 7 к Tx. Обычно, когда на плате есть вывод с маркировкой Tx, он означает **Его** вывод Tx, поэтому вы должны подключить вывод Tx A7 к 6, а Rx к 7. Программатор от ПК к Uno должен использовать выводы 0 и 1., @Code Gorilla
Довольно много людей используют A7 и Arduino и решают задачи по адресу: https://forum.arduino.cc/index.php?topic=445548.0., @raddevus